From 00c46f0b2d80fd7ecdf448f26783cb0059bd646c Mon Sep 17 00:00:00 2001 From: gaubansa Date: Thu, 20 Mar 2025 12:26:03 +0530 Subject: [PATCH 1/8] spec update for march 25 --- generator/cybersource-rest-spec.json | 219329 ++++++++++++------------ 1 file changed, 113823 insertions(+), 105506 deletions(-) diff --git a/generator/cybersource-rest-spec.json b/generator/cybersource-rest-spec.json index e494a3c6..a7b68a80 100644 --- a/generator/cybersource-rest-spec.json +++ b/generator/cybersource-rest-spec.json @@ -234,11 +234,7 @@ }, { "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" + "description": "- Manage your webhooks. This will allow for you to update existing webhooks, test webhooks, or delete them.\n" }, { "name": "Create and Update devices", @@ -1028,7 +1024,7 @@ "purposeOfPayment": { "type": "string", "maxLength": 25, - "description": "\nPossible values:\n- `16` : High Risk Security\n\nOther values can also be accommodated in future for different transactions.\n\nCurrently this field is only used in OCT, we could not find any existing valid values for the past 30 days in production.\nIssuer may decline invalid purpose of payment code with response code 93.\n\nThis field is also applicable for AFT transactions. For list of supported values, please refer to Developer Guide.\n" + "description": "This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide.\n" }, "languageCode": { "type": "string", @@ -7345,6 +7341,11 @@ "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" + }, + "delegatedAuthenticationResult": { + "type": "string", + "maxLength": 1, + "description": "This will be the value returned by Visanet when delegated authentication has been requested.\n" } } } @@ -10987,83450 +10988,31536 @@ } }, "parentTag": "MIT Framework" - } - } - } - }, - "/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", - "isMLEsupported": true - }, - "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" - }, - "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" - } + "example75": { + "summary": "1. Auth Bill MC Spa CIT Auth Reason Blank", + "sample-name": "1. Auth Bill MC Spa CIT Auth Reason Blank", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "TC01_01" + }, + "processingInformation": { + "commerceIndicator": "spa", + "capture": true, + "authorizationOptions": { + "initiator": { + "credentialStoredOnFile": true } + } + }, + "paymentInformation": { + "card": { + "number": "5188690467086204", + "expirationMonth": "12", + "expirationYear": "2040", + "securityCode": "123" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "100.00", + "currency": "USD" }, - "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" - } - } - } - } - } - } + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address1": "Auth_Bill_MC_Spa_CIT_Auth_Reason_Blank_Street", + "locality": "TestCity", + "administrativeArea": "CA", + "postalCode": "96162", + "country": "US", + "email": "test@visa.com", + "phoneNumber": "9999999999" }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "additionalAmount": { - "type": "string", - "maxLength": 19, - "description": "Additional charges that have to be authorized against a lodging or auto-rental order.\nThis value cannot be negative. You can include a decimal point (.), but no other special characters.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } + "shipTo": { + "firstName": "Olivia", + "lastName": "White", + "address1": "1295 Charleston Rd", + "address2": "Cube 2386", + "locality": "Mountain View", + "administrativeArea": "CA", + "postalCode": "94041", + "country": "AE", + "email": "null2@cybersource.com", + "phoneNumber": "650-965-6000" + } + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "MASTERCARD", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + }, + "merchantInformation": { + "merchantDescriptor": { + "submerchantId": "ABCDE1234567890", + "aggregatorId": "10046356" + } + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example76": { + "summary": "1. Auth Bill Retail Keyed AX", + "sample-name": "1. Auth Bill Retail Keyed AX", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "TC02_24" + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" }, - "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" - } - } + "billTo": { + "address1": "Auth_Bill_Retail_Keyed_AX", + "locality": "TestCity", + "administrativeArea": "CA", + "postalCode": "00000", + "country": "US", + "email": "test@visa.com", + "firstName": "Raghu24cp", + "lastName": "Krishnan", + "phoneNumber": "9999999999" }, - "travelInformation": { - "type": "object", - "properties": { - "duration": { - "type": "string", - "maxLength": 2, - "description": "Duration for which the vehicle was rented or lodge/hotel was booked.\n" - } + "invoiceDetails": { + "merchantDescriptor": { + "name": "Test Merchant", + "address1": "Merchant Street", + "locality": "Test City", + "administrativeArea": "CA", + "postalCode": "96162", + "country": "US", + "phoneNumber": "9999999999" } } }, - "example": { - "clientReferenceInformation": { - "code": "TC50171_3" + "paymentInformation": { + "card": { + "number": "377671320002630", + "expirationMonth": "12", + "expirationYear": "2040", + "securityCode": "123" + } + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE", + "commerceIndicator": "retail" + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail" + }, + "pointOfSaleInformation": { + "entryMode": "keyed", + "trackData": "%B372425119311008^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "Y", + "terminalCapability": "4" + }, + "merchantInformation": { + "merchantDescriptor": { + "name": "Test Merchant", + "address1": "Merchant Street", + "locality": "Test City", + "administrativeArea": "CA", + "postalCode": "96162", + "country": "US", + "phoneNumber": "9999999999" }, - "processingInformation": { - "authorizationOptions": { - "initiator": { - "storedCredentialUsed": true - } + "merchantId": "fildrop_vdcacpcaymannb", + "subMerchant": { + "id": "ABCDE1234567890", + "name": "Sub Merchant" + } + }, + "deviceInformation": { + "terminalId": "123", + "capability": { + "posEntryMode": "keyed", + "terminalCapability": "4" + } + }, + "processingOptions": { + "authorizationOptions": { + "initiator": { + "credentialStoredOnFile": true } + } + }, + "senderInformation": { + "referenceNumber": "7364259856903551938920", + "address": { + "address1": "Sender Address", + "locality": "Sender City", + "administrativeArea": "CA", + "country": "US" }, - "orderInformation": { - "amountDetails": { - "additionalAmount": "22.49", - "currency": "USD" + "name": "John" + }, + "clientInfo": { + "clientLibrary": { + "libraryName": "BellSoft", + "libraryVersion": "17.0.9", + "osName": "Linux", + "osVersion": "4.18.0-553.32.1.el8_10.x86_64", + "javaVersion": "5.3.4" + } + }, + "trackData": { + "track1": "%B372425119311008^TEST/CYBS ^4012121019761100 00868000000?;", + "track2": ";" + }, + "thirdPartyCertification": { + "number": "1.23457E+11" + } + }, + "parentTag": "Auth-Bill-Retail-Framework" + }, + "example77": { + "summary": "2. Auth Bill Retail Contact VI", + "sample-name": "2. Auth Bill Retail Contact VI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "aggregatorId": "10046356" + }, + "billTo": { + "address1": "Auth_Bill_Retail_Contact_VI", + "locality": "TestCity", + "country": "US", + "administrativeArea": "CA", + "postalCode": "00000" + }, + "processingInformation": { + "captureDate": "0711", + "cardPresent": true, + "commerceIndicator": "retail", + "terminalCapability": "4", + "thirdPartyCertificationNumber": "12345700000" + }, + "card": { + "type": "001", + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + }, + "clientReferenceInformation": { + "code": "TC02_07" + }, + "clientSoftwareInformation": { + "clientLibVersion": "BellSoft/17.0.9/Linux/4.18.0-553.32.1.el8_10.x86_64/-/Java/5.3.4" + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "98.50", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "firstName": "Raghu7cp", + "lastName": "Krishnan", + "phoneNumber": "9999999999" + }, + "shipTo": { + "name": "John" + }, + "invoiceDetails": { + "merchantDescriptor": { + "name": "Test Merchant", + "locality": "Test City", + "contact": "9999999999", + "country": "US", + "phoneNumber": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "street": "Merchant Street" } + } + }, + "pointOfSaleInformation": { + "entryMode": "contact", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;4111111111111111=24121019761186800000?", + "emv": { + "cardSequenceNumber": "123", + "combinedTags": "5F2A02084082021C005009496E7465726C696E6B9F1C0831363032313133339F0607A00000000330105F300202205F3401018407A0000000033010950580000480009A031409039B0268009C01009F02060000000020009F03060000000000009F0902008C9F100706010A03A010009F120706010A03A010009F1A0208409F1E0831363032313133339F26089C402634428CF8739F2701809F3303E0F8C89F34030203009F3501229F360200049F37047118AE3E" + } + }, + "senderInformation": { + "address1": "Sender Address", + "locality": "Sender City", + "country": "US", + "senderId": "ms_user" + }, + "merchantInformation": { + "merchantDescriptor": { + "name": "Test Merchant", + "locality": "Test City", + "contact": "9999999999", + "country": "US", + "phoneNumber": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "street": "Merchant Street" }, - "merchantInformation": { - "transactionLocalDateTime": 20191002080000 + "merchantId": "fildrop_vdcacpcaymannb", + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "requestId": "7364259685083551938920" + }, + "parentTag": "Auth-Bill-Retail-Framework" + }, + "example78": { + "summary": "1. Auth Bill Install AFT MC", + "sample-name": "1. Auth Bill Install AFT MC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "processingInformation": { + "capture": true, + "authorizationOptions": { + "aftIndicator": true }, - "travelInformation": { - "duration": "4" + "commerceIndicator": "install" + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "1064.00", + "currency": "USD", + "surchargeAmount": "123456.78", + "surchargeSign": "D" + }, + "billTo": { + "address1": "Auth_Bill_MC_Install_Street_AFT", + "address2": "Test Street 2", + "locality": "Emerald City", + "administrativeArea": "MI", + "postalCode": "48104-20", + "country": "US", + "firstName": "Big", + "lastName": "Bird", + "middleName": "Middle", + "email": "null@cybersource.com", + "phoneNumber": "999-999-9999" + }, + "shipTo": { + "address1": "recipientAddress1", + "address2": "recipientAddress2", + "locality": "recipientAddress1_addres2", + "postalCode": 571216, + "country": "GBR", + "firstName": "John", + "lastName": "Doe", + "middleName": "", + "buildingNumber": 266, + "streetName": "recipientSteet" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "merchantName": "aft_manmid_fit_US", + "merchantRefNumber": "CP09_AFT_3" } + }, + "paymentInformation": { + "card": { + "number": 5555555555554444, + "expirationMonth": 12, + "expirationYear": 2025, + "type": "002" + } + }, + "clientReferenceInformation": { + "code": 7.364259123003552e+21 + }, + "recipientInformation": { + "accountNumber": "98765432112377826427ABCDefgh1235wq", + "accountType": 99 + }, + "senderInformation": { + "accountNumber": 1.5426476537657613e+33, + "address": "testingaddresscharacterlength35char", + "locality": "testingcitycharacter25chr", + "administrativeArea": "ss", + "country": "GBR", + "firstName": "senderfirstname_senderfirstname_35C", + "lastName": "senderlastname_senderlastname@@_35D", + "middleName": "sendermiddlename_sendermiddlename35", + "name": "testingname_name_testing_test1", + "identificationNumber": 12345678910111214000, + "referenceNumber": 1542647653765767, + "personalIdType": "TXIN", + "type": "B" + }, + "deviceInformation": { + "clientLibraryVersion": "BellSoft/17.0.9/Linux/4.18.0-553.32.1.el8_10.x86_64/-/Java/5.3.4" + }, + "applicationInformation": { + "application": "ics_auth, ics_bill" + }, + "initiatorInformation": { + "type": "S" } - } - } - ], - "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." - } - } - } - } + }, + "parentTag": "AFT-Framework" + }, + "example79": { + "summary": "3. Auth Bill Retail Contactless VI", + "sample-name": "3. Auth Bill Retail Contactless VI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "aggregatorId": "10046356" + }, + "orderInformation": { + "billTo": { + "address1": "Auth_Bill_Retail_Contactless_VI", + "locality": "TestCity", + "country": "US", + "administrativeArea": "CA", + "postalCode": "00000", + "firstName": "Raghu1cp", + "lastName": "Krishnan", + "email": "test@visa.com", + "phoneNumber": "9999999999" }, - "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" + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" }, - "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" + "invoiceDetails": { + "merchantDescriptor": { + "name": "Test Merchant", + "locality": "Test City", + "contact": "9999999999", + "country": "US", + "phoneNumber": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "street": "Merchant Street" + } }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - AUTHORIZED\n - AUTHORIZED_PENDING_REVIEW\n - DECLINED\n" + "shipTo": { + "firstName": "John" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail", + "cardPresent": true, + "posEntryMode": "contactless", + "terminalCapability": "4", + "categoryCode": "1", + "thirdPartyCertificationNumber": "12345700000" + }, + "paymentInformation": { + "card": { + "number": "4761340000000019", + "expirationMonth": "12", + "expirationYear": "2025", + "securityCode": "123", + "type": "001", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;" }, - "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" + "emv": { + "cardSequenceNumber": "123", + "combinedTags": "5F2A02084082021C005009496E7465726C696E6B9F1C0831363032313133339F0607A00000000330105F300202205F3401018407A0000000033010950580000480009A031409039B0268009C01009F02060000000020009F03060000000000009F0902008C9F100706010A03A010009F120706010A03A010009F1A0208409F1E0831363032313133339F26089C402634428CF8739F2701809F3303E0F8C89F34030203009F3501229F360200049F37047118AE3E" + } + }, + "clientReferenceInformation": { + "code": "7364259605883551938920" + }, + "pointOfSaleInformation": { + "entryMode": "contactless", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;" + }, + "merchantInformation": { + "merchantId": "fildrop_vdcacpcaymannb", + "merchantReferenceNumber": "TC02_01" + }, + "recipientInformation": { + "name": "John" + }, + "senderInformation": { + "address": "Sender Address", + "locality": "Sender City", + "country": "US", + "id": "ms_user" + }, + "deviceInformation": { + "clientLibraryVersion": "BellSoft/17.0.9/Linux/4.18.0-553.32.1.el8_10.x86_64/-/Java/5.3.4" + }, + "applicationInformation": { + "application": "ics_auth" + }, + "subMerchant": { + "subMerchantId": "ABCDE1234567890" + } + }, + "parentTag": "Auth-Bill-Retail-Framework" + }, + "example80": { + "summary": "1. Auth Bill VBV VI", + "sample-name": "1. Auth Bill VBV VI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "billTo": { + "address1": "Auth_Bill_VI_VBV_Street", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address4": null, + "locality": "TestCity", + "country": "US", + "administrativeArea": "CA", + "postalCode": "96162" }, - "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" - } - } - } - } + "amountDetails": { + "currency": "USD", + "totalAmount": "6846.22" + }, + "invoiceDetails": { + "invoiceNumber": "TC01_01", + "merchantDescriptor": { + "name": "Test Merchant", + "address": "Merchant Street", + "locality": "Merchant City", + "country": "US", + "administrativeArea": "CA", + "postalCode": "96162", + "phoneNumber": "9999999999", + "contact": "9999999999" } }, + "shipTo": { + "address1": "1295 Charleston Rd", + "address2": "Cube 2386", + "locality": "Mountain View", + "country": "AE", + "administrativeArea": "CA", + "postalCode": "94041", + "email": "null2@cybersource.com", + "firstName": "Olivia", + "lastName": "White", + "phoneNumber": "650-965-6000" + }, + "recipientDetails": { + "recipientName": "Recipient Name" + }, + "senderInformation": { + "address": "Sender Address", + "locality": "Test city", + "country": "US", + "id": "ms_user", + "name": "John", + "administrativeArea": "CA" + }, "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" - } - } + "code": "TC01_01" + } + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationMonth": "12", + "expirationYear": "2040", + "number": "4183590332526103", + "securityCode": "123" + } + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE", + "xid": "12345678909876543210ABCDEabcdeABCDEF1234", + "ecommerceIndicator": "vbv" + }, + "clientLibraryInformation": { + "version": "BellSoft/17.0.9/Linux/4.18.0-553.32.1.el8_10.x86_64/-/Java/5.3.4" + }, + "merchantInformation": { + "merchantDescriptor": { + "name": "Test Merchant", + "address": "Merchant Street", + "locality": "Merchant City", + "country": "US", + "administrativeArea": "CA", + "postalCode": "96162", + "phoneNumber": "9999999999", + "contact": "9999999999" }, - "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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" - }, - "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" - }, - "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" - } - } - }, - "merchantRiskPrediction": { - "type": "string", - "maxLength": 150, - "description": "Mastercard is introducing the Merchant Risk Predict Service in the middle East/Africa Region.\nA newly launched service comprised of seven independent artificial intelligence (AI)-powered scores intended to augment existing merchant risk management practices.\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", - "maxLength": 36, - "description": "Indicates whether the transaction is eligible for seller protection. The values returned are described below.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n- `NOT_ELIGIBLE`\n" - }, - "disputeCategories": { - "type": "array", - "items": { - "type": "string" - }, - "description": "An array of conditions that are covered for the transaction.\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" - } - } - } - } + "merchantId": "fildrop_vdc4", + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "processingInformation": { + "captureDate": "0711", + "icsApplications": "ics_auth, ics_bill", + "capture": true + }, + "buyerInformation": { + "email": "test@visa.com", + "firstName": "John", + "lastName": "Doe", + "phoneNumber": "9999999999" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example81": { + "summary": "1. Auth Bill Lodging MC", + "sample-name": "1. Auth Bill Lodging MC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "aggregatorId": "00000123456", + "subMerchant": { + "administrativeArea": "CA", + "country": "US", + "email": "test@visa.com", + "id": "ABCDE1234567890", + "name": "fildrop_vdc4", + "postalCode": "96162", + "region": "NE" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "301", + "currency": "USD" }, - "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" - } - } - } - } + "billTo": { + "address1": "Auth_MC_Internet_Lodging_Duration_3", + "locality": "TestCity", + "administrativeArea": "CA", + "postalCode": "00000", + "country": "US", + "email": "test@visa.com", + "firstName": "Raghu24cp", + "lastName": "Krishnan", + "phoneNumber": "9999999999" }, - "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" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" - } - } - } + "invoiceDetails": { + "merchantDescriptor": { + "name": "Test Merchant", + "address1": "Merchant Street", + "locality": "Test City", + "administrativeArea": "CA", + "postalCode": "96162", + "country": "US", + "phoneNumber": "9999999999" } } }, - "example": { - "_links": { - "self": { - "href": "/pts/v2/payments/4963015972176007901546", - "method": "GET" + "purchaseTotals": { + "currency": "USD", + "grandTotalAmount": "301" + }, + "card": { + "expirationMonth": "12", + "expirationYear": "2040", + "number": "5480950023974102", + "cvNumber": "123", + "cardType": "002" + }, + "shipTo": { + "address1": "1295 Charleston Rd", + "address2": "Cube 2386", + "city": "Mountain View", + "country": "AE", + "email": "test@cybersource.com", + "firstName": "Olivia", + "lastName": "White", + "phoneNumber": "650-965-6000", + "state": "CA", + "postalCode": "94041" + }, + "paymentInformation": { + "card": { + "number": "5480950023974102", + "expirationMonth": "12", + "expirationYear": "2040", + "securityCode": "123" + } + }, + "merchantReferenceCode": "TC03_02", + "clientLibrary": { + "version": "BellSoft/17.0.9/Linux/4.18.0-553.32.1.el8_10.x86_64/-/Java/5.3.4" + }, + "industryDatatype": "lodging", + "merchantInformation": { + "merchantDescriptor": { + "name": "fildrop_vdc4" + } + }, + "ecpInformation": { + "indicator": "internet" + }, + "consumerAuthenticationInformation": { + "ucafAuthenticationData": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "emvRequest": { + "cardSequenceNumber": "1", + "combinedTags": "5F2A02084082021C005009496E7465726C696E6B9F1C0831363032313133339F0607A00000000330105F300202205F3401018407A0000000033010950580000480009A031409039B0268009C01009F02060000000020009F03060000000000009F0902008C9F100706010A03A010009F120706010A03A010009F1A0208409F1E0831363032313133339F26089C402634428CF8739F2701809F3303E0F8C89F34030203009F3501229F360200049F37047118AE3E" + } + }, + "salesOrganization": { + "id": "45890500000" + }, + "sender": { + "id": "ms_user" + }, + "terminalCapability": "1", + "trackData": "%B5100039901230025^TEST/CYBS ^4012121019761100 00868000000?;", + "icsApplications": [ + "ics_auth" + ], + "duration": "3", + "captureDate": "0711", + "cardPresent": "N", + "catLevel": "1", + "requestId": "7364259493973551938920" + }, + "parentTag": "Auth-Bill-Lodging-Framework" + }, + "example82": { + "summary": "1. Auth Bill Airline DC", + "sample-name": "1. Auth Bill Airline DC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "travelInformation": { + "transit": { + "airline": { + "legs": [ + { + "arrivalTimeMeridian": "P" + } + ], + "documentType": "A", + "customerCode": "1234567890", + "arrivalDate": "0711", + "carrierCode": "005", + "flightNumber": "123", + "class": "C", + "exchangeTicketNumber": "123456789012345", + "fareBasis": "Y", + "feeAmount": "50.00" } + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "515", + "currency": "USD" }, - "id": "4963015972176007901546", - "submitTimeUtc": "2017-06-01T071957Z", - "status": "200", - "reconciliationId": "39570726X3E1LBQR", - "clientReferenceInformation": { - "code": "TC50171_3" + "billTo": { + "address1": "Auth_Bill_Airline_DC_Internet_Street", + "address2": "TestStreet2", + "city": "TestCity", + "country": "US", + "state": "CA", + "postalCode": "96162", + "firstName": "FIVE6cnp", + "lastName": "test", + "email": "test@visa.com", + "phoneNumber": "9999999999" }, - "orderInformation": { - "amountDetails": { - "authorizedAmount": "22.49", - "currency": "USD" + "invoiceDetails": { + "merchantDescriptor": { + "name": "Test Merchant", + "address1": "Merchant Street", + "locality": "Test City", + "administrativeArea": "CA", + "postalCode": "96162", + "country": "US", + "phoneNumber": "9999999999" } - }, - "processorInformation": { - "approvalCode": "888888", - "responseCode": "100" } + }, + "shipTo": { + "address1": "1295 Charleston Rd", + "address2": "Cube 2386", + "city": "Mountain View", + "country": "AE", + "state": "CA", + "postalCode": "94041", + "firstName": "Olivia", + "lastName": "White", + "email": "null2@cybersource.com", + "phoneNumber": "650-965-6000" + }, + "card": { + "number": "3643899996001600", + "expirationMonth": "12", + "expirationYear": "2040", + "cvNumber": "123", + "cardType": "005", + "present": "Y", + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + }, + "purchaseTotals": { + "currency": "USD", + "grandTotalAmount": "515" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationMonth": "12", + "expirationYear": "2040", + "number": "3643899996001600", + "securityCode": "123" + } + }, + "icsApplications": "ics_auth", + "merchantID": "fildrop_vdc4", + "merchantReferenceNumber": "TC05_07", + "requestID": "7364259278873551938920", + "senderID": "ms_user", + "subMerchantID": "ABCDE1234567890", + "userPO": "USERPO1", + "trackData": "%B3643899996001600^TEST/CYBS ^231212101976110000868000000?;3643899996001600=20121210197611868000?", + "clientLibraryVersion": "BellSoft/17.0.9/Linux/4.18.0-553.32.1.el8_10.x86_64/-/Java/5.3.4", + "duration": "1", + "ecommerceIndicator": "internet", + "emv": { + "requestCombinedTags": "9F2607AB245F7DEE996C950445BCD4EF9F100706010A03A000009F5B0706010A03A000009C01EE9A032620129F33030A00CB9F1A0208409F370403A000AB9F36020002820256BF9F02065678341243829F6E04ABCDF06F9F2701AB9F340356BF679F090200349F4104000000039F0702ABC09F061110010A03A00008010A03A00008010A03A0911110010A03A00008010A03010A03A0000801" } - } - }, - "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" + }, + "parentTag": "Auth-Bill-Airline-Framework" + }, + "example83": { + "summary": "2. Auth Bill DC Moto", + "sample-name": "2. Auth Bill DC Moto", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "183", + "currency": "USD" }, - "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" + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DC_Moto_Street" }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_115" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example84": { + "summary": "1. Pin Debit MC Retail Contact", + "sample-name": "1. Pin Debit MC Retail Contact", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "paymentInformation": { + "card": { + "expirationYear": "2025" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "320.00", + "currency": "USD" }, - "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" - } - } - } + "billTo": { + "address1": "Pin_Debit_MC_Retail_Contact" + } + }, + "clientReferenceInformation": { + "code": "33557799" + }, + "pointOfSaleInformation": { + "cardPresent": "Y", + "terminalCapability": "1", + "encryptedKeySerialNumber": "FFFF1B1D140000000005", + "catLevel": "1", + "entryMode": "contact", + "encryptedPin": "52F20658C04DB351", + "trackData": ";4111111111111111=33121019761186800000?", + "emv": { + "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" } + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true } - } - }, - "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" + }, + "parentTag": "Pin-Debit-Framework" + }, + "example85": { + "summary": "1. Auth Bill Internet VI Purchase Level 3", + "sample-name": "1. Auth Bill Internet VI Purchase Level 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "processingInformation": { + "purchaseLevel": "3", + "commerceIndicator": "internet", + "capture": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "400", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "freightAmount": "5.85", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" + } }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Internet_VI_Purchase_Level_3_Street" }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" + "shippingDetails": { + "shipFromPostalCode": "94404-5674" }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC04_01" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4761340000000019", + "expirationMonth": "12", + "securityCode": "123" } + }, + "merchantInformation": { + "cardAcceptorReferenceNumber": "ABC12#PC" } - } - } - }, - "x-example": { - "example0": { - "summary": "Incremental Authorization", - "sample-name": "Incremental Authorization", + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example86": { + "summary": "2. Auth AX Internet Lodging", + "sample-name": "2. Auth AX Internet Lodging", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "300", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_AX_Internet_Lodging_Duration_3_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B377678000174340^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N", + "emv": { + "cardSequenceNumber": "1" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, "clientReferenceInformation": { - "code": "TC50171_3" + "code": "TC03_03" }, - "processingInformation": { - "authorizationOptions": { - "initiator": { - "storedCredentialUsed": true - } + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "123" } }, + "processingInformation": { + "industryDataType": "lodging", + "commerceIndicator": "internet", + "capture": true + } + }, + "parentTag": "Auth-Bill-Lodging-Framework" + }, + "example87": { + "summary": "2. Auth Bill Airline AX Internet", + "sample-name": "2. Auth Bill Airline AX Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { "orderInformation": { "amountDetails": { - "additionalAmount": "22.49", + "totalAmount": "500", "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "FIVE4cnp", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Airline_AX_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" } }, - "merchantInformation": { - "transactionLocalDateTime": 20191002080000 + "installmentInformation": { + "sequence": "10", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC05_05" }, "travelInformation": { - "duration": "4" + "transit": { + "airline": { + "ticketIssuer": { + "address": "issuer address" + } + } + }, + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "N" } - } - } - } - } - }, - "/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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" - }, - "transactionId": { - "type": "string", - "maxLength": 30, - "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" - } - } + }, + "parentTag": "Auth-Bill-Airline-Framework" + }, + "example88": { + "summary": "3. Auth Bill Airline DI", + "sample-name": "3. Auth Bill Airline DI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "503", + "currency": "USD" }, - "reversalInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - }, - "reason": { - "type": "string", - "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "FIVE5cnp", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Airline_DI_Internet_Street" }, - "processingInformation": { - "type": "object", - "properties": { - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" - }, - "linkId": { - "type": "string", - "maxLength": 26, - "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" - }, - "reportGroup": { - "type": "string", - "maxLength": 25, - "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - }, - "issuer": { - "type": "object", - "properties": { - "discretionaryData": { - "type": "string", - "maxLength": 255, - "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" - } - } - }, - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", - "items": { - "type": "string" - } - }, - "transactionTypeIndicator": { - "type": "string", - "maxLength": 3, - "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "serviceFeeAmount": { - "type": "string", - "maxLength": 15, - "description": "Service fee. Required for service fee transactions.\n" - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - } - } - } + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "installmentInformation": { + "sequence": "10", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC05_06" + }, + "travelInformation": { + "transit": { + "airline": { + "ticketIssuer": { + "address": "issuer address" } } }, - "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" - } - } - } - } + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "Auth-Bill-Airline-Framework" + }, + "example89": { + "summary": "4. Auth Bill Airline VI", + "sample-name": "4. Auth Bill Airline VI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "500", + "currency": "USD" }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Identifier for the payment type\n" - } - } - } - } - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "FIVE1cnp", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Airline_VI_VBV_Street" }, - "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." - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" } }, - "example": { - "clientReferenceInformation": { - "code": "TC50171_3", - "transactionId": "code" + "installmentInformation": { + "sequence": "10", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" }, - "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." - } - } + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC05_01" + }, + "travelInformation": { + "transit": { + "airline": { + "ticketIssuer": { + "address": "issuer address" } } }, - "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" + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590114593107", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "vbv", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "Auth-Bill-Airline-Framework" + }, + "example90": { + "summary": "5. Auth Bill Airline MC", + "sample-name": "5. Auth Bill Airline MC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "503", + "currency": "USD" }, - "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" + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "FIVE2cnp", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Airline_MC_Install_Street" }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - REVERSED\n" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "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" + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "installmentInformation": { + "sequence": "10", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" }, - "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" + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC05_04" + }, + "travelInformation": { + "transit": { + "airline": { + "ticketIssuer": { + "address": "issuer address" } } }, - "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.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5480950023974102", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "Auth-Bill-Airline-Framework" + }, + "example91": { + "summary": "6. Auth Bill Airline JC", + "sample-name": "6. Auth Bill Airline JC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "515", + "currency": "USD" }, - "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" - }, - "networkTransactionId": { - "type": "string", - "description": "Same value as `processorInformation.transactionId`" - }, - "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" - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "FIVE3cnp", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Airline_JC_Internet_Street" }, - "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" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC05_02" + }, + "travelInformation": { + "transit": { + "airline": { + "ticketIssuer": { + "address": "issuer address" } } }, - "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" - } - } - } - } + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" } }, - "example": { - "_links": { - "self": { - "href": "/pts/v2/reversals/4963015523026180001545", - "method": "GET" - } - }, - "id": "4963015523026180001545", - "submitTimeUtc": "2017-06-01T071912Z", - "status": "200", - "statusInformation": { - "reason": "SUCCESS", - "message": "Successful transaction." + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "Y" + } + }, + "parentTag": "Auth-Bill-Airline-Framework" + }, + "example92": { + "summary": "3. Auth Bill AX AESK", + "sample-name": "3. Auth Bill AX AESK", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" }, - "clientReferenceInformation": { - "code": "TC50171_3" + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_AX_AESK_Street" }, - "orderInformation": { - "amountDetails": { - "currency": "USD" - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_04" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "1234" + } + }, + "processingInformation": { + "commerceIndicator": "aesk", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example93": { + "summary": "4. Auth Bill AX Install", + "sample-name": "4. Auth Bill AX Install", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90", + "currency": "USD" }, - "processorInformation": { - "responseCode": "100" + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_AX_Install_Street" }, - "reversalAmountDetails": { - "reversedAmount": "102.21", - "currency": "USD" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "installmentInformation": { + "sequence": "1", + "planId": "1", + "frequency": "M", + "identifier": "1", + "planType": "1" + }, + "clientReferenceInformation": { + "code": "TC01_10" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "1234" } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } - } - }, - "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" + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example94": { + "summary": "5. Auth Bill AX Internet", + "sample-name": "5. Auth Bill AX Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9024.3", + "currency": "USD" }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_AX_Internet_Street" }, - "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" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_16" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "1234" + } + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example95": { + "summary": "6. Auth Bill AX Moto", + "sample-name": "6. Auth Bill AX Moto", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "186", + "currency": "USD" }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_AX_Moto_Street" }, - "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" - } - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_118" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "1234" } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } - } - }, - "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" + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example96": { + "summary": "7. Auth Bill AX Recurring", + "sample-name": "7. Auth Bill AX Recurring", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_AX_Recurring_Street" }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." + "amountDetails": { + "currency": "USD" + } + }, + "clientReferenceInformation": { + "code": "TC01_112" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "1234" } + }, + "processingInformation": { + "commerceIndicator": "recurring", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } - } - } - }, - "x-example": { - "example0": { - "summary": "Process an Authorization Reversal", + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example97": { + "summary": "8. Auth Bill DC Install", + "sample-name": "8. Auth Bill DC Install", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "146", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DC_Install_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "installmentInformation": { + "sequence": "1", + "planId": "1", + "frequency": "M", + "identifier": "1", + "planType": "1" + }, "clientReferenceInformation": { - "code": "TC50171_3" + "code": "TC01_09" }, - "reversalInformation": { - "reason": "testing", - "amountDetails": { - "totalAmount": "102.21" + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } }, - "depends": { - "example": { - "path": "/pts/v2/payments", - "verb": "post", - "exampleId": "example0" + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example98": { + "summary": "9. Auth Bill DC Internet", + "sample-name": "9. Auth Bill DC Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9024.3", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DC_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } }, - "fieldMapping": [ - { - "sourceField": "id", - "destinationField": "id", - "fieldTypeInDestination": "path" + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" } - ] - } - }, - "example1": { - "summary": "Service Fees Authorization Reversal", - "value": { + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, "clientReferenceInformation": { - "code": "TC50171_3" + "code": "TC01_15" }, - "reversalInformation": { - "reason": "34", + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example99": { + "summary": "10. Auth Bill DC PB", + "sample-name": "10. Auth Bill DC PB", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { "amountDetails": { - "totalAmount": "2325.00", - "serviceFeeAmount": "30.0" + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DC_PB_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_03" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" } + }, + "processingInformation": { + "commerceIndicator": "pb", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } }, - "depends": { - "example": { - "path": "/pts/v2/payments", - "verb": "post", - "exampleId": "example14" + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example100": { + "summary": "11. Auth Bill DC Recurring", + "sample-name": "11. Auth Bill DC Recurring", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } }, - "fieldMapping": [ - { - "sourceField": "id", - "destinationField": "id", - "fieldTypeInDestination": "path" + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" } - ] - } - } - } - } - }, - "/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, - "isMLEsupported": 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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DC_Recurring_Street" }, - "reversalInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - }, - "reason": { - "type": "string", - "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "processingInformation": { - "type": "object", - "properties": { - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" - }, - "linkId": { - "type": "string", - "maxLength": 26, - "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" - }, - "reportGroup": { - "type": "string", - "maxLength": 25, - "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - }, - "issuer": { - "type": "object", - "properties": { - "discretionaryData": { - "type": "string", - "maxLength": 255, - "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" - } - } - }, - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", - "items": { - "type": "string" - } - }, - "transactionTypeIndicator": { - "type": "string", - "maxLength": 3, - "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" - } - } + "amountDetails": { + "currency": "USD" + } + }, + "clientReferenceInformation": { + "code": "TC01_109" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "recurring", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example101": { + "summary": "12. Auth Bill DI DIPB", + "sample-name": "12. Auth Bill DI DIPB", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "serviceFeeAmount": { - "type": "string", - "maxLength": 15, - "description": "Service fee. Required for service fee transactions.\n" - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - } - } - } - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DI_DIPB_Street" }, - "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" - } - } - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" } }, - "example": { - "clientReferenceInformation": { - "transactionId": "" + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_06" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "dipb", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example102": { + "summary": "13. Auth Bill DI Install", + "sample-name": "13. Auth Bill DI Install", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "146", + "currency": "USD" }, - "reversalInformation": { - "reason": "testing", - "amountDetails": { - "totalAmount": "102.21" - } + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DI_Install_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "installmentInformation": { + "sequence": "1", + "planId": "1", + "frequency": "M", + "identifier": "1", + "planType": "1" + }, + "clientReferenceInformation": { + "code": "TC01_12" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } - } - } - ], - "x-example": { - "example0": { - "summary": "Timeout Reversal", + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example103": { + "summary": "14. Auth Bill DI Internet", + "sample-name": "14. Auth Bill DI Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9024.3", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DI_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, "clientReferenceInformation": { - "transactionId": "" + "code": "TC01_18" }, - "reversalInformation": { - "reason": "testing", + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example104": { + "summary": "15. Auth Bill DI Moto", + "sample-name": "15. Auth Bill DI Moto", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { "amountDetails": { - "totalAmount": "102.21" + "totalAmount": "185", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DI_Moto_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_117" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } - } - } - }, - "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." - } - } - } - } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example105": { + "summary": "16. Auth Bill DI Recurring", + "sample-name": "16. Auth Bill DI Recurring", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_DI_Recurring_Street" }, - "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" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "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" + "amountDetails": { + "currency": "USD" + } + }, + "clientReferenceInformation": { + "code": "TC01_111" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "recurring", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example106": { + "summary": "1. Auth Bill DC DCC", + "sample-name": "2. Auth Bill DC DCC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "17581", + "originalCurrency": "USD", + "originalAmount": "151", + "exchangeRate": "260.01", + "currency": "USD" }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - REVERSED\n" + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Install_DC_DCC_Street" }, - "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" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "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" - } + "amountdetails": { + "currencyConversion": { + "indicator": "1" } + } + }, + "pointOfSaleInformation": { + "emv": { + "cardholderVerificationMethodUsed": "2", + "cardSequenceNumber": "123" }, - "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.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } + "cardPresent": "Y" + }, + "installmentInformation": { + "sequence": "2", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "020000000005999" + } + }, + "clientReferenceInformation": { + "code": "TC01_D17" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "36070500001012", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "paymentSolution": "mpos", + "capture": true + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-DCC-Framework" + }, + "example107": { + "summary": "2. Auth Bill JC DCC", + "sample-name": "2. Auth Bill JC DCC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "17581", + "originalCurrency": "USD", + "originalAmount": "151", + "exchangeRate": "260.01", + "currency": "USD" }, - "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" - }, - "networkTransactionId": { - "type": "string", - "description": "Same value as `processorInformation.transactionId`" - }, - "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" - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Install_JC_DCC_Street" }, - "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" - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "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" - } + "amountdetails": { + "currencyConversion": { + "indicator": "1" } + } + }, + "pointOfSaleInformation": { + "emv": { + "cardholderVerificationMethodUsed": "2", + "cardSequenceNumber": "123" }, - "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" - } - } - } - } + "cardPresent": "Y" + }, + "installmentInformation": { + "sequence": "2", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "020000000005999" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_D14" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" } }, - "example": { - "_links": { - "self": { - "href": "/pts/v2/reversals/4963015523026180001545", - "method": "GET" - } + "processingInformation": { + "commerceIndicator": "install", + "paymentSolution": "mpos", + "capture": true + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + }, + "parentTag": "Auth-Bill-DCC-Framework" + } + }, + "example108": { + "summary": "3. Auth Bill MC DCC", + "sample-name": "3. Auth Bill MC DCC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "17581", + "originalCurrency": "USD", + "originalAmount": "151", + "exchangeRate": "116.4344", + "currency": "USD" }, - "id": "4963015523026180001545", - "submitTimeUtc": "2017-06-01T071912Z", - "status": "200", - "statusInformation": { - "reason": "SUCCESS", - "message": "Successful transaction." + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Install_MC_DCC_Street" }, - "clientReferenceInformation": { - "code": "TC50171_3" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "orderInformation": { - "amountDetails": { - "currency": "USD" + "amountdetails": { + "currencyConversion": { + "indicator": "1" } + } + }, + "pointOfSaleInformation": { + "emv": { + "cardholderVerificationMethodUsed": "2", + "cardSequenceNumber": "123" }, - "processorInformation": { - "responseCode": "100" + "cardPresent": "Y" + }, + "installmentInformation": { + "sequence": "2", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "020000000005999" }, - "reversalAmountDetails": { - "reversedAmount": "102.21", - "currency": "USD" + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC01_D12" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" } + }, + "processingInformation": { + "commerceIndicator": "install", + "paymentSolution": "mpos", + "capture": true + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" } - } - }, - "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" + }, + "parentTag": "Auth-Bill-DCC-Framework" + }, + "example109": { + "summary": "4. Auth Bill VI DCC", + "sample-name": "4. Auth Bill VI DCC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "17581", + "originalCurrency": "USD", + "originalAmount": "151", + "exchangeRate": "116.4344", + "currency": "USD" }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Install_VI_DCC_Street" }, - "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" + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." + "amountdetails": { + "currencyConversion": { + "indicator": "1" + } + } + }, + "pointOfSaleInformation": { + "emv": { + "cardholderVerificationMethodUsed": "2", + "cardSequenceNumber": "123" }, - "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" - } - } + "cardPresent": "Y" + }, + "installmentInformation": { + "sequence": "2", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "555555555555555" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_D11" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "paymentSolution": "mpos", + "capture": true + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-DCC-Framework" + }, + "example110": { + "summary": "2. Auth Bill MC Purchase Level 2", + "sample-name": "2. Auth Bill MC Purchase Level 2", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "401", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "freightAmount": "5.85", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" } + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Internet_MC_Purchase_Level_2_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC04_02" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5100039901230025", + "expirationMonth": "12", + "securityCode": "123" } + }, + "merchantInformation": { + "cardAcceptorReferenceNumber": "ABC12#PC", + "salesOrganizationId": "45890500000" + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true } - } - }, - "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" + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example111": { + "summary": "3. Auth Bill MC Purchase Level 3", + "sample-name": "3. Auth Bill MC Purchase Level 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "processingInformation": { + "purchaseLevel": "3", + "commerceIndicator": "internet", + "capture": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "401", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "freightAmount": "5.85", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" + } }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Internet_MC_Purchase_Level_3_Street" }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" + "shippingDetails": { + "shipFromPostalCode": "94404-5674" }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC04_02" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5100039901230025", + "expirationMonth": "12", + "securityCode": "123" } + }, + "merchantInformation": { + "cardAcceptorReferenceNumber": "ABC12#PC", + "salesOrganizationId": "45890500000" } - } - } - } - } - }, - "/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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example112": { + "summary": "4. Auth Bill VI Purchase Level 2", + "sample-name": "4. Auth Bill VI Purchase Level 2", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "400", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "freightAmount": "5.85", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" } }, - "processingInformation": { - "type": "object", - "properties": { - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" - }, - "linkId": { - "type": "string", - "maxLength": 26, - "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" - }, - "reportGroup": { - "type": "string", - "maxLength": 25, - "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - }, - "purchaseLevel": { - "type": "string", - "maxLength": 1, - "description": "Set this field to 3 to indicate that the request includes Level III data." - }, - "industryDataType": { - "type": "string", - "maxLength": 20, - "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" - }, - "issuer": { - "type": "object", - "properties": { - "discretionaryData": { - "type": "string", - "maxLength": 255, - "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" - } - } - }, - "authorizationOptions": { - "type": "object", - "properties": { - "authType": { - "type": "string", - "maxLength": 15, - "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" - }, - "verbalAuthCode": { - "type": "string", - "maxLength": 7, - "description": "Authorization code.\n\n#### Forced Capture\nUse this field to send the authorization code you received from a payment that you authorized\noutside the CyberSource system.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit purchase.\n\n#### Verbal Authorization\nUse this field in CAPTURE API to send the verbally received authorization code.\n" - }, - "verbalAuthTransactionId": { - "type": "string", - "maxLength": 15, - "description": "Transaction ID (TID).\n\n#### FDMS South\nThis field is required for verbal authorizations and forced captures with the American Express card type to comply\nwith the CAPN requirements:\n- Forced capture: Obtain the value for this field from the authorization response.\n- Verbal authorization: You cannot obtain a value for this field so CyberSource uses the default value of `000000000000000` (15\nzeros).\n" - } - } - }, - "captureOptions": { - "type": "object", - "properties": { - "captureSequenceNumber": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n" - }, - "totalCaptureCount": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n" - }, - "isFinal": { - "type": "string", - "maxLength": 5, - "description": "Indicates whether to release the authorization hold on the remaining funds. \nPossible Values:\n- `true`\n- `false`\n" - }, - "notes": { - "type": "string", - "maxLength": 255, - "description": "An informational note about this settlement. Appears in both the payer's transaction history and the emails that the payer receives.\n" - }, - "reconciliationIdAlternate": { - "type": "string", - "maxLength": 12, - "description": "Used by Nike merchant to send 12 digit order number" - } - } - }, - "loanOptions": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 20, - "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" - }, - "assetType": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" - } - } - }, - "payByPointsIndicator": { - "type": "boolean", - "description": "Flag that indicates if the transaction is pay by points transaction\ntrue: Transaction uses loyalty points\nfalse: Transaction does not use loyalty points\nDefault: false\n" - }, - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the capture to invoke bundled services along with capture.\n\nPossible values :\n\n - `AP_CAPTURE`: Use this when Alternative Payment Capture service is requested.\n", - "items": { - "type": "string" - } - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Internet_VI_Purchase_Level_2_Street" }, - "paymentInformation": { - "type": "object", - "properties": { - "customer": { - "type": "object", - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "card": { - "type": "object", - "properties": { - "sourceAccountType": { - "type": "string", - "maxLength": 20, - "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" - }, - "sourceAccountTypeDetails": { - "type": "string", - "maxLength": 4, - "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" - } - } - }, - "paymentType": { - "type": "object", - "properties": { - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, 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" - } - } - } - } - } - } + "shippingDetails": { + "shipFromPostalCode": "94404-5674" }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 15, - "description": "Total discount amount applied to the order.\n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 15, - "description": "Total charges for any import or export duties included in the order.\n" - }, - "gratuityAmount": { - "type": "string", - "maxLength": 13, - "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount for all the items in the order.\n" - }, - "nationalTaxIncluded": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" - }, - "taxAppliedLevel": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 3, - "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" - }, - "freightAmount": { - "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "foreignAmount": { - "type": "string", - "maxLength": 15, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "foreignCurrency": { - "type": "string", - "maxLength": 5, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "exchangeRate": { - "type": "string", - "maxLength": 13, - "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" - }, - "exchangeRateTimeStamp": { - "type": "string", - "maxLength": 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" - }, - "amount": { - "type": "string", - "maxLength": 12, - "description": "Additional amount. This field is supported only for **American Express Direct**.\n" - } - } - } - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - }, - "serviceFeeAmount": { - "type": "string", - "maxLength": 15, - "description": "Service fee. Required for service fee transactions.\n" - }, - "originalCurrency": { - "type": "string", - "maxLength": 15, - "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" - }, - "cashbackAmount": { - "type": "string", - "maxLength": 13, - "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" - } - } - }, - "billTo": { - "type": "object", - "properties": { - "title": { - "type": "string", - "maxLength": 60, - "description": "Title.\n" - }, - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "middleName": { - "type": "string", - "maxLength": 60, - "description": "Customer's middle name.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "company": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" - }, - "address1": { - "type": "string", - "maxLength": 40, - "description": "First line in the street address of the company purchasing the product." - }, - "address2": { - "type": "string", - "maxLength": 40, - "description": "Additional address information for the company purchasing the product." - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "City in the address of the company purchasing the product." - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - } - } - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "district": { - "type": "string", - "maxLength": 50, - "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - }, - "county": { - "type": "string", - "maxLength": 50, - "description": "U.S. county if available." - }, - "country": { - "type": "string", - "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 2 - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "email": { - "type": "string", - "description": "Email of the recipient.", - "maxLength": 255 - }, - "county": { - "type": "string", - "description": "U.S. county if available.", - "maxLength": 50 - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productSku": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "unitOfMeasure": { - "type": "string", - "maxLength": 12, - "description": "Unit of measure, or unit of measure code, for the item.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" - }, - "taxStatusIndicator": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "amountIncludesTax": { - "type": "boolean", - "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "typeOfSupply": { - "type": "string", - "maxLength": 2, - "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 15, - "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountApplied": { - "type": "boolean", - "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "invoiceNumber": { - "type": "string", - "maxLength": 23, - "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - }, - "fulfillmentType": { - "type": "string", - "description": "Information about the product code used for the line item.\nPossible values:\n- `E`: The product code is `electronic_software`.\n- `P`: The product code is not `electronic_software`.\n\nFor details, see the `fulfillmentType` field description in [Business Center Reporting User Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/reporting_and_reconciliation/Reporting_User/html/)\n" - }, - "weight": { - "type": "string", - "maxLength": 9, - "description": "Weight of the item.\n" - }, - "weightIdentifier": { - "type": "string", - "maxLength": 1, - "description": "Type of weight.\n\nPossible values:\n- B: Billed weight\n- N: Actual net weight\n" - }, - "weightUnit": { - "type": "string", - "maxLength": 2, - "description": "Code that specifies the unit of measurement for the weight amount. For example, `OZ` specifies ounce and `LB` specifies pound. The possible values are defined by the ANSI Accredited Standards Committee (ASC).\n" - }, - "referenceDataCode": { - "type": "string", - "maxLength": 150, - "description": "Code that identifies the value of the corresponding `orderInformation.lineItems[].referenceDataNumber` field.\n\nPossible values:\n- AN: Client-defined asset code\n- MG: Manufacturer's part number\n- PO: Purchase order number\n- SK: Supplier stock keeping unit number\n- UP: Universal product code\n- VC: Supplier catalog number\n- VP: Vendor part number\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" - }, - "referenceDataNumber": { - "type": "string", - "maxLength": 30, - "description": "Reference number.\n\nThe meaning of this value is identified by the value of the corresponding `referenceDataCode` field.\nSee Numbered Elements.\n\nThe maximum length for this field depends on the value of the corresponding `referenceDataCode` field:\n- When the code is `PO`, the maximum length for the reference number is 22.\n- When the code is `VC`, the maximum length for the reference number is 20.\n- For all other codes, the maximum length for the reference number is 30.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" - }, - "unitTaxAmount": { - "type": "string", - "maxLength": 15, - "description": "Per-item tax amount of the product.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point.\n" - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - }, - "giftCardCurrency": { - "type": "integer", - "maxLength": 3, - "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" - }, - "shippingDestinationTypes": { - "type": "string", - "maxLength": 50, - "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" - }, - "gift": { - "type": "boolean", - "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" - }, - "passenger": { - "type": "object", - "description": "Contains travel-related passenger details used by DM service only.", - "properties": { - "type": { - "type": "string", - "maxLength": 32, - "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" - }, - "status": { - "type": "string", - "maxLength": 32, - "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" - }, - "phone": { - "type": "string", - "maxLength": 15, - "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Passenger's first name." - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Passenger's last name." - }, - "id": { - "type": "string", - "maxLength": 40, - "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." - }, - "nationality": { - "type": "string", - "maxLength": 2, - "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." - } - } - }, - "allowedExportCountries": { - "type": "array", - "items": { - "type": "string", - "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" - } - }, - "restrictedExportCountries": { - "type": "array", - "items": { - "type": "string", - "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" - } - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "purchaseOrderNumber": { - "type": "string", - "maxLength": 50, - "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" - }, - "purchaseOrderDate": { - "type": "string", - "maxLength": 10, - "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" - }, - "purchaseContactName": { - "type": "string", - "maxLength": 36, - "description": "The name of the individual or the company contacted for company authorized purchases.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "vatInvoiceReferenceNumber": { - "type": "string", - "maxLength": 15, - "description": "VAT invoice number associated with the transaction.\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 4, - "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" - }, - "transactionAdviceAddendum": { - "type": "array", - "items": { - "type": "object", - "properties": { - "data": { - "type": "string", - "maxLength": 40, - "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" - } - } - } - } - } - }, - "shippingDetails": { - "type": "object", - "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" - } - } - } - } + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" }, - "buyerInformation": { - "type": "object", - "properties": { - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 20, - "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" - }, - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "gender": { - "type": "string", - "maxLength": 3, - "description": "Customer's gender. Possible values are F (female), M (male),O (other)." - }, - "language": { - "type": "string", - "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - } + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC04_01" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4761340000000019", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "merchantInformation": { + "cardAcceptorReferenceNumber": "ABC12#PC" + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example113": { + "summary": "17. Auth Bill JC Install", + "sample-name": "17. Auth Bill JC Install", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "146", + "currency": "USD" }, - "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" - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_JC_Install_Street" }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "alternateName": { - "type": "string", - "maxLength": 13, - "description": "An alternate name for the merchant.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of merchant's address.\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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" - }, - "categoryCode": { - "type": "integer", - "maximum": 9999, - "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 21, - "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" - }, - "serviceFeeDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 22, - "description": "Name of the service provider that is collecting the service fee. The service provider name must consist of\n3, 7, or 12 characters followed by an asterisk (*). This value must also include the words \"Service Fee.\"\n\nWhen you include more than one consecutive space, extra spaces are removed. Use one of the following formats\nfor this value:\n- <3-character name>*Service Fee\n- <7-character name>*Service Fee\n- <12-character name>*Service Fee\n\nWhen payments are made in installments, this value must also include installment information such as\n\"1 of 5\" or \"3 of 7.\" For installment payments, use one of the following formats for this value:\n- <3-character name>*Service Fee* of \n- <7-character name>*Service Fee* of \n- <12-character name>*Service Fee* of \n\nwhere is the payment number and is the total number of payments.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource\naccount.\n\nThis value might be displayed on the cardholder's statement.\n" - }, - "contact": { - "type": "string", - "maxLength": 11, - "description": "Contact information for the service provider that is collecting the service fee. when you include more than one\nconsecutive space, extra spaces are removed.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" - }, - "state": { - "type": "string", - "maxLength": 20, - "description": "State or territory in which the service provider is located.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" - } - } - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" }, - "aggregatorInformation": { - "type": "object", - "properties": { - "aggregatorId": { - "type": "string", - "maxLength": 20, - "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "name": { - "type": "string", - "maxLength": 37, - "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "subMerchant": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 37, - "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" - }, - "address1": { - "type": "string", - "maxLength": 38, - "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "locality": { - "type": "string", - "maxLength": 21, - "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "email": { - "type": "string", - "maxLength": 40, - "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" - }, - "id": { - "type": "string", - "maxLength": 20, - "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" - } - } - } - } + "aggregatorId": "10046356" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" }, - "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" - } - } + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "installmentInformation": { + "sequence": "1", + "planId": "1", + "frequency": "M", + "identifier": "1", + "planType": "1" + }, + "clientReferenceInformation": { + "code": "TC01_11" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example114": { + "summary": "18. Auth Bill JC Internet", + "sample-name": "18. Auth Bill JC Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9024.3", + "currency": "USD" }, - "merchantDefinedInformation": { - "type": "array", - "description": "The object containing the custom data that the merchant defines.\n", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string", - "maxLength": 50, - "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_JC_Internet_Street" }, - "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" - } - } + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" }, - "installmentInformation": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "maxLength": 13, - "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n" - }, - "frequency": { - "type": "string", - "maxLength": 1, - "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n" - }, - "planType": { - "type": "string", - "maxLength": 1, - "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" - }, - "sequence": { - "type": "integer", - "maximum": 999, - "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n" - }, - "totalCount": { - "type": "integer", - "maximum": 999, - "description": "Total number of installments when making payments in installments.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "firstInstallmentDate": { - "type": "string", - "maxLength": 6, - "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" - }, - "firstInstallmentAmount": { - "type": "string", - "maxLength": 13, - "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n" - }, - "invoiceData": { - "type": "string", - "maxLength": 20, - "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n" - }, - "paymentType": { - "type": "string", - "maxLength": 1, - "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" - }, - "additionalCosts": { - "type": "string", - "maxLength": 12, - "description": "Additional costs charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 128-139\n- Field: Total Other Costs\n" - }, - "additionalCostsPercentage": { - "type": "string", - "maxLength": 4, - "description": "Additional costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 140-143\n- Field: Percent of Total Other Costs\n" - }, - "amountFunded": { - "type": "string", - "maxLength": 12, - "description": "Amount funded.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 48-59\n- Field: Total Amount Funded\n" - }, - "amountRequestedPercentage": { - "type": "string", - "maxLength": 4, - "description": "Amount requested divided by the amount funded.\n\nFor example:\n- A value of 90.0 specifies 90%.\n- A value of 93.7 specifies 93.7%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 60-63\n- Field: Percent of Amount Requested\n" - }, - "annualFinancingCost": { - "type": "string", - "maxLength": 7, - "description": "Annual cost of financing the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 158-164\n- Field: Annual Total Cost of Financing\n" - }, - "annualInterestRate": { - "type": "string", - "maxLength": 7, - "description": "Annual interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 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\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 64-75\n- Field: Total Expenses\n" - }, - "expensesPercentage": { - "type": "string", - "maxLength": 4, - "description": "Expenses divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 76-79\n- Field: Percent of Total Expenses\n" - }, - "fees": { - "type": "string", - "maxLength": 12, - "description": "Fees charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 80-91\n- Field: Total Fees\n" - }, - "feesPercentage": { - "type": "string", - "maxLength": 4, - "description": "Fees divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 92-95\n- Field: Percent of Total Fees\n" - }, - "insurance": { - "type": "string", - "maxLength": 12, - "description": "Insurance charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 112-123\n- Field: Total Insurance\n" - }, - "insurancePercentage": { - "type": "string", - "maxLength": 4, - "description": "Insurance costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 124-127\n- Field: Percent Of Total Insurance\n" - }, - "monthlyInterestRate": { - "type": "string", - "maxLength": 7, - "description": "Monthly interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 144-150\n- Field: Monthly Interest Rate\n" - }, - "taxes": { - "type": "string", - "maxLength": 12, - "description": "Taxes collected by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 96-107\n- Field: Total Taxes\n" - }, - "taxesPercentage": { - "type": "string", - "maxLength": 4, - "description": "Taxes divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 108-111\n- Field: Percent of Total Taxes\n" - } - } + "aggregatorId": "10046356" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" }, - "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" - }, - "providerResponse": { - "type": "string", - "description": "Processor response to the API request.\n" - }, - "updateTimeUtc": { - "type": "string", - "description": "The date and time when the transaction was last updated, in Internet date and time format.\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.\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" - } - } - }, - "embeddedActions": { - "type": "object", - "properties": { - "ap_capture": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "The reason why the captured payment status is PENDING or DENIED.\nBUYER_COMPLAINT\tThe payer initiated a dispute for this captured payment with processor.\nCHARGEBACK\tThe captured funds were reversed in response to the payer disputing this captured payment with the issuer of the financial instrument used to pay for this captured payment.\nECHECK\tThe payer paid by an eCheck that has not yet cleared.\nINTERNATIONAL_WITHDRAWAL\tVisit your online account. In your Account Overview, accept and deny this payment.\nOTHER\tNo additional specific reason can be provided. For more information about this captured payment, visit your account online or contact processor.\nPENDING_REVIEW\tThe captured payment is pending manual review.\nRECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION\tThe payee has not yet set up appropriate receiving preferences for their account. For more information about how to accept or deny this payment, visit your account online. This reason is typically offered in scenarios such as when the currency of the captured payment is different from the primary holding currency of the payee.\nREFUNDED\tThe captured funds were refunded.\nTRANSACTION_APPROVED_AWAITING_FUNDING\tThe payer must send the funds for this captured payment. This code generally appears for manual EFTs.\nUNILATERAL\tThe payee does not have a processor account.\nVERIFICATION_REQUIRED\tThe payee's processor account is not verified.\nString with values,\n `BUYER_COMPLAINT`\n `CHARGEBACK`\n `ECHECK`\n `INTERNATIONAL_WITHDRAWAL`\n `OTHER`\n `PENDING_REVIEW`\n `RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION`\n `REFUNDED`\n `TRANSACTION_APPROVED_AWAITING_FUNDING`\n `UNILATERAL`\n `VERIFICATION_REQUIRED`\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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", - "items": { - "type": "string" - } - }, - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" - }, - "linkId": { - "type": "string", - "maxLength": 26, - "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" - }, - "reportGroup": { - "type": "string", - "maxLength": 25, - "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - }, - "purchaseLevel": { - "type": "string", - "maxLength": 1, - "description": "Set this field to 3 to indicate that the request includes Level III data." - }, - "recurringOptions": { - "type": "object", - "properties": { - "loanPayment": { - "type": "boolean", - "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", - "default": false - } - } - }, - "industryDataType": { - "type": "string", - "maxLength": 20, - "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" - }, - "paymentType": { - "type": "string", - "description": "Identifier for the payment type" - }, - "refundOptions": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "The reason for the refund." - } - } - }, - "transactionTypeIndicator": { - "type": "string", - "maxLength": 3, - "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" - } - } - }, - "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" - } - } - }, - "bank": { - "type": "object", - "properties": { - "account": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 1, - "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" - }, - "number": { - "type": "string", - "maxLength": 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" - }, - "checkNumber": { - "type": "string", - "maxLength": 8, - "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" - }, - "checkImageReferenceNumber": { - "type": "string", - "maxLength": 32, - "description": "Image reference number associated with the check. You cannot include any special characters.\n" - } - } - }, - "routingNumber": { - "type": "string", - "maxLength": 9, - "description": "Bank routing number. This is also called the _transit number_.\n" - }, - "iban": { - "type": "string", - "maxLength": 50, - "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" - }, - "swiftCode": { - "type": "string", - "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" - } - } - }, - "tokenizedCard": { - "type": "object", - "properties": { - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "securityCodeIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" - }, - "assuranceMethod": { - "type": "string", - "maxLength": 2, - "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" - } - } - }, - "fluidData": { - "type": "object", - "properties": { - "keySerialNumber": { - "type": "string", - "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" - }, - "descriptor": { - "type": "string", - "maxLength": 128, - "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" - }, - "value": { - "type": "string", - "maxLength": 4000, - "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" - }, - "encoding": { - "type": "string", - "maxLength": 6, - "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" - } - } - }, - "customer": { - "type": "object", - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentInstrument": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "instrumentIdentifier": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 12, - "maxLength": 32 - } - } - }, - "shippingAddress": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "legacyToken": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - }, - "eWallet": { - "type": "object", - "properties": { - "fundingSource": { - "type": "string", - "maxLength": 30, - "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" - } - } - }, - "paymentAccountReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 32, - "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN.\nIt identifies the card account, not just a card. PAR is a non-payment identifier that can be associated\nto PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single,\nnon-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder\nidentification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\nPAR has a well-defined format (as per the Jan 2016 EMVCo documentation):\n" - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 15, - "description": "Total discount amount applied to the order.\n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 15, - "description": "Total charges for any import or export duties included in the order.\n" - }, - "gratuityAmount": { - "type": "string", - "maxLength": 13, - "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount for all the items in the order.\n" - }, - "nationalTaxIncluded": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" - }, - "taxAppliedLevel": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 3, - "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" - }, - "freightAmount": { - "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "foreignAmount": { - "type": "string", - "maxLength": 15, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "foreignCurrency": { - "type": "string", - "maxLength": 5, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "exchangeRate": { - "type": "string", - "maxLength": 13, - "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" - }, - "exchangeRateTimeStamp": { - "type": "string", - "maxLength": 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" - }, - "amount": { - "type": "string", - "maxLength": 12, - "description": "Additional amount. This field is supported only for **American Express Direct**.\n" - } - } - } - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - }, - "serviceFeeAmount": { - "type": "string", - "maxLength": 15, - "description": "Service fee. Required for service fee transactions.\n" - }, - "originalCurrency": { - "type": "string", - "maxLength": 15, - "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" - }, - "cashbackAmount": { - "type": "string", - "maxLength": 13, - "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" - } - } - }, - "billTo": { - "type": "object", - "properties": { - "title": { - "type": "string", - "maxLength": 60, - "description": "Title.\n" - }, - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "middleName": { - "type": "string", - "maxLength": 60, - "description": "Customer's middle name.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "company": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" - }, - "address1": { - "type": "string", - "maxLength": 40, - "description": "First line in the street address of the company purchasing the product." - }, - "address2": { - "type": "string", - "maxLength": 40, - "description": "Additional address information for the company purchasing the product." - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "City in the address of the company purchasing the product." - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - } - } - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "district": { - "type": "string", - "maxLength": 50, - "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - }, - "county": { - "type": "string", - "maxLength": 50, - "description": "U.S. county if available." - }, - "country": { - "type": "string", - "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 2 - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "email": { - "type": "string", - "description": "Email of the recipient.", - "maxLength": 255 - }, - "county": { - "type": "string", - "description": "U.S. county if available.", - "maxLength": 50 - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productSku": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "unitOfMeasure": { - "type": "string", - "maxLength": 12, - "description": "Unit of measure, or unit of measure code, for the item.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" - }, - "taxStatusIndicator": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "amountIncludesTax": { - "type": "boolean", - "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "typeOfSupply": { - "type": "string", - "maxLength": 2, - "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 15, - "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountApplied": { - "type": "boolean", - "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "invoiceNumber": { - "type": "string", - "maxLength": 23, - "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "purchaseOrderNumber": { - "type": "string", - "maxLength": 50, - "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" - }, - "purchaseOrderDate": { - "type": "string", - "maxLength": 10, - "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" - }, - "purchaseContactName": { - "type": "string", - "maxLength": 36, - "description": "The name of the individual or the company contacted for company authorized purchases.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "vatInvoiceReferenceNumber": { - "type": "string", - "maxLength": 15, - "description": "VAT invoice number associated with the transaction.\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 4, - "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" - }, - "transactionAdviceAddendum": { - "type": "array", - "items": { - "type": "object", - "properties": { - "data": { - "type": "string", - "maxLength": 40, - "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" - } - } - } - } - } - }, - "shippingDetails": { - "type": "object", - "properties": { - "shipFromPostalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" - } - } - } - } - }, - "buyerInformation": { - "type": "object", - "properties": { - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 20, - "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" - }, - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "gender": { - "type": "string", - "maxLength": 3, - "description": "Customer's gender. Possible values are F (female), M (male),O (other)." - }, - "language": { - "type": "string", - "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "maxLength": 60, - "description": "DNS resolved hostname from `ipAddress`." - }, - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "userAgent": { - "type": "string", - "maxLength": 40, - "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "alternateName": { - "type": "string", - "maxLength": 13, - "description": "An alternate name for the merchant.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of merchant's address.\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 21, - "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" - }, - "cardAcceptorReferenceNumber": { - "type": "string", - "maxLength": 25, - "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" - } - } - }, - "aggregatorInformation": { - "type": "object", - "properties": { - "aggregatorId": { - "type": "string", - "maxLength": 20, - "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "name": { - "type": "string", - "maxLength": 37, - "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "subMerchant": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 37, - "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" - }, - "address1": { - "type": "string", - "maxLength": 38, - "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "locality": { - "type": "string", - "maxLength": 21, - "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "email": { - "type": "string", - "maxLength": 40, - "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" - }, - "id": { - "type": "string", - "maxLength": 20, - "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" - } - } - } - } - }, - "pointOfSaleInformation": { - "type": "object", - "properties": { - "emv": { - "type": "object", - "properties": { - "tags": { - "type": "string", - "maxLength": 1998, - "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" - }, - "fallback": { - "type": "boolean", - "maxLength": 5, - "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" - } - } - }, - "terminalCategory": { - "type": "string", - "maxLength": 3, - "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" - } - } - }, - "merchantDefinedInformation": { - "type": "array", - "description": "The object containing the custom data that the merchant defines.\n", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string", - "maxLength": 50, - "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "travelInformation": { - "type": "object", - "properties": { - "duration": { - "type": "string", - "maxLength": 2, - "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" - }, - "agency": { - "type": "object", - "properties": { - "code": { - "type": "string", - "maxLength": 8, - "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" - }, - "name": { - "type": "string", - "maxLength": 25, - "description": "Name of travel agency that made the reservation.\n" - } - } - }, - "autoRental": { - "type": "object", - "properties": { - "noShowIndicator": { - "type": "boolean", - "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" - }, - "customerName": { - "type": "string", - "maxLength": 40, - "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" - }, - "vehicleClass": { - "type": "string", - "maxLength": 4, - "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" - }, - "distanceTravelled": { - "type": "string", - "maxLength": 5, - "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" - }, - "distanceUnit": { - "type": "string", - "maxLength": 1, - "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" - }, - "returnDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "rentalDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "maxFreeDistance": { - "type": "string", - "maxLength": 4, - "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" - }, - "insuranceIndicator": { - "type": "boolean", - "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" - }, - "programCode": { - "type": "string", - "maxLength": 2, - "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" - }, - "returnAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City where the auto was returned to the rental agency.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" - }, - "address1": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's street address.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the return address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" - } - } - }, - "rentalAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" - }, - "address1": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "address2": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" - } - } - }, - "agreementNumber": { - "type": "string", - "maxLength": 25, - "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" - }, - "odometerReading": { - "type": "string", - "maxLength": 8, - "description": "Odometer reading at time of vehicle rental.\n" - }, - "vehicleIdentificationNumber": { - "type": "string", - "maxLength": 20, - "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" - }, - "companyId": { - "type": "string", - "maxLength": 12, - "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" - }, - "numberOfAdditionalDrivers": { - "type": "string", - "maxLength": 1, - "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" - }, - "driverAge": { - "type": "string", - "maxLength": 3, - "description": "Age of the driver renting the vehicle.\n" - }, - "specialProgramCode": { - "type": "string", - "maxLength": 2, - "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" - }, - "vehicleMake": { - "type": "string", - "maxLength": 10, - "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" - }, - "vehicleModel": { - "type": "string", - "maxLength": 10, - "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" - }, - "timePeriod": { - "type": "string", - "maxLength": 7, - "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 15, - "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" - }, - "customerServicePhoneNumber": { - "type": "string", - "maxLength": 17, - "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" - }, - "taxDetails": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - }, - "taxType": { - "type": "string", - "maxLength": 10, - "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" - }, - "taxSummary": { - "type": "string", - "maxLength": 12, - "description": "Summary of all tax types\n" - } - } - }, - "insuranceAmount": { - "type": "string", - "maxLength": 12, - "description": "Insurance charges.\nField is conditional and can include decimal point.\n" - }, - "oneWayDropOffAmount": { - "type": "string", - "maxLength": 12, - "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" - }, - "adjustedAmountIndicator": { - "type": "string", - "maxLength": 1, - "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" - }, - "adjustedAmount": { - "type": "string", - "maxLength": 12, - "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" - }, - "fuelCharges": { - "type": "string", - "maxLength": 12, - "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" - }, - "weeklyRentalRate": { - "type": "string", - "maxLength": 12, - "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" - }, - "dailyRentalRate": { - "type": "string", - "maxLength": 12, - "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" - }, - "ratePerMile": { - "type": "string", - "maxLength": 12, - "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" - }, - "mileageCharge": { - "type": "string", - "maxLength": 12, - "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" - }, - "extraMileageCharge": { - "type": "string", - "maxLength": 12, - "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" - }, - "lateFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" - }, - "towingCharge": { - "type": "string", - "maxLength": 4, - "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" - }, - "extraCharge": { - "type": "string", - "maxLength": 12, - "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" - }, - "gpsCharge": { - "type": "string", - "maxLength": 12, - "description": "Amount charged for renting a Global Positioning Service (GPS).\n" - }, - "phoneCharge": { - "type": "string", - "maxLength": 12, - "description": "Additional charges incurred for phone usage included on the total bill.\n" - }, - "parkingViolationCharge": { - "type": "string", - "maxLength": 12, - "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" - }, - "otherCharges": { - "type": "string", - "maxLength": 12, - "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" - }, - "companyName": { - "type": "string", - "maxLength": 50, - "description": "Merchant to send their auto rental company name\n" - }, - "affiliateName": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the affiliate name.\n" - } - } - }, - "lodging": { - "type": "object", - "properties": { - "checkInDate": { - "type": "string", - "maxLength": 6, - "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" - }, - "checkOutDate": { - "type": "string", - "maxLength": 6, - "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" - }, - "room": { - "type": "array", - "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", - "items": { - "type": "object", - "properties": { - "dailyRate": { - "type": "string", - "maxLength": 8, - "description": "Daily cost of the room.\n" - }, - "numberOfNights": { - "type": "integer", - "minimum": 1, - "maximum": 9999, - "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" - } - } - } - }, - "smokingPreference": { - "type": "string", - "maxLength": 1, - "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" - }, - "numberOfRooms": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Number of rooms booked by the cardholder.\n" - }, - "numberOfGuests": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Number of guests staying in the room.\n" - }, - "roomBedType": { - "type": "string", - "maxLength": 12, - "description": "Type of room, such as queen, king, or two doubles.\n" - }, - "roomTaxType": { - "type": "string", - "maxLength": 10, - "description": "Type of tax, such as tourist or hotel.\n" - }, - "roomRateType": { - "type": "string", - "maxLength": 12, - "description": "Type of rate, such as corporate or senior citizen.\n" - }, - "guestName": { - "type": "string", - "maxLength": 40, - "description": "Name of the guest under which the room is reserved.\n" - }, - "customerServicePhoneNumber": { - "type": "string", - "maxLength": 17, - "description": "Your toll-free customer service phone number.\n" - }, - "corporateClientCode": { - "type": "string", - "maxLength": 17, - "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" - }, - "additionalDiscountAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of an additional coupon or discount.\n" - }, - "roomLocation": { - "type": "string", - "maxLength": 10, - "description": "Location of room, such as lake view or ocean view.\n" - }, - "specialProgramCode": { - "type": "string", - "maxLength": 1, - "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" - }, - "totalTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount.\n" - }, - "prepaidCost": { - "type": "string", - "maxLength": 12, - "description": "Prepaid amount, such as a deposit.\n" - }, - "foodAndBeverageCost": { - "type": "string", - "maxLength": 12, - "description": "Cost for all food and beverages.\n" - }, - "roomTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax for the room.\n" - }, - "adjustmentAmount": { - "type": "string", - "maxLength": 12, - "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" - }, - "phoneCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of telephone services.\n" - }, - "restaurantCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of restaurant purchases\n" - }, - "roomServiceCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of room service.\n" - }, - "miniBarCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of mini-bar purchases.\n" - }, - "laundryCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of laundry services.\n" - }, - "miscellaneousCost": { - "type": "string", - "maxLength": 12, - "description": "Miscellaneous costs.\n" - }, - "giftShopCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of gift shop purchases.\n" - }, - "movieCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of movies.\n" - }, - "healthClubCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of health club services.\n" - }, - "valetParkingCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of valet parking services.\n" - }, - "cashDisbursementCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of the cash that was disbursed plus any associated service fees\n" - }, - "nonRoomCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of non-room purchases, such as meals and gifts.\n" - }, - "businessCenterCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of business center services.\n" - }, - "loungeBarCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of lounge and bar purchases.\n" - }, - "transportationCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of transportation services.\n" - }, - "gratuityAmount": { - "type": "string", - "maxLength": 12, - "description": "Gratuity.\n" - }, - "conferenceRoomCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of conference room services.\n" - }, - "audioVisualCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of audio visual services.\n" - }, - "banquestCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of banquet services.\n" - }, - "nonRoomTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Tax on non-room purchases.\n" - }, - "earlyCheckOutCost": { - "type": "string", - "maxLength": 12, - "description": "Service fee for early departure.\n" - }, - "internetAccessCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of Internet access.\n" - }, - "name": { - "type": "string", - "maxLength": 255, - "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" - }, - "hotelName": { - "type": "string", - "description": "The name of the hotel for which the reservation was made.\n" - }, - "checkInDateTime": { - "type": "string", - "description": "The date of the check-in in GMT+8 offset.\n" - }, - "checkOutDateTime": { - "type": "string", - "description": "The date of the check-out in GMT+8 offset.\n" - } - } - }, - "transit": { - "type": "object", - "properties": { - "airline": { - "type": "object", - "properties": { - "isDomestic": { - "type": "string", - "maxLength": 255, - "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" - }, - "bookingReferenceNumber": { - "type": "string", - "maxLength": 15, - "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" - }, - "carrierName": { - "type": "string", - "maxLength": 15, - "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" - }, - "ticketIssuer": { - "type": "object", - "properties": { - "code": { - "type": "string", - "maxLength": 4, - "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" - }, - "name": { - "type": "string", - "maxLength": 20, - "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" - }, - "address": { - "type": "string", - "maxLength": 16, - "description": "Address of the company issuing the ticket.\n" - }, - "locality": { - "type": "string", - "maxLength": 18, - "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 18, - "description": "State in which transaction occured.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Zip code of the city in which transaction occured.\n" - }, - "country": { - "type": "string", - "maxLength": 18, - "description": "Country in which transaction occured.\n" - } - } - }, - "ticketNumber": { - "type": "string", - "maxLength": 15, - "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "checkDigit": { - "type": "string", - "maxLength": 1, - "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" - }, - "restrictedTicketIndicator": { - "type": "integer", - "maxLength": 1, - "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "transactionType": { - "type": "integer", - "maxLength": 2, - "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" - }, - "extendedPaymentCode": { - "type": "string", - "maxLength": 3, - "description": "The field is not currently supported.\n" - }, - "passengerName": { - "type": "string", - "maxLength": 42, - "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" - }, - "customerCode": { - "type": "string", - "maxLength": 40, - "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "documentType": { - "type": "string", - "maxLength": 1, - "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" - }, - "documentNumber": { - "type": "string", - "maxLength": 14, - "description": "The field is not currently supported.\n" - }, - "documentNumberOfParts": { - "type": "integer", - "maxLength": 4, - "description": "The field is not currently supported.\n" - }, - "invoiceNumber": { - "type": "string", - "maxLength": 25, - "description": "Invoice number for the airline transaction.\n" - }, - "invoiceDate": { - "type": "integer", - "maxLength": 8, - "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" - }, - "additionalCharges": { - "type": "string", - "maxLength": 20, - "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" - }, - "totalFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" - }, - "clearingSequence": { - "type": "string", - "maxLength": 2, - "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" - }, - "clearingCount": { - "type": "string", - "maxLength": 2, - "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" - }, - "totalClearingAmount": { - "type": "string", - "maxLength": 20, - "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" - }, - "numberOfPassengers": { - "type": "integer", - "maxLength": 3, - "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" - }, - "reservationSystemCode": { - "type": "string", - "maxLength": 20, - "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "processIdentifier": { - "type": "string", - "maxLength": 3, - "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" - }, - "ticketIssueDate": { - "type": "string", - "maxLength": 8, - "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" - }, - "electronicTicketIndicator": { - "type": "boolean", - "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" - }, - "originalTicketNumber": { - "type": "string", - "maxLength": 14, - "description": "Original ticket number when the transaction is for a replacement ticket.\n" - }, - "purchaseType": { - "type": "string", - "maxLength": 3, - "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" - }, - "creditReasonIndicator": { - "type": "string", - "maxLength": 1, - "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" - }, - "ticketChangeIndicator": { - "type": "string", - "maxLength": 1, - "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" - }, - "planNumber": { - "type": "string", - "maxLength": 1, - "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" - }, - "arrivalDate": { - "type": "string", - "maxLength": 8, - "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" - }, - "restrictedTicketDesciption": { - "type": "string", - "maxLength": 20, - "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" - }, - "exchangeTicketAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" - }, - "exchangeTicketFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" - }, - "reservationType": { - "type": "string", - "maxLength": 32, - "description": "The field is not currently supported.\n" - }, - "boardingFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Boarding fee.\n" - }, - "legs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "carrierCode": { - "type": "string", - "maxLength": 4, - "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "flightNumber": { - "type": "string", - "maxLength": 6, - "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "originatingAirportCode": { - "type": "string", - "maxLength": 5, - "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "class": { - "type": "string", - "maxLength": 3, - "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "stopoverIndicator": { - "type": "integer", - "maxLength": 1, - "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "departureDate": { - "type": "integer", - "maxLength": 8, - "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "destinationAirportCode": { - "type": "string", - "maxLength": 3, - "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "fareBasis": { - "type": "string", - "maxLength": 15, - "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" - }, - "departTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of departure tax for this leg of the trip.\n" - }, - "conjunctionTicket": { - "type": "string", - "maxLength": 25, - "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "exchangeTicketNumber": { - "type": "string", - "maxLength": 25, - "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "couponNumber": { - "type": "string", - "maxLength": 1, - "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "departureTime": { - "type": "integer", - "maxLength": 4, - "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "departureTimeMeridian": { - "type": "string", - "maxLength": 1, - "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "arrivalTime": { - "type": "integer", - "maxLength": 4, - "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "arrivalTimeMeridian": { - "type": "string", - "maxLength": 1, - "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "endorsementsRestrictions": { - "type": "string", - "maxLength": 20, - "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "totalFareAmount": { - "type": "string", - "maxLength": 15, - "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "feeAmount": { - "type": "string", - "maxLength": 12, - "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" - } - } - } - }, - "ancillaryInformation": { - "type": "object", - "properties": { - "ticketNumber": { - "type": "string", - "maxLength": 15, - "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" - }, - "passengerName": { - "type": "string", - "maxLength": 20, - "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" - }, - "connectedTicketNumber": { - "type": "string", - "maxLength": 15, - "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" - }, - "creditReasonIndicator": { - "type": "string", - "maxLength": 15, - "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" - }, - "service": { - "type": "array", - "items": { - "type": "object", - "properties": { - "categoryCode": { - "type": "string", - "maxLength": 4, - "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" - }, - "subCategoryCode": { - "type": "string", - "maxLength": 4, - "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" - } - } - } - } - } - }, - "flightType": { - "type": "string", - "maxLength": 2, - "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" - }, - "insuranceAmount": { - "type": "string", - "maxLength": 255, - "description": "The total cost of the flight insurance. Example: 10000.00\n" - }, - "frequentFlyerNumber": { - "type": "string", - "maxLength": 255, - "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" - }, - "thirdPartyStatus": { - "type": "string", - "maxLength": 255, - "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" - }, - "passengerType": { - "type": "string", - "maxLength": 50, - "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" - }, - "totalInsuranceAmount": { - "type": "string", - "maxLength": 50, - "description": "Total insurance amount. We have per leg and not total\n" - } - } - } - } - }, - "vehicleData": { - "type": "object", - "properties": { - "connectorType": { - "type": "string", - "maxLength": 3, - "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" - }, - "chargingReasonCode": { - "type": "string", - "maxLength": 3, - "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" - } - } - } - } - }, - "promotionInformation": { - "type": "object", - "properties": { - "additionalCode": { - "type": "string", - "maxLength": 12, - "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" - }, - "code": { - "type": "string", - "maxLength": 12, - "description": "Code for a promotion or discount.\n" - } - } - } - }, - "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" - }, - "achVerification": { - "type": "object", - "properties": { - "resultCode": { - "type": "string", - "maxLength": 2, - "description": "Results from the ACH verification service.\n" - }, - "resultCodeRaw": { - "type": "string", - "maxLength": 10, - "description": "Raw results from the ACH verification service.\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" - }, - "updateTimeUtc": { - "type": "string", - "description": "The date and time when the transaction was last updated, in Internet date and time format.\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" - }, - "foreignAmount": { - "type": "string", - "maxLength": 15, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "foreignCurrency": { - "type": "string", - "maxLength": 5, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - } - } - }, - "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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", - "items": { - "type": "string" - } - }, - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" - }, - "linkId": { - "type": "string", - "maxLength": 26, - "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" - }, - "reportGroup": { - "type": "string", - "maxLength": 25, - "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - }, - "purchaseLevel": { - "type": "string", - "maxLength": 1, - "description": "Set this field to 3 to indicate that the request includes Level III data." - }, - "recurringOptions": { - "type": "object", - "properties": { - "loanPayment": { - "type": "boolean", - "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", - "default": false - } - } - }, - "industryDataType": { - "type": "string", - "maxLength": 20, - "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" - }, - "paymentType": { - "type": "string", - "description": "Identifier for the payment type" - }, - "refundOptions": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "The reason for the refund." - } - } - }, - "transactionTypeIndicator": { - "type": "string", - "maxLength": 3, - "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" - } - } - }, - "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" - } - } - }, - "bank": { - "type": "object", - "properties": { - "account": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 1, - "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" - }, - "number": { - "type": "string", - "maxLength": 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" - }, - "checkNumber": { - "type": "string", - "maxLength": 8, - "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" - }, - "checkImageReferenceNumber": { - "type": "string", - "maxLength": 32, - "description": "Image reference number associated with the check. You cannot include any special characters.\n" - } - } - }, - "routingNumber": { - "type": "string", - "maxLength": 9, - "description": "Bank routing number. This is also called the _transit number_.\n" - }, - "iban": { - "type": "string", - "maxLength": 50, - "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" - }, - "swiftCode": { - "type": "string", - "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" - } - } - }, - "tokenizedCard": { - "type": "object", - "properties": { - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "securityCodeIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" - }, - "assuranceMethod": { - "type": "string", - "maxLength": 2, - "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" - } - } - }, - "fluidData": { - "type": "object", - "properties": { - "keySerialNumber": { - "type": "string", - "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" - }, - "descriptor": { - "type": "string", - "maxLength": 128, - "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" - }, - "value": { - "type": "string", - "maxLength": 4000, - "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" - }, - "encoding": { - "type": "string", - "maxLength": 6, - "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" - } - } - }, - "customer": { - "type": "object", - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentInstrument": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "instrumentIdentifier": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 12, - "maxLength": 32 - } - } - }, - "shippingAddress": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "legacyToken": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - }, - "eWallet": { - "type": "object", - "properties": { - "fundingSource": { - "type": "string", - "maxLength": 30, - "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" - } - } - }, - "paymentAccountReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 32, - "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN.\nIt identifies the card account, not just a card. PAR is a non-payment identifier that can be associated\nto PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single,\nnon-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder\nidentification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\nPAR has a well-defined format (as per the Jan 2016 EMVCo documentation):\n" - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 15, - "description": "Total discount amount applied to the order.\n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 15, - "description": "Total charges for any import or export duties included in the order.\n" - }, - "gratuityAmount": { - "type": "string", - "maxLength": 13, - "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount for all the items in the order.\n" - }, - "nationalTaxIncluded": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" - }, - "taxAppliedLevel": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 3, - "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" - }, - "freightAmount": { - "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "foreignAmount": { - "type": "string", - "maxLength": 15, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "foreignCurrency": { - "type": "string", - "maxLength": 5, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "exchangeRate": { - "type": "string", - "maxLength": 13, - "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" - }, - "exchangeRateTimeStamp": { - "type": "string", - "maxLength": 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" - }, - "amount": { - "type": "string", - "maxLength": 12, - "description": "Additional amount. This field is supported only for **American Express Direct**.\n" - } - } - } - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - }, - "serviceFeeAmount": { - "type": "string", - "maxLength": 15, - "description": "Service fee. Required for service fee transactions.\n" - }, - "originalCurrency": { - "type": "string", - "maxLength": 15, - "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" - }, - "cashbackAmount": { - "type": "string", - "maxLength": 13, - "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" - } - } - }, - "billTo": { - "type": "object", - "properties": { - "title": { - "type": "string", - "maxLength": 60, - "description": "Title.\n" - }, - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "middleName": { - "type": "string", - "maxLength": 60, - "description": "Customer's middle name.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "company": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" - }, - "address1": { - "type": "string", - "maxLength": 40, - "description": "First line in the street address of the company purchasing the product." - }, - "address2": { - "type": "string", - "maxLength": 40, - "description": "Additional address information for the company purchasing the product." - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "City in the address of the company purchasing the product." - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - } - } - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "district": { - "type": "string", - "maxLength": 50, - "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - }, - "county": { - "type": "string", - "maxLength": 50, - "description": "U.S. county if available." - }, - "country": { - "type": "string", - "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 2 - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "email": { - "type": "string", - "description": "Email of the recipient.", - "maxLength": 255 - }, - "county": { - "type": "string", - "description": "U.S. county if available.", - "maxLength": 50 - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productSku": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "unitOfMeasure": { - "type": "string", - "maxLength": 12, - "description": "Unit of measure, or unit of measure code, for the item.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" - }, - "taxStatusIndicator": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "amountIncludesTax": { - "type": "boolean", - "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "typeOfSupply": { - "type": "string", - "maxLength": 2, - "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 15, - "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountApplied": { - "type": "boolean", - "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "invoiceNumber": { - "type": "string", - "maxLength": 23, - "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "purchaseOrderNumber": { - "type": "string", - "maxLength": 50, - "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" - }, - "purchaseOrderDate": { - "type": "string", - "maxLength": 10, - "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" - }, - "purchaseContactName": { - "type": "string", - "maxLength": 36, - "description": "The name of the individual or the company contacted for company authorized purchases.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "vatInvoiceReferenceNumber": { - "type": "string", - "maxLength": 15, - "description": "VAT invoice number associated with the transaction.\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 4, - "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" - }, - "transactionAdviceAddendum": { - "type": "array", - "items": { - "type": "object", - "properties": { - "data": { - "type": "string", - "maxLength": 40, - "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" - } - } - } - } - } - }, - "shippingDetails": { - "type": "object", - "properties": { - "shipFromPostalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" - } - } - } - } - }, - "buyerInformation": { - "type": "object", - "properties": { - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 20, - "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" - }, - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "gender": { - "type": "string", - "maxLength": 3, - "description": "Customer's gender. Possible values are F (female), M (male),O (other)." - }, - "language": { - "type": "string", - "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "maxLength": 60, - "description": "DNS resolved hostname from `ipAddress`." - }, - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "userAgent": { - "type": "string", - "maxLength": 40, - "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "alternateName": { - "type": "string", - "maxLength": 13, - "description": "An alternate name for the merchant.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of merchant's address.\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 21, - "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" - }, - "cardAcceptorReferenceNumber": { - "type": "string", - "maxLength": 25, - "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" - } - } - }, - "aggregatorInformation": { - "type": "object", - "properties": { - "aggregatorId": { - "type": "string", - "maxLength": 20, - "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "name": { - "type": "string", - "maxLength": 37, - "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "subMerchant": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 37, - "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" - }, - "address1": { - "type": "string", - "maxLength": 38, - "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "locality": { - "type": "string", - "maxLength": 21, - "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "email": { - "type": "string", - "maxLength": 40, - "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" - }, - "id": { - "type": "string", - "maxLength": 20, - "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" - } - } - } - } - }, - "pointOfSaleInformation": { - "type": "object", - "properties": { - "emv": { - "type": "object", - "properties": { - "tags": { - "type": "string", - "maxLength": 1998, - "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" - }, - "fallback": { - "type": "boolean", - "maxLength": 5, - "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" - } - } - }, - "terminalCategory": { - "type": "string", - "maxLength": 3, - "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" - } - } - }, - "merchantDefinedInformation": { - "type": "array", - "description": "The object containing the custom data that the merchant defines.\n", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string", - "maxLength": 50, - "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "travelInformation": { - "type": "object", - "properties": { - "duration": { - "type": "string", - "maxLength": 2, - "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" - }, - "agency": { - "type": "object", - "properties": { - "code": { - "type": "string", - "maxLength": 8, - "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" - }, - "name": { - "type": "string", - "maxLength": 25, - "description": "Name of travel agency that made the reservation.\n" - } - } - }, - "autoRental": { - "type": "object", - "properties": { - "noShowIndicator": { - "type": "boolean", - "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" - }, - "customerName": { - "type": "string", - "maxLength": 40, - "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" - }, - "vehicleClass": { - "type": "string", - "maxLength": 4, - "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" - }, - "distanceTravelled": { - "type": "string", - "maxLength": 5, - "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" - }, - "distanceUnit": { - "type": "string", - "maxLength": 1, - "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" - }, - "returnDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "rentalDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "maxFreeDistance": { - "type": "string", - "maxLength": 4, - "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" - }, - "insuranceIndicator": { - "type": "boolean", - "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" - }, - "programCode": { - "type": "string", - "maxLength": 2, - "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" - }, - "returnAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City where the auto was returned to the rental agency.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" - }, - "address1": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's street address.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the return address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" - } - } - }, - "rentalAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" - }, - "address1": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "address2": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" - } - } - }, - "agreementNumber": { - "type": "string", - "maxLength": 25, - "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" - }, - "odometerReading": { - "type": "string", - "maxLength": 8, - "description": "Odometer reading at time of vehicle rental.\n" - }, - "vehicleIdentificationNumber": { - "type": "string", - "maxLength": 20, - "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" - }, - "companyId": { - "type": "string", - "maxLength": 12, - "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" - }, - "numberOfAdditionalDrivers": { - "type": "string", - "maxLength": 1, - "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" - }, - "driverAge": { - "type": "string", - "maxLength": 3, - "description": "Age of the driver renting the vehicle.\n" - }, - "specialProgramCode": { - "type": "string", - "maxLength": 2, - "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" - }, - "vehicleMake": { - "type": "string", - "maxLength": 10, - "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" - }, - "vehicleModel": { - "type": "string", - "maxLength": 10, - "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" - }, - "timePeriod": { - "type": "string", - "maxLength": 7, - "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 15, - "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" - }, - "customerServicePhoneNumber": { - "type": "string", - "maxLength": 17, - "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" - }, - "taxDetails": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - }, - "taxType": { - "type": "string", - "maxLength": 10, - "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" - }, - "taxSummary": { - "type": "string", - "maxLength": 12, - "description": "Summary of all tax types\n" - } - } - }, - "insuranceAmount": { - "type": "string", - "maxLength": 12, - "description": "Insurance charges.\nField is conditional and can include decimal point.\n" - }, - "oneWayDropOffAmount": { - "type": "string", - "maxLength": 12, - "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" - }, - "adjustedAmountIndicator": { - "type": "string", - "maxLength": 1, - "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" - }, - "adjustedAmount": { - "type": "string", - "maxLength": 12, - "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" - }, - "fuelCharges": { - "type": "string", - "maxLength": 12, - "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" - }, - "weeklyRentalRate": { - "type": "string", - "maxLength": 12, - "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" - }, - "dailyRentalRate": { - "type": "string", - "maxLength": 12, - "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" - }, - "ratePerMile": { - "type": "string", - "maxLength": 12, - "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" - }, - "mileageCharge": { - "type": "string", - "maxLength": 12, - "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" - }, - "extraMileageCharge": { - "type": "string", - "maxLength": 12, - "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" - }, - "lateFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" - }, - "towingCharge": { - "type": "string", - "maxLength": 4, - "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" - }, - "extraCharge": { - "type": "string", - "maxLength": 12, - "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" - }, - "gpsCharge": { - "type": "string", - "maxLength": 12, - "description": "Amount charged for renting a Global Positioning Service (GPS).\n" - }, - "phoneCharge": { - "type": "string", - "maxLength": 12, - "description": "Additional charges incurred for phone usage included on the total bill.\n" - }, - "parkingViolationCharge": { - "type": "string", - "maxLength": 12, - "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" - }, - "otherCharges": { - "type": "string", - "maxLength": 12, - "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" - }, - "companyName": { - "type": "string", - "maxLength": 50, - "description": "Merchant to send their auto rental company name\n" - }, - "affiliateName": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the affiliate name.\n" - } - } - }, - "lodging": { - "type": "object", - "properties": { - "checkInDate": { - "type": "string", - "maxLength": 6, - "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" - }, - "checkOutDate": { - "type": "string", - "maxLength": 6, - "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" - }, - "room": { - "type": "array", - "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", - "items": { - "type": "object", - "properties": { - "dailyRate": { - "type": "string", - "maxLength": 8, - "description": "Daily cost of the room.\n" - }, - "numberOfNights": { - "type": "integer", - "minimum": 1, - "maximum": 9999, - "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" - } - } - } - }, - "smokingPreference": { - "type": "string", - "maxLength": 1, - "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" - }, - "numberOfRooms": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Number of rooms booked by the cardholder.\n" - }, - "numberOfGuests": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Number of guests staying in the room.\n" - }, - "roomBedType": { - "type": "string", - "maxLength": 12, - "description": "Type of room, such as queen, king, or two doubles.\n" - }, - "roomTaxType": { - "type": "string", - "maxLength": 10, - "description": "Type of tax, such as tourist or hotel.\n" - }, - "roomRateType": { - "type": "string", - "maxLength": 12, - "description": "Type of rate, such as corporate or senior citizen.\n" - }, - "guestName": { - "type": "string", - "maxLength": 40, - "description": "Name of the guest under which the room is reserved.\n" - }, - "customerServicePhoneNumber": { - "type": "string", - "maxLength": 17, - "description": "Your toll-free customer service phone number.\n" - }, - "corporateClientCode": { - "type": "string", - "maxLength": 17, - "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" - }, - "additionalDiscountAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of an additional coupon or discount.\n" - }, - "roomLocation": { - "type": "string", - "maxLength": 10, - "description": "Location of room, such as lake view or ocean view.\n" - }, - "specialProgramCode": { - "type": "string", - "maxLength": 1, - "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" - }, - "totalTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount.\n" - }, - "prepaidCost": { - "type": "string", - "maxLength": 12, - "description": "Prepaid amount, such as a deposit.\n" - }, - "foodAndBeverageCost": { - "type": "string", - "maxLength": 12, - "description": "Cost for all food and beverages.\n" - }, - "roomTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax for the room.\n" - }, - "adjustmentAmount": { - "type": "string", - "maxLength": 12, - "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" - }, - "phoneCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of telephone services.\n" - }, - "restaurantCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of restaurant purchases\n" - }, - "roomServiceCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of room service.\n" - }, - "miniBarCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of mini-bar purchases.\n" - }, - "laundryCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of laundry services.\n" - }, - "miscellaneousCost": { - "type": "string", - "maxLength": 12, - "description": "Miscellaneous costs.\n" - }, - "giftShopCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of gift shop purchases.\n" - }, - "movieCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of movies.\n" - }, - "healthClubCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of health club services.\n" - }, - "valetParkingCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of valet parking services.\n" - }, - "cashDisbursementCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of the cash that was disbursed plus any associated service fees\n" - }, - "nonRoomCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of non-room purchases, such as meals and gifts.\n" - }, - "businessCenterCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of business center services.\n" - }, - "loungeBarCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of lounge and bar purchases.\n" - }, - "transportationCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of transportation services.\n" - }, - "gratuityAmount": { - "type": "string", - "maxLength": 12, - "description": "Gratuity.\n" - }, - "conferenceRoomCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of conference room services.\n" - }, - "audioVisualCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of audio visual services.\n" - }, - "banquestCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of banquet services.\n" - }, - "nonRoomTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Tax on non-room purchases.\n" - }, - "earlyCheckOutCost": { - "type": "string", - "maxLength": 12, - "description": "Service fee for early departure.\n" - }, - "internetAccessCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of Internet access.\n" - }, - "name": { - "type": "string", - "maxLength": 255, - "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" - }, - "hotelName": { - "type": "string", - "description": "The name of the hotel for which the reservation was made.\n" - }, - "checkInDateTime": { - "type": "string", - "description": "The date of the check-in in GMT+8 offset.\n" - }, - "checkOutDateTime": { - "type": "string", - "description": "The date of the check-out in GMT+8 offset.\n" - } - } - }, - "transit": { - "type": "object", - "properties": { - "airline": { - "type": "object", - "properties": { - "isDomestic": { - "type": "string", - "maxLength": 255, - "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" - }, - "bookingReferenceNumber": { - "type": "string", - "maxLength": 15, - "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" - }, - "carrierName": { - "type": "string", - "maxLength": 15, - "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" - }, - "ticketIssuer": { - "type": "object", - "properties": { - "code": { - "type": "string", - "maxLength": 4, - "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" - }, - "name": { - "type": "string", - "maxLength": 20, - "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" - }, - "address": { - "type": "string", - "maxLength": 16, - "description": "Address of the company issuing the ticket.\n" - }, - "locality": { - "type": "string", - "maxLength": 18, - "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 18, - "description": "State in which transaction occured.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Zip code of the city in which transaction occured.\n" - }, - "country": { - "type": "string", - "maxLength": 18, - "description": "Country in which transaction occured.\n" - } - } - }, - "ticketNumber": { - "type": "string", - "maxLength": 15, - "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "checkDigit": { - "type": "string", - "maxLength": 1, - "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" - }, - "restrictedTicketIndicator": { - "type": "integer", - "maxLength": 1, - "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "transactionType": { - "type": "integer", - "maxLength": 2, - "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" - }, - "extendedPaymentCode": { - "type": "string", - "maxLength": 3, - "description": "The field is not currently supported.\n" - }, - "passengerName": { - "type": "string", - "maxLength": 42, - "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" - }, - "customerCode": { - "type": "string", - "maxLength": 40, - "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "documentType": { - "type": "string", - "maxLength": 1, - "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" - }, - "documentNumber": { - "type": "string", - "maxLength": 14, - "description": "The field is not currently supported.\n" - }, - "documentNumberOfParts": { - "type": "integer", - "maxLength": 4, - "description": "The field is not currently supported.\n" - }, - "invoiceNumber": { - "type": "string", - "maxLength": 25, - "description": "Invoice number for the airline transaction.\n" - }, - "invoiceDate": { - "type": "integer", - "maxLength": 8, - "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" - }, - "additionalCharges": { - "type": "string", - "maxLength": 20, - "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" - }, - "totalFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" - }, - "clearingSequence": { - "type": "string", - "maxLength": 2, - "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" - }, - "clearingCount": { - "type": "string", - "maxLength": 2, - "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" - }, - "totalClearingAmount": { - "type": "string", - "maxLength": 20, - "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" - }, - "numberOfPassengers": { - "type": "integer", - "maxLength": 3, - "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" - }, - "reservationSystemCode": { - "type": "string", - "maxLength": 20, - "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "processIdentifier": { - "type": "string", - "maxLength": 3, - "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" - }, - "ticketIssueDate": { - "type": "string", - "maxLength": 8, - "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" - }, - "electronicTicketIndicator": { - "type": "boolean", - "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" - }, - "originalTicketNumber": { - "type": "string", - "maxLength": 14, - "description": "Original ticket number when the transaction is for a replacement ticket.\n" - }, - "purchaseType": { - "type": "string", - "maxLength": 3, - "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" - }, - "creditReasonIndicator": { - "type": "string", - "maxLength": 1, - "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" - }, - "ticketChangeIndicator": { - "type": "string", - "maxLength": 1, - "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" - }, - "planNumber": { - "type": "string", - "maxLength": 1, - "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" - }, - "arrivalDate": { - "type": "string", - "maxLength": 8, - "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" - }, - "restrictedTicketDesciption": { - "type": "string", - "maxLength": 20, - "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" - }, - "exchangeTicketAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" - }, - "exchangeTicketFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" - }, - "reservationType": { - "type": "string", - "maxLength": 32, - "description": "The field is not currently supported.\n" - }, - "boardingFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Boarding fee.\n" - }, - "legs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "carrierCode": { - "type": "string", - "maxLength": 4, - "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "flightNumber": { - "type": "string", - "maxLength": 6, - "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "originatingAirportCode": { - "type": "string", - "maxLength": 5, - "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "class": { - "type": "string", - "maxLength": 3, - "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "stopoverIndicator": { - "type": "integer", - "maxLength": 1, - "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "departureDate": { - "type": "integer", - "maxLength": 8, - "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "destinationAirportCode": { - "type": "string", - "maxLength": 3, - "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "fareBasis": { - "type": "string", - "maxLength": 15, - "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" - }, - "departTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of departure tax for this leg of the trip.\n" - }, - "conjunctionTicket": { - "type": "string", - "maxLength": 25, - "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "exchangeTicketNumber": { - "type": "string", - "maxLength": 25, - "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "couponNumber": { - "type": "string", - "maxLength": 1, - "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "departureTime": { - "type": "integer", - "maxLength": 4, - "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "departureTimeMeridian": { - "type": "string", - "maxLength": 1, - "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "arrivalTime": { - "type": "integer", - "maxLength": 4, - "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "arrivalTimeMeridian": { - "type": "string", - "maxLength": 1, - "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "endorsementsRestrictions": { - "type": "string", - "maxLength": 20, - "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "totalFareAmount": { - "type": "string", - "maxLength": 15, - "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "feeAmount": { - "type": "string", - "maxLength": 12, - "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" - } - } - } - }, - "ancillaryInformation": { - "type": "object", - "properties": { - "ticketNumber": { - "type": "string", - "maxLength": 15, - "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" - }, - "passengerName": { - "type": "string", - "maxLength": 20, - "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" - }, - "connectedTicketNumber": { - "type": "string", - "maxLength": 15, - "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" - }, - "creditReasonIndicator": { - "type": "string", - "maxLength": 15, - "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" - }, - "service": { - "type": "array", - "items": { - "type": "object", - "properties": { - "categoryCode": { - "type": "string", - "maxLength": 4, - "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" - }, - "subCategoryCode": { - "type": "string", - "maxLength": 4, - "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" - } - } - } - } - } - }, - "flightType": { - "type": "string", - "maxLength": 2, - "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" - }, - "insuranceAmount": { - "type": "string", - "maxLength": 255, - "description": "The total cost of the flight insurance. Example: 10000.00\n" - }, - "frequentFlyerNumber": { - "type": "string", - "maxLength": 255, - "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" - }, - "thirdPartyStatus": { - "type": "string", - "maxLength": 255, - "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" - }, - "passengerType": { - "type": "string", - "maxLength": 50, - "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" - }, - "totalInsuranceAmount": { - "type": "string", - "maxLength": 50, - "description": "Total insurance amount. We have per leg and not total\n" - } - } - } - } - }, - "vehicleData": { - "type": "object", - "properties": { - "connectorType": { - "type": "string", - "maxLength": 3, - "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" - }, - "chargingReasonCode": { - "type": "string", - "maxLength": 3, - "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" - } - } - } - } - }, - "promotionInformation": { - "type": "object", - "properties": { - "additionalCode": { - "type": "string", - "maxLength": 12, - "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" - }, - "code": { - "type": "string", - "maxLength": 12, - "description": "Code for a promotion or discount.\n" - } - } - } - }, - "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" - }, - "achVerification": { - "type": "object", - "properties": { - "resultCode": { - "type": "string", - "maxLength": 2, - "description": "Results from the ACH verification service.\n" - }, - "resultCodeRaw": { - "type": "string", - "maxLength": 10, - "description": "Raw results from the ACH verification service.\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" - }, - "updateTimeUtc": { - "type": "string", - "description": "The date and time when the transaction was last updated, in Internet date and time format.\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" - }, - "foreignAmount": { - "type": "string", - "maxLength": 15, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "foreignCurrency": { - "type": "string", - "maxLength": 5, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - } - } - }, - "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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "commerceIndicator": { - "type": "string", - "maxLength": 20, - "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" - }, - "processorId": { - "type": "string", - "maxLength": 3, - "description": "Value that identifies the processor/acquirer to use for the transaction. This value is supported only for\n**CyberSource through VisaNet**.\n\nContact CyberSource Customer Support to get the value for this field.\n" - }, - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" - }, - "linkId": { - "type": "string", - "maxLength": 26, - "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" - }, - "reportGroup": { - "type": "string", - "maxLength": 25, - "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - }, - "purchaseLevel": { - "type": "string", - "maxLength": 1, - "description": "Set this field to 3 to indicate that the request includes Level III data." - }, - "industryDataType": { - "type": "string", - "maxLength": 20, - "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" - }, - "walletType": { - "type": "string", - "maxLength": 5, - "description": "This field carries the wallet type in authorization requests and credit requests. Possible value are:\n- `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.\n- `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.\n- `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.\n- `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.\n- `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.\n- `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.\n- `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.\nFor all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nMasterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer's checkout information.\n\nVisa Checkout:\nThis field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.\nFor Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring\nSolutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nFor incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.\nPayment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.\n\nCyberSource through VisaNet\nWhen the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90, Field: Mastercard Wallet Identifier.\nWhen the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.\n" - }, - "nationalNetDomesticData": { - "type": "string", - "maxLength": 123, - "description": "Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.\nFor transactions on CyberSource through VisaNet in countries that subscribe to NNSS:\nVisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.\nVisaNet settles transactions in the local pricing currency through a local financial institution.\nThis field is supported only on CyberSource through VisaNet for domestic data in Colombia\n" - }, - "networkRoutingOrder": { - "type": "string", - "maxLength": 30, - "description": "On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority.\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference.\nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,\nVisaNet makes a selection based on the acquirer's routing priorities.\n\n#### PIN debit\nPriority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:\n\n| Network | Code |\n| --- | --- |\n| Accel | E |\n| AFFN | U |\n| Alaska Option | 3 |\n| CU24 | C |\n| Interlink | G |\n| Maestro | 8 |\n| NETS | P |\n| NYCE | F |\n| Pulse | H |\n| Shazam | 7 |\n| Star | M |\n| Visa | V |\n\nFor example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.\n\nWhen you do not include this value in your PIN debit request, the list of network codes from your account is used.\n**Note** This field is supported only for businesses located in the U.S.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" - }, - "recurringOptions": { - "type": "object", - "properties": { - "loanPayment": { - "type": "boolean", - "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", - "default": false - } - } - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "customerMemo": { - "type": "string", - "maxLength": 80, - "description": "Payment related information.\n\nThis information is included on the customer's statement.\n" - }, - "secCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n" - }, - "terminalCity": { - "type": "string", - "maxLength": 4, - "description": "City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" - }, - "terminalState": { - "type": "string", - "maxLength": 2, - "description": "State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" - }, - "effectiveDate": { - "type": "string", - "maxLength": 8, - "description": "Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not\ninclude this value, CyberSource sets the effective date to the next business day.\n\nFormat: `MMDDYYYY`\n\nSupported only for the CyberSource ACH Service.\n" - }, - "partialPaymentId": { - "type": "string", - "maxLength": 25, - "description": "Identifier for a partial payment or partial credit.\n\nThe value for each debit request or credit request must be unique within the scope of the order.\n" - }, - "settlementMethod": { - "type": "string", - "maxLength": 1, - "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n" - } - } - }, - "purchaseOptions": { - "type": "object", - "properties": { - "isElectronicBenefitsTransfer": { - "type": "boolean", - "description": "Flag that indicates whether this transaction is an EBT transaction. Possible values:\n- `true`\n- `false`\n\n#### PIN debit\nRequired field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" - } - } - }, - "electronicBenefitsTransfer": { - "type": "object", - "properties": { - "category": { - "type": "string", - "maxLength": 4, - "description": "Flag that specifies the category for the EBT transaction.\n\nPossible values:\n- `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.\n- `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.\n\n#### PIN debit\nRequired field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" - } - } - }, - "loanOptions": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 20, - "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" - }, - "assetType": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" - } - } - }, - "japanPaymentOptions": { - "type": "object", - "properties": { - "paymentMethod": { - "type": "string", - "maxLength": 2, - "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" - }, - "installments": { - "type": "string", - "maximum": 99, - "description": "Number of Installments.\n" - } - } - }, - "refundOptions": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "Must be set to `pow` for Mastercard Gaming Payment of Winnings tranactions." - } - } - } - } - }, - "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" - } - } - }, - "bank": { - "type": "object", - "properties": { - "account": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 1, - "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" - }, - "number": { - "type": "string", - "maxLength": 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" - }, - "checkNumber": { - "type": "string", - "maxLength": 8, - "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" - }, - "checkImageReferenceNumber": { - "type": "string", - "maxLength": 32, - "description": "Image reference number associated with the check. You cannot include any special characters.\n" - } - } - }, - "routingNumber": { - "type": "string", - "maxLength": 9, - "description": "Bank routing number. This is also called the _transit number_.\n" - }, - "iban": { - "type": "string", - "maxLength": 50, - "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" - }, - "swiftCode": { - "type": "string", - "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" - } - } - }, - "tokenizedCard": { - "type": "object", - "properties": { - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "securityCodeIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" - }, - "assuranceMethod": { - "type": "string", - "maxLength": 2, - "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" - } - } - }, - "fluidData": { - "type": "object", - "properties": { - "keySerialNumber": { - "type": "string", - "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" - }, - "descriptor": { - "type": "string", - "maxLength": 128, - "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" - }, - "value": { - "type": "string", - "maxLength": 4000, - "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" - }, - "encoding": { - "type": "string", - "maxLength": 6, - "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" - } - } - }, - "customer": { - "type": "object", - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentInstrument": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "instrumentIdentifier": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 12, - "maxLength": 32 - } - } - }, - "shippingAddress": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "legacyToken": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - }, - "eWallet": { - "type": "object", - "properties": { - "fundingSource": { - "type": "string", - "maxLength": 30, - "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" - } - } - }, - "paymentAccountReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 32, - "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN.\nIt identifies the card account, not just a card. PAR is a non-payment identifier that can be associated\nto PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single,\nnon-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder\nidentification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\nPAR has a well-defined format (as per the Jan 2016 EMVCo documentation):\n" - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 15, - "description": "Total discount amount applied to the order.\n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 15, - "description": "Total charges for any import or export duties included in the order.\n" - }, - "gratuityAmount": { - "type": "string", - "maxLength": 13, - "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount for all the items in the order.\n" - }, - "nationalTaxIncluded": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" - }, - "taxAppliedLevel": { - "type": "string", - "maxLength": 1, - "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 3, - "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" - }, - "freightAmount": { - "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "foreignAmount": { - "type": "string", - "maxLength": 15, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "foreignCurrency": { - "type": "string", - "maxLength": 5, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "exchangeRate": { - "type": "string", - "maxLength": 13, - "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" - }, - "exchangeRateTimeStamp": { - "type": "string", - "maxLength": 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" - }, - "amount": { - "type": "string", - "maxLength": 12, - "description": "Additional amount. This field is supported only for **American Express Direct**.\n" - } - } - } - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - }, - "serviceFeeAmount": { - "type": "string", - "maxLength": 15, - "description": "Service fee. Required for service fee transactions.\n" - }, - "originalCurrency": { - "type": "string", - "maxLength": 15, - "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" - }, - "cashbackAmount": { - "type": "string", - "maxLength": 13, - "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" - } - } - }, - "billTo": { - "type": "object", - "properties": { - "title": { - "type": "string", - "maxLength": 60, - "description": "Title.\n" - }, - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "middleName": { - "type": "string", - "maxLength": 60, - "description": "Customer's middle name.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "company": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" - }, - "address1": { - "type": "string", - "maxLength": 40, - "description": "First line in the street address of the company purchasing the product." - }, - "address2": { - "type": "string", - "maxLength": 40, - "description": "Additional address information for the company purchasing the product." - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "City in the address of the company purchasing the product." - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - } - } - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "district": { - "type": "string", - "maxLength": 50, - "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - }, - "county": { - "type": "string", - "maxLength": 50, - "description": "U.S. county if available." - }, - "country": { - "type": "string", - "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 2 - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "email": { - "type": "string", - "description": "Email of the recipient.", - "maxLength": 255 - }, - "county": { - "type": "string", - "description": "U.S. county if available.", - "maxLength": 50 - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productSku": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "unitOfMeasure": { - "type": "string", - "maxLength": 12, - "description": "Unit of measure, or unit of measure code, for the item.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "taxAppliedAfterDiscount": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" - }, - "taxStatusIndicator": { - "type": "string", - "maxLength": 1, - "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" - }, - "taxTypeCode": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "amountIncludesTax": { - "type": "boolean", - "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "typeOfSupply": { - "type": "string", - "maxLength": 2, - "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 15, - "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountApplied": { - "type": "boolean", - "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "invoiceNumber": { - "type": "string", - "maxLength": 23, - "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" - }, - "taxDetails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "code": { - "type": "string", - "maxLength": 4, - "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - } - } - } - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "purchaseOrderNumber": { - "type": "string", - "maxLength": 50, - "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" - }, - "purchaseOrderDate": { - "type": "string", - "maxLength": 10, - "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" - }, - "purchaseContactName": { - "type": "string", - "maxLength": 36, - "description": "The name of the individual or the company contacted for company authorized purchases.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "vatInvoiceReferenceNumber": { - "type": "string", - "maxLength": 15, - "description": "VAT invoice number associated with the transaction.\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 4, - "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" - }, - "transactionAdviceAddendum": { - "type": "array", - "items": { - "type": "object", - "properties": { - "data": { - "type": "string", - "maxLength": 40, - "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" - } - } - } - } - } - }, - "shippingDetails": { - "type": "object", - "properties": { - "shipFromPostalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" - } - } - } - } - }, - "buyerInformation": { - "type": "object", - "properties": { - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 20, - "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" - }, - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "gender": { - "type": "string", - "maxLength": 3, - "description": "Customer's gender. Possible values are F (female), M (male),O (other)." - }, - "language": { - "type": "string", - "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "maxLength": 60, - "description": "DNS resolved hostname from `ipAddress`." - }, - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "userAgent": { - "type": "string", - "maxLength": 40, - "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "alternateName": { - "type": "string", - "maxLength": 13, - "description": "An alternate name for the merchant.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of merchant's address.\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 21, - "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" - }, - "cardAcceptorReferenceNumber": { - "type": "string", - "maxLength": 25, - "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" - }, - "taxId": { - "type": "string", - "maxLength": 15, - "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" - } - } - }, - "aggregatorInformation": { - "type": "object", - "properties": { - "aggregatorId": { - "type": "string", - "maxLength": 20, - "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "name": { - "type": "string", - "maxLength": 37, - "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "subMerchant": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 37, - "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" - }, - "address1": { - "type": "string", - "maxLength": 38, - "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "locality": { - "type": "string", - "maxLength": 21, - "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "email": { - "type": "string", - "maxLength": 40, - "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" - }, - "id": { - "type": "string", - "maxLength": 20, - "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" - } - } - } - } - }, - "pointOfSaleInformation": { - "type": "object", - "properties": { - "terminalId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" - }, - "terminalSerialNumber": { - "type": "string", - "maxLength": 32, - "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" - }, - "cardholderVerificationMethodUsed": { - "type": "integer", - "description": "Method that was used to verify the cardholder's identity. Possible values:\n\n - `0`: No verification\n - `1`: Signature\n - `2`: PIN\n - `3`: Cardholder device CVM\n - `4`: Biometric\n - `5`: OTP\n" - }, - "laneNumber": { - "type": "string", - "maxLength": 8, - "description": "Identifier for an alternate terminal at your retail location. You define the value for this field.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global. Otherwise, this field is not used by all other processors.\nUse the `terminalId` field to identify the main terminal at your retail location. If your retail location has multiple terminals,\nuse this `laneNumber` field to identify the terminal used for the transaction.\n\nThis field is a pass-through, which means that the value is not checked or modified in any way before sending it to the processor.\n\nOptional field.\n\n#### Card present reply messaging\nIdentifier for an alternate terminal at your retail location. You defined the value for this field in the request\nmessage. This value must be printed on the receipt.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global.\n" - }, - "catLevel": { - "type": "integer", - "minimum": 1, - "maximum": 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 Visa and Mastercard transactions. To enable this feature please call support.\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing. \n\nPIN debit processing is available only on CyberSource through VisaNet and FDC Nashville Global.\n\n#### Used by\nAuthorization: Optional\nPIN Debit processing: Optional\n\n#### GPX\n\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" - }, - "fallback": { - "type": "boolean", - "maxLength": 5, - "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" - }, - "fallbackCondition": { - "type": "integer", - "description": "Reason for the EMV fallback transaction. An EMV fallback transaction occurs when an EMV transaction fails for\none of these reasons:\n\n - Technical failure: the EMV terminal or EMV card cannot read and process chip data.\n - Empty candidate list failure: the EMV terminal does not have any applications in common with the EMV card.\n EMV terminals are coded to determine whether the terminal and EMV card have any applications in common.\n EMV terminals provide this information to you.\n\nPossible values:\n\n - `1`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal either used information from a successful chip read or it was not a chip transaction.\n - `2`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal was an EMV fallback transaction because the attempted chip read was unsuccessful.\n\nThis field is supported only on **GPN** and **JCN Gateway**.\n**NOTE**: This field is required when an EMV transaction fails for a technical reason. Do not include this field\nwhen the EMV terminal does not have any applications in common with the EMV card.\n" - }, - "isRepeat": { - "type": "boolean", - "description": "#### Visa Platform Connect\nValue \"true\" indicates this transaction is intentionally duplicated . The field contains value \"true\" which\nindicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending\na duplicate auth request for a single tap txn because the issuer requested a PIN.\n" - } - } - }, - "amexCapnData": { - "type": "string", - "maxLength": 15, - "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n" - }, - "trackData": { - "type": "string", - "description": "Card's track 1 and 2 data. For all processors except FDMS Nashville, this value consists of\none of the following:\n\n - Track 1 data\n - Track 2 data\n - Data for both tracks 1 and 2\n\nFor FDMS Nashville, this value consists of one of the following:\n - Track 1 data\n - Data for both tracks 1 and 2\n\nExample: %B4111111111111111^SMITH/JOHN ^1612101976110000868000000?;4111111111111111=16121019761186800000?\n\n#### Used by\n**Authorization**\nRequired for Chase Paymentech Solutions, Credit Mutuel-CIC, CyberSource through VisaNet, FDC Nashville Global,\nJCN Gateway, OmniPay Direct, and SIX if `pointOfSaleInformation.entryMode` is equal to one of these values:\n- `contact`\n- `contactless`\n- `msd`\n- `swiped`\nOtherwise, this field not used.\n\nRequired for all other processors if `pointOfSaleInformation.entryMode=swiped`; otherwise, this field is not used.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### PIN debit\nTrack 2 data from the debit card. The sentinels are required.\nRequired field for a PIN debit purchase and a PIN debit credit.\n" - }, - "storeAndForwardIndicator": { - "type": "string", - "maxLength": 1, - "description": "When connectivity is unavailable, the client software that is installed on the POS terminal can store a\ntransaction in its memory and send it for authorization when connectivity is restored. This value is provided by\nthe client software that is installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\nPossible values:\n- `Y`: Transaction was stored and then forwarded.\n- `N` (default): Transaction was not stored and then forwarded.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "cardholderVerificationMethod": { - "type": "array", - "items": { - "type": "string", - "example": [ - "PIN", - "Signature", - "pinOnGlass" - ] - }, - "description": "Complete list of cardholder verification methods (CVMs) supported by the terminal.\nOptional field.\nPossible values:\n- `PIN`: For terminals with a PIN Pad\n- `Signature`: For terminals capable of receiving a signature\n- `pinOnGlass`: For terminals where PIN is entered on a glass-based capture mechanism\n\n**EXAMPLE**: [\"PIN\",\"Signature\"]; [\"pinOnGlass\",\"Signature\"]\n" - }, - "terminalCategory": { - "type": "string", - "maxLength": 3, - "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" - }, - "terminalInputCapability": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Complete list of card input methods supported by the terminal.\n\nPossible values:\n- `Keyed`: Terminal can accept card data that is entered manually.\n- `Swiped`: Terminal can accept card data from a magnetic stripe reader.\n- `Contact`: Terminal can accept card data in EMV contact mode (\"dipping a card\").\n- `Contactless`: Terminal can accept card data in EMV contactless mode (\"tapping a card\").\n- `BarCode`: Terminal can read bar codes.\n- `QRcode`: Terminal can read or scan QR codes.\n- `OCR`: Terminal can perform optical character recognition (OCT) on the card.\n\n**EXAMPLE**: [\"Keyed\",\"Swiped\",\"Contact\",\"Contactless\"]\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" - }, - "terminalCardCaptureCapability": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether the terminal can capture the card.\n\nPossible values:\n- `1`: Terminal can capture card.\n- `0`: Terminal cannot capture card.\n\nFor authorizations and credits, this field is supported only by these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n\nOptional field.\n" - }, - "terminalOutputCapability": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether the terminal can print or display messages.\n\nPossible values:\n- 1: Neither\n- 2: Print only\n- 3: Display only\n- 4: Print and display\n- 5: Merchant terminal supports purchase only approvals\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n- VisaNet\n\nOptional field.\n" - }, - "terminalPinCapability": { - "type": "integer", - "description": "Maximum PIN length that the terminal can capture.\n\nPossible values:\n- 0: No PIN capture capability\n- 1: PIN capture capability unknown\n- 2: PIN Pad down\n- 4: Four characters\n- 5: Five characters\n- 6: Six characters\n- 7: Seven characters\n- 8: Eight characters\n- 9: Nine characters\n- 10: Ten characters\n- 11: Eleven characters\n- 12: Twelve characters\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n- SIX\n- Visa Platform Connect\n\nRequired field for authorization or credit of PIN transactions.\n" - }, - "pinEntrySolution": { - "type": "string", - "description": "This field will contain the type of Pin Pad the terminal has.\n\nPossible values:\n- PCI-SPoC: Where the pin is being put on screen\n- PCI-PTS: Where the pin is being put on actual hardware pin pad\n" - }, - "deviceId": { - "type": "string", - "maxLength": 32, - "description": "Value created by the client software that uniquely identifies the POS device. This value is provided by the\nclient software that is installed on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" - }, - "pinBlockEncodingFormat": { - "type": "integer", - "maximum": 9, - "description": "Format that is used to encode the PIN block. This value is provided by the client software that is installed on\nthe POS terminal.\n\nPossible values:\n- `0`: ISO 9564 format 0\n- `1`: ISO 9564 format 1\n- `2`: ISO 9564 format 2\n- `3`: ISO 9564 format 3\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also supported by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n\n#### GPX\nFor chip and online PIN transactions for authorization, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Offline PIN\n- Chip and Signature\n\nFor PIN Debit Purchase and Credit Service transactions, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Online PIN\n" - }, - "encryptedPin": { - "type": "string", - "maxLength": 16, - "description": "Encrypted PIN.\n\nThis value is provided by the client software that is installed on the POS terminal.\n\n#### Used by\n**Authorization, PIN Debit**\nRequired when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\nRequired for PIN debit credit or PIN debit purchase.\nRequired for online PIN transactions.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" - }, - "encryptedKeySerialNumber": { - "type": "string", - "maxLength": 20, - "description": "Combination of the device's unique identifier and a transaction counter that is used in the process of\ndecrypting the encrypted PIN. The entity that injected the PIN encryption keys into the terminal decrypts the\nencrypted PIN and creates this value.\n\nFor all terminals that are using derived unique key per transaction (DUKPT) encryption, this is generated as a\nsingle number within the terminal.\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n- Required for online PIN transactions\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" - }, - "partnerSdkVersion": { - "type": "string", - "maxLength": 32, - "description": "Version of the software installed on the POS terminal. This value is provided by the client software that is\ninstalled on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" - }, - "emvApplicationIdentifierAndDedicatedFileName": { - "type": "string", - "maxLength": 32, - "description": "This 32 byte length-maximum EBCDIC-K value is used to identify which chip application was performed between the terminal and the chip product.\nThe included values are the Application Identifier (AID) and the Dedicated File (DF) name. It is available to early- or full-option VSDC issuers.\nOnly single byte Katakana characters that can map to the EBCDIC-K table expected in the name.\n" - }, - "terminalCompliance": { - "type": "string", - "maxLength": 2, - "description": "Flag that indicates whether the terminal is compliant with standards mandated by the Reserve Bank of India for card-present domestic transactions in India.\n\nFormat:\n- First character indicates whether the terminal supports terminal line encryption (TLE). Possible values:\n - 1: Not certified\n - 2: Certified\n- Second character indicates whether the terminal supports Unique Key Per Transaction (UKPT) and Derived Unique Key Per Transaction (DUKPT). Possible values:\n - 1: Not certified\n - 2: Certified\n\n**Example** `21` indicates that the terminal supports TLE but does not support UKPT/DUKPT.\n\nYou and the terminal vendors are responsible for terminal certification. If you have questions, contact your acquirer.\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 92-93\n- Field: Mastercard Terminal Compliance Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n\n#### Used by\n**Authorization**\nRequired for card-present transactions in India. Otherwise, not used.\n" - }, - "isDedicatedHardwareTerminal": { - "type": "string", - "maxLength": 1, - "description": "Type of mPOS device. Possible values:\n- 0: Dongle\n- 1: Phone or tablet\n\nThis optional field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 141\n- Field: Mastercard mPOS Transaction\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's\nacquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" - }, - "terminalModel": { - "type": "string", - "maxLength": 32, - "description": "This is the model name of the reader which is used to accept the payment.\nPossible values:\n - E3555\n - P400\n - A920\n" - }, - "terminalMake": { - "type": "string", - "maxLength": 32, - "description": "This is the manufacturer name of the reader which is used to accept the payment.\nPossible values:\n - PAX\n - Verifone\n - Ingenico\n" - }, - "serviceCode": { - "type": "string", - "maxLength": 3, - "description": "#### Visa Platform Connect\nMastercard service code that is included in the track data. This field is supported only for Mastercard on Visa Platform Connect. \nYou can extract the service code from the track data and provide it in this API field. \n\nWhen not provided it will be extracted from:\n - Track2Data for MSR transactions\n - EMV tag 5F30 for EMV transactions\n\nTo enable this feature please call support.\n" - } - } - }, - "merchantDefinedInformation": { - "type": "array", - "description": "The object containing the custom data that the merchant defines.\n", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string", - "maxLength": 50, - "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "merchantDefinedSecureInformation": { - "type": "object", - "description": "The object containing the secure data that the merchant defines.\n", - "properties": { - "secure1": { - "type": "string", - "maxLength": 2048, - "description": "The value you assign for your merchant-secure data field 1.\n" - }, - "secure2": { - "type": "string", - "maxLength": 2048, - "description": "The value you assign for your merchant-secure data field 2.\n" - }, - "secure3": { - "type": "string", - "maxLength": 2048, - "description": "The value you assign for your merchant-secure data field 3.\n" - }, - "secure4": { - "type": "string", - "maxLength": 2048, - "description": "The value you assign for your merchant-secure data field 4.\n" - } - } - }, - "installmentInformation": { - "type": "object", - "properties": { - "planType": { - "type": "string", - "maxLength": 1, - "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" - } - } - }, - "travelInformation": { - "type": "object", - "properties": { - "duration": { - "type": "string", - "maxLength": 2, - "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" - }, - "agency": { - "type": "object", - "properties": { - "code": { - "type": "string", - "maxLength": 8, - "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" - }, - "name": { - "type": "string", - "maxLength": 25, - "description": "Name of travel agency that made the reservation.\n" - } - } - }, - "autoRental": { - "type": "object", - "properties": { - "noShowIndicator": { - "type": "boolean", - "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" - }, - "customerName": { - "type": "string", - "maxLength": 40, - "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" - }, - "vehicleClass": { - "type": "string", - "maxLength": 4, - "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" - }, - "distanceTravelled": { - "type": "string", - "maxLength": 5, - "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" - }, - "distanceUnit": { - "type": "string", - "maxLength": 1, - "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" - }, - "returnDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "rentalDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "maxFreeDistance": { - "type": "string", - "maxLength": 4, - "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" - }, - "insuranceIndicator": { - "type": "boolean", - "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" - }, - "programCode": { - "type": "string", - "maxLength": 2, - "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" - }, - "returnAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City where the auto was returned to the rental agency.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" - }, - "address1": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's street address.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the return address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" - } - } - }, - "rentalAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" - }, - "address1": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "address2": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" - } - } - }, - "agreementNumber": { - "type": "string", - "maxLength": 25, - "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" - }, - "odometerReading": { - "type": "string", - "maxLength": 8, - "description": "Odometer reading at time of vehicle rental.\n" - }, - "vehicleIdentificationNumber": { - "type": "string", - "maxLength": 20, - "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" - }, - "companyId": { - "type": "string", - "maxLength": 12, - "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" - }, - "numberOfAdditionalDrivers": { - "type": "string", - "maxLength": 1, - "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" - }, - "driverAge": { - "type": "string", - "maxLength": 3, - "description": "Age of the driver renting the vehicle.\n" - }, - "specialProgramCode": { - "type": "string", - "maxLength": 2, - "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" - }, - "vehicleMake": { - "type": "string", - "maxLength": 10, - "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" - }, - "vehicleModel": { - "type": "string", - "maxLength": 10, - "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" - }, - "timePeriod": { - "type": "string", - "maxLength": 7, - "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" - }, - "commodityCode": { - "type": "string", - "maxLength": 15, - "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" - }, - "customerServicePhoneNumber": { - "type": "string", - "maxLength": 17, - "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" - }, - "taxDetails": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - }, - "applied": { - "type": "boolean", - "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" - }, - "exemptionCode": { - "type": "string", - "maxLength": 1, - "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" - }, - "taxType": { - "type": "string", - "maxLength": 10, - "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" - }, - "taxSummary": { - "type": "string", - "maxLength": 12, - "description": "Summary of all tax types\n" - } - } - }, - "insuranceAmount": { - "type": "string", - "maxLength": 12, - "description": "Insurance charges.\nField is conditional and can include decimal point.\n" - }, - "oneWayDropOffAmount": { - "type": "string", - "maxLength": 12, - "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" - }, - "adjustedAmountIndicator": { - "type": "string", - "maxLength": 1, - "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" - }, - "adjustedAmount": { - "type": "string", - "maxLength": 12, - "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" - }, - "fuelCharges": { - "type": "string", - "maxLength": 12, - "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" - }, - "weeklyRentalRate": { - "type": "string", - "maxLength": 12, - "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" - }, - "dailyRentalRate": { - "type": "string", - "maxLength": 12, - "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" - }, - "ratePerMile": { - "type": "string", - "maxLength": 12, - "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" - }, - "mileageCharge": { - "type": "string", - "maxLength": 12, - "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" - }, - "extraMileageCharge": { - "type": "string", - "maxLength": 12, - "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" - }, - "lateFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" - }, - "towingCharge": { - "type": "string", - "maxLength": 4, - "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" - }, - "extraCharge": { - "type": "string", - "maxLength": 12, - "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" - }, - "gpsCharge": { - "type": "string", - "maxLength": 12, - "description": "Amount charged for renting a Global Positioning Service (GPS).\n" - }, - "phoneCharge": { - "type": "string", - "maxLength": 12, - "description": "Additional charges incurred for phone usage included on the total bill.\n" - }, - "parkingViolationCharge": { - "type": "string", - "maxLength": 12, - "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" - }, - "otherCharges": { - "type": "string", - "maxLength": 12, - "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" - }, - "companyName": { - "type": "string", - "maxLength": 50, - "description": "Merchant to send their auto rental company name\n" - }, - "affiliateName": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the affiliate name.\n" - } - } - }, - "lodging": { - "type": "object", - "properties": { - "checkInDate": { - "type": "string", - "maxLength": 6, - "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" - }, - "checkOutDate": { - "type": "string", - "maxLength": 6, - "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" - }, - "room": { - "type": "array", - "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", - "items": { - "type": "object", - "properties": { - "dailyRate": { - "type": "string", - "maxLength": 8, - "description": "Daily cost of the room.\n" - }, - "numberOfNights": { - "type": "integer", - "minimum": 1, - "maximum": 9999, - "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" - } - } - } - }, - "smokingPreference": { - "type": "string", - "maxLength": 1, - "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" - }, - "numberOfRooms": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Number of rooms booked by the cardholder.\n" - }, - "numberOfGuests": { - "type": "integer", - "minimum": 1, - "maximum": 99, - "description": "Number of guests staying in the room.\n" - }, - "roomBedType": { - "type": "string", - "maxLength": 12, - "description": "Type of room, such as queen, king, or two doubles.\n" - }, - "roomTaxType": { - "type": "string", - "maxLength": 10, - "description": "Type of tax, such as tourist or hotel.\n" - }, - "roomRateType": { - "type": "string", - "maxLength": 12, - "description": "Type of rate, such as corporate or senior citizen.\n" - }, - "guestName": { - "type": "string", - "maxLength": 40, - "description": "Name of the guest under which the room is reserved.\n" - }, - "customerServicePhoneNumber": { - "type": "string", - "maxLength": 17, - "description": "Your toll-free customer service phone number.\n" - }, - "corporateClientCode": { - "type": "string", - "maxLength": 17, - "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" - }, - "additionalDiscountAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of an additional coupon or discount.\n" - }, - "roomLocation": { - "type": "string", - "maxLength": 10, - "description": "Location of room, such as lake view or ocean view.\n" - }, - "specialProgramCode": { - "type": "string", - "maxLength": 1, - "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" - }, - "totalTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount.\n" - }, - "prepaidCost": { - "type": "string", - "maxLength": 12, - "description": "Prepaid amount, such as a deposit.\n" - }, - "foodAndBeverageCost": { - "type": "string", - "maxLength": 12, - "description": "Cost for all food and beverages.\n" - }, - "roomTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax for the room.\n" - }, - "adjustmentAmount": { - "type": "string", - "maxLength": 12, - "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" - }, - "phoneCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of telephone services.\n" - }, - "restaurantCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of restaurant purchases\n" - }, - "roomServiceCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of room service.\n" - }, - "miniBarCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of mini-bar purchases.\n" - }, - "laundryCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of laundry services.\n" - }, - "miscellaneousCost": { - "type": "string", - "maxLength": 12, - "description": "Miscellaneous costs.\n" - }, - "giftShopCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of gift shop purchases.\n" - }, - "movieCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of movies.\n" - }, - "healthClubCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of health club services.\n" - }, - "valetParkingCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of valet parking services.\n" - }, - "cashDisbursementCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of the cash that was disbursed plus any associated service fees\n" - }, - "nonRoomCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of non-room purchases, such as meals and gifts.\n" - }, - "businessCenterCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of business center services.\n" - }, - "loungeBarCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of lounge and bar purchases.\n" - }, - "transportationCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of transportation services.\n" - }, - "gratuityAmount": { - "type": "string", - "maxLength": 12, - "description": "Gratuity.\n" - }, - "conferenceRoomCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of conference room services.\n" - }, - "audioVisualCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of audio visual services.\n" - }, - "banquestCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of banquet services.\n" - }, - "nonRoomTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Tax on non-room purchases.\n" - }, - "earlyCheckOutCost": { - "type": "string", - "maxLength": 12, - "description": "Service fee for early departure.\n" - }, - "internetAccessCost": { - "type": "string", - "maxLength": 12, - "description": "Cost of Internet access.\n" - }, - "name": { - "type": "string", - "maxLength": 255, - "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" - }, - "hotelName": { - "type": "string", - "description": "The name of the hotel for which the reservation was made.\n" - }, - "checkInDateTime": { - "type": "string", - "description": "The date of the check-in in GMT+8 offset.\n" - }, - "checkOutDateTime": { - "type": "string", - "description": "The date of the check-out in GMT+8 offset.\n" - } - } - }, - "transit": { - "type": "object", - "properties": { - "airline": { - "type": "object", - "properties": { - "isDomestic": { - "type": "string", - "maxLength": 255, - "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" - }, - "bookingReferenceNumber": { - "type": "string", - "maxLength": 15, - "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" - }, - "carrierName": { - "type": "string", - "maxLength": 15, - "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" - }, - "ticketIssuer": { - "type": "object", - "properties": { - "code": { - "type": "string", - "maxLength": 4, - "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" - }, - "name": { - "type": "string", - "maxLength": 20, - "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" - }, - "address": { - "type": "string", - "maxLength": 16, - "description": "Address of the company issuing the ticket.\n" - }, - "locality": { - "type": "string", - "maxLength": 18, - "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 18, - "description": "State in which transaction occured.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Zip code of the city in which transaction occured.\n" - }, - "country": { - "type": "string", - "maxLength": 18, - "description": "Country in which transaction occured.\n" - } - } - }, - "ticketNumber": { - "type": "string", - "maxLength": 15, - "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "checkDigit": { - "type": "string", - "maxLength": 1, - "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" - }, - "restrictedTicketIndicator": { - "type": "integer", - "maxLength": 1, - "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "transactionType": { - "type": "integer", - "maxLength": 2, - "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" - }, - "extendedPaymentCode": { - "type": "string", - "maxLength": 3, - "description": "The field is not currently supported.\n" - }, - "passengerName": { - "type": "string", - "maxLength": 42, - "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" - }, - "customerCode": { - "type": "string", - "maxLength": 40, - "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "documentType": { - "type": "string", - "maxLength": 1, - "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" - }, - "documentNumber": { - "type": "string", - "maxLength": 14, - "description": "The field is not currently supported.\n" - }, - "documentNumberOfParts": { - "type": "integer", - "maxLength": 4, - "description": "The field is not currently supported.\n" - }, - "invoiceNumber": { - "type": "string", - "maxLength": 25, - "description": "Invoice number for the airline transaction.\n" - }, - "invoiceDate": { - "type": "integer", - "maxLength": 8, - "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" - }, - "additionalCharges": { - "type": "string", - "maxLength": 20, - "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" - }, - "totalFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" - }, - "clearingSequence": { - "type": "string", - "maxLength": 2, - "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" - }, - "clearingCount": { - "type": "string", - "maxLength": 2, - "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" - }, - "totalClearingAmount": { - "type": "string", - "maxLength": 20, - "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" - }, - "numberOfPassengers": { - "type": "integer", - "maxLength": 3, - "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" - }, - "reservationSystemCode": { - "type": "string", - "maxLength": 20, - "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" - }, - "processIdentifier": { - "type": "string", - "maxLength": 3, - "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" - }, - "ticketIssueDate": { - "type": "string", - "maxLength": 8, - "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" - }, - "electronicTicketIndicator": { - "type": "boolean", - "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" - }, - "originalTicketNumber": { - "type": "string", - "maxLength": 14, - "description": "Original ticket number when the transaction is for a replacement ticket.\n" - }, - "purchaseType": { - "type": "string", - "maxLength": 3, - "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" - }, - "creditReasonIndicator": { - "type": "string", - "maxLength": 1, - "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" - }, - "ticketChangeIndicator": { - "type": "string", - "maxLength": 1, - "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" - }, - "planNumber": { - "type": "string", - "maxLength": 1, - "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" - }, - "arrivalDate": { - "type": "string", - "maxLength": 8, - "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" - }, - "restrictedTicketDesciption": { - "type": "string", - "maxLength": 20, - "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" - }, - "exchangeTicketAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" - }, - "exchangeTicketFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" - }, - "reservationType": { - "type": "string", - "maxLength": 32, - "description": "The field is not currently supported.\n" - }, - "boardingFeeAmount": { - "type": "string", - "maxLength": 12, - "description": "Boarding fee.\n" - }, - "legs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "carrierCode": { - "type": "string", - "maxLength": 4, - "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "flightNumber": { - "type": "string", - "maxLength": 6, - "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "originatingAirportCode": { - "type": "string", - "maxLength": 5, - "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "class": { - "type": "string", - "maxLength": 3, - "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "stopoverIndicator": { - "type": "integer", - "maxLength": 1, - "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "departureDate": { - "type": "integer", - "maxLength": 8, - "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "destinationAirportCode": { - "type": "string", - "maxLength": 3, - "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "fareBasis": { - "type": "string", - "maxLength": 15, - "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" - }, - "departTaxAmount": { - "type": "string", - "maxLength": 12, - "description": "Amount of departure tax for this leg of the trip.\n" - }, - "conjunctionTicket": { - "type": "string", - "maxLength": 25, - "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "exchangeTicketNumber": { - "type": "string", - "maxLength": 25, - "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "couponNumber": { - "type": "string", - "maxLength": 1, - "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "departureTime": { - "type": "integer", - "maxLength": 4, - "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "departureTimeMeridian": { - "type": "string", - "maxLength": 1, - "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "arrivalTime": { - "type": "integer", - "maxLength": 4, - "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "arrivalTimeMeridian": { - "type": "string", - "maxLength": 1, - "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" - }, - "endorsementsRestrictions": { - "type": "string", - "maxLength": 20, - "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "totalFareAmount": { - "type": "string", - "maxLength": 15, - "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "feeAmount": { - "type": "string", - "maxLength": 12, - "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" - } - } - } - }, - "ancillaryInformation": { - "type": "object", - "properties": { - "ticketNumber": { - "type": "string", - "maxLength": 15, - "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" - }, - "passengerName": { - "type": "string", - "maxLength": 20, - "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" - }, - "connectedTicketNumber": { - "type": "string", - "maxLength": 15, - "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" - }, - "creditReasonIndicator": { - "type": "string", - "maxLength": 15, - "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" - }, - "service": { - "type": "array", - "items": { - "type": "object", - "properties": { - "categoryCode": { - "type": "string", - "maxLength": 4, - "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" - }, - "subCategoryCode": { - "type": "string", - "maxLength": 4, - "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" - } - } - } - } - } - }, - "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.\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" - } - } - }, - "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" - }, - "achVerification": { - "type": "object", - "properties": { - "resultCode": { - "type": "string", - "maxLength": 2, - "description": "Results from the ACH verification service.\n" - }, - "resultCodeRaw": { - "type": "string", - "maxLength": 10, - "description": "Raw results from the ACH verification service.\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" - }, - "updateTimeUtc": { - "type": "string", - "description": "The date and time when the transaction was last updated, in Internet date and time format.\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" - } - } - }, - "correctedRoutingNumber": { - "type": "string", - "maxLength": 9, - "description": "Corrected account number from the ACH verification service.\n" - } - } - }, - "customer": { - "type": "object", - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentInstrument": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "instrumentIdentifier": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 12, - "maxLength": 32 - }, - "state": { - "type": "string", - "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" - } - } - }, - "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" - }, - "foreignAmount": { - "type": "string", - "maxLength": 15, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - }, - "foreignCurrency": { - "type": "string", - "maxLength": 5, - "description": "Set this field to the converted amount that was returned by the DCC provider.\n" - } - } - }, - "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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" - }, - "transactionId": { - "type": "string", - "maxLength": 30, - "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } - }, - "agreementInformation": { - "type": "object", - "properties": { - "agreementId": { - "type": "string", - "maxLength": 50, - "description": "Value of the returned in the billing agreement service response.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "transactionLocalDateTime": { - "type": "string", - "maxLength": 16, - "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", - "items": { - "type": "string" - } - } - } - } - }, - "example": { - "clientReferenceInformation": { - "transactionId": "" - } - } - } - }, - { - "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" - }, - "transactionId": { - "type": "string", - "maxLength": 30, - "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } - }, - "agreementInformation": { - "type": "object", - "properties": { - "agreementId": { - "type": "string", - "maxLength": 50, - "description": "Value of the returned in the billing agreement service response.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "transactionLocalDateTime": { - "type": "string", - "maxLength": 16, - "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", - "items": { - "type": "string" - } - } - } - } - }, - "example": { - "clientReferenceInformation": { - "transactionId": "" - } - } - } - }, - { - "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" - }, - "transactionId": { - "type": "string", - "maxLength": 30, - "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } - }, - "agreementInformation": { - "type": "object", - "properties": { - "agreementId": { - "type": "string", - "maxLength": 50, - "description": "Value of the returned in the billing agreement service response.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "transactionLocalDateTime": { - "type": "string", - "maxLength": 16, - "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", - "items": { - "type": "string" - } - } - } - } - }, - "example": { - "clientReferenceInformation": { - "transactionId": "" - } - } - } - }, - { - "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" - }, - "transactionId": { - "type": "string", - "maxLength": 30, - "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } - }, - "agreementInformation": { - "type": "object", - "properties": { - "agreementId": { - "type": "string", - "maxLength": 50, - "description": "Value of the returned in the billing agreement service response.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "transactionLocalDateTime": { - "type": "string", - "maxLength": 16, - "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", - "items": { - "type": "string" - } - } - } - } - }, - "example": { - "clientReferenceInformation": { - "transactionId": "" - } - } - } - }, - { - "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "subTypeName": { - "type": "string", - "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" - } - } - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "paymentId": { - "type": "string", - "maxLength": 28, - "description": "This field is to accept the id of credit/capture in the body of the requests so the type of void can be identified and processed correctly." - } - } - } - }, - "example": { - "clientReferenceInformation": { - "transactionId": "" - } - } - } - } - ], - "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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 date and time search range to get a list of Batch Files ready for settlement", - "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": "This API provides details like upload date, completion date, transaction count and accepted and rejected transaction count of the individual batch file using the batch id", - "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", - "isMLEsupported": true - }, - "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" - } - } - }, - "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\n - `AP_ORDER_STATUS`: Use this when Alternative Payment check status service for order status request.\n\n - `AP_AUTH_STATUS`: Use this when Alternative Payment check status service for auth status request.\n\n - `AP_CAPTURE_STATUS`: Use this when Alternative Payment check status service for capture status request.\n\n - `AP_REFUND_STATUS`: Use this when Alternative Payment check status service for refund status request.\n", - "items": { - "type": "string" - } - } - } - } - } - } - } - ], - "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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", - "maxLength": 36, - "description": "Indicates whether the transaction is eligible for seller protection. The values returned are described below.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n- `NOT_ELIGIBLE`\n" - }, - "disputeCategories": { - "type": "array", - "items": { - "type": "string" - }, - "description": "An array of conditions that are covered for the transaction.\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" - } - } - }, - "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": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - }, - "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\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": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "aggregatorInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 37, - "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "subMerchant": { - "type": "object", - "properties": { - "cardAcceptorId": { - "type": "string", - "maxLength": 15, - "description": "Unique identifier assigned by the payment card company to the sub-merchant." - }, - "id": { - "type": "string", - "maxLength": 20, - "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" - }, - "name": { - "type": "string", - "maxLength": 37, - "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" - }, - "address1": { - "type": "string", - "maxLength": 38, - "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "locality": { - "type": "string", - "maxLength": 21, - "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "region": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "email": { - "type": "string", - "maxLength": 40, - "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" - } - } - } - } - }, - "consumerAuthenticationInformation": { - "type": "object", - "properties": { - "authenticationTransactionContextId": { - "type": "string", - "maxLength": 30, - "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" - }, - "cavv": { - "type": "string", - "maxLength": 255, - "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" - }, - "transactionToken": { - "type": "string", - "maxLength": 256, - "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" - }, - "xid": { - "type": "string", - "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "httpAcceptBrowserValue": { - "type": "string", - "maxLength": 255, - "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" - }, - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "userAgentBrowserValue": { - "type": "string", - "maxLength": 255, - "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" - } - } - }, - "installmentInformation": { - "type": "object", - "properties": { - "alertPreference": { - "type": "string", - "maxLength": 5, - "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" - }, - "firstInstallmentDate": { - "type": "string", - "maxLength": 6, - "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" - }, - "identifier": { - "type": "string", - "maximum": 60, - "description": "Standing Instruction/Installment identifier.\n" - }, - "lastInstallmentDate": { - "type": "string", - "maxLength": 8, - "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "maxAmount": { - "type": "string", - "maxLength": 12, - "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "minAmount": { - "type": "string", - "maxLength": 12, - "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "paymentType": { - "type": "string", - "maxLength": 1, - "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" - }, - "preferredDay": { - "type": "string", - "maxLength": 2, - "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" - }, - "sequence": { - "type": "integer", - "maximum": 999, - "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "postalCode": { - "type": "string", - "maxLength": 14, - "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - } - } - }, - "categoryCode": { - "type": "integer", - "maximum": 9999, - "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "administrativeArea": { - "type": "string", - "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" - }, - "transactionLocalDateTime": { - "type": "string", - "maxLength": 14, - "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" - }, - "cancelUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - }, - "successUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - }, - "failureUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - }, - "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\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" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - }, - "transactionType": { - "type": "string", - "maxLength": 1, - "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" - }, - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "gender": { - "type": "string", - "maxLength": 1, - "description": "Customer's gender. Possible values are F (female), M (male), O (other)." - }, - "language": { - "type": "string", - "maxLength": 5, - "description": "language setting of the user" - } - } - } - }, - "example": { - "agreementInformation": { - "id": "G8UD2OKG49UW", - "dateSigned": "20181109" - }, - "clientReferenceInformation": { - "code": "TC84105-1" - }, - "buyerInformation": { - "merchantCustomerId": "123456", - "dateOfBirth": "19990101", - "gender": "F", - "language": "en" - }, - "deviceInformation": { - "httpAcceptBrowserValue": "http", - "userAgentBrowserValue": "safari", - "ipAddress": "10.10.10.10" - }, - "consumerAuthenticationInformation": { - "transactionFlowIndicator": "2" - }, - "processingInformation": { - "commerceIndicator": "rpy", - "actionList": [ - "CONSUMER_AUTHENTICATION" - ] - }, - "aggregatorInformation": { - "subMerchant": { - "name": "rupay" - }, - "name": "aggregatorname" - }, - "orderInformation": { - "billTo": { - "country": "IN", - "firstName": "Krishna", - "middleName": "Foster", - "lastName": "CYBS", - "phoneNumber": "9999999999", - "address1": "201 S. Division St.", - "address2": "Suite A101", - "district": "BLR", - "county": "San Francisco", - "postalCode": "560048", - "locality": "NPCI", - "company": "Visa", - "administrativeArea": "MI", - "email": "test@cybs.com", - "title": "Senior Buyer" - }, - "amountDetails": { - "totalAmount": "0.00", - "currency": "INR" - } - }, - "merchantInformation": { - "cancelUrl": "https://www.valid.merchant.redirect.url.from.request.html?actioncancel", - "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess", - "failureUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionfailure", - "transactionLocalDateTime": "20211216124549", - "categoryCode": "1234", - "merchantDescriptor": { - "country": "IN", - "contact": "1234567890", - "postalCode": "213213", - "locality": "local", - "administrativeArea": "TN" - } - }, - "paymentInformation": { - "paymentType": { - "method": { - "name": "SENTENIAL" - }, - "name": "directDebitBacs" - }, - "bank": { - "account": { - "number": "1234567890ABCDEFGHIJ0123456789" - }, - "iban": "NL51ABNC1122334455", - "swiftCode": "ABNCNL2AGMK", - "scheme": "bacs" - }, - "card": { - "expirationYear": "2031", - "number": "6080906188079", - "securityCode": "123", - "expirationMonth": "12", - "type": "061" - } - }, - "installmentInformation": { - "minAmount": "10", - "sequence": "2", - "firstInstallmentDate": "01122023", - "alertPreference": "SMS", - "lastInstallmentDate": "01012025", - "preferredDay": "05", - "maxAmount": "100", - "totalCount": "24", - "frequency": "1", - "paymentType": "1" - } - } - } - } - ], - "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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "aggregatorInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 37, - "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" - }, - "subMerchant": { - "type": "object", - "properties": { - "cardAcceptorId": { - "type": "string", - "maxLength": 15, - "description": "Unique identifier assigned by the payment card company to the sub-merchant." - }, - "id": { - "type": "string", - "maxLength": 20, - "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" - }, - "name": { - "type": "string", - "maxLength": 37, - "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" - }, - "address1": { - "type": "string", - "maxLength": 38, - "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "locality": { - "type": "string", - "maxLength": 21, - "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "region": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 15, - "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" - }, - "email": { - "type": "string", - "maxLength": 40, - "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" - } - } - } - } - }, - "consumerAuthenticationInformation": { - "type": "object", - "properties": { - "authenticationTransactionContextId": { - "type": "string", - "maxLength": 30, - "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" - }, - "cavv": { - "type": "string", - "maxLength": 255, - "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" - }, - "transactionToken": { - "type": "string", - "maxLength": 256, - "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" - }, - "xid": { - "type": "string", - "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "httpAcceptBrowserValue": { - "type": "string", - "maxLength": 255, - "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" - }, - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "userAgentBrowserValue": { - "type": "string", - "maxLength": 255, - "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" - } - } - }, - "installmentInformation": { - "type": "object", - "properties": { - "alertPreference": { - "type": "string", - "maxLength": 5, - "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" - }, - "firstInstallmentDate": { - "type": "string", - "maxLength": 6, - "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" - }, - "identifier": { - "type": "string", - "maximum": 60, - "description": "Standing Instruction/Installment identifier.\n" - }, - "lastInstallmentDate": { - "type": "string", - "maxLength": 8, - "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "maxAmount": { - "type": "string", - "maxLength": 12, - "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "minAmount": { - "type": "string", - "maxLength": 12, - "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "paymentType": { - "type": "string", - "maxLength": 1, - "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" - }, - "preferredDay": { - "type": "string", - "maxLength": 2, - "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" - }, - "sequence": { - "type": "integer", - "maximum": 999, - "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "postalCode": { - "type": "string", - "maxLength": 14, - "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - } - } - }, - "categoryCode": { - "type": "integer", - "maximum": 9999, - "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "administrativeArea": { - "type": "string", - "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" - }, - "transactionLocalDateTime": { - "type": "string", - "maxLength": 14, - "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" - }, - "cancelUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - }, - "successUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - }, - "failureUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - }, - "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\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" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - }, - "transactionType": { - "type": "string", - "maxLength": 1, - "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" - }, - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "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", - "isMLEsupported": true - }, - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "originalTransactionId": { - "type": "string", - "maxLength": 32, - "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "thirdPartyCertificationNumber": { - "type": "string", - "maxLength": 12, - "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "installmentInformation": { - "type": "object", - "properties": { - "alertPreference": { - "type": "string", - "maxLength": 5, - "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" - }, - "firstInstallmentDate": { - "type": "string", - "maxLength": 6, - "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" - }, - "identifier": { - "type": "string", - "maximum": 60, - "description": "Standing Instruction/Installment identifier.\n" - }, - "lastInstallmentDate": { - "type": "string", - "maxLength": 8, - "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "maxAmount": { - "type": "string", - "maxLength": 12, - "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "minAmount": { - "type": "string", - "maxLength": 12, - "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" - }, - "paymentType": { - "type": "string", - "maxLength": 1, - "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" - }, - "preferredDay": { - "type": "string", - "maxLength": 2, - "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" - }, - "sequence": { - "type": "integer", - "maximum": 999, - "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "postalCode": { - "type": "string", - "maxLength": 14, - "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - } - } - }, - "categoryCode": { - "type": "integer", - "maximum": 9999, - "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "administrativeArea": { - "type": "string", - "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" - }, - "transactionLocalDateTime": { - "type": "string", - "maxLength": 14, - "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" - }, - "cancelUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - }, - "successUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - }, - "failureUrl": { - "type": "string", - "maxLength": 255, - "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - }, - "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\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" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - }, - "transactionType": { - "type": "string", - "maxLength": 1, - "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" - }, - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", - "isMLEsupported": true - }, - "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \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": 32, - "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" - } - } - } - } - }, - "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" - }, - "userName": { - "type": "string", - "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\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 -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" - }, - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - } - }, - "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", - "isMLEsupported": true - }, - "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" - } - } - }, - "bank": { - "type": "object", - "properties": { - "swiftCode": { - "type": "string", - "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" - }, - "account": { - "type": "object", - "properties": { - "number": { - "type": "string", - "maxLength": 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" - } - } - } - } - }, - "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" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "district": { - "type": "string", - "maxLength": 50, - "description": "Neighborhood, community, or region within a city or municipality." - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 15, - "description": "Total discount amount applied to the order.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount for all the items in the order.\n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 15, - "description": "Total charges for any import or export duties included in the order.\n" - }, - "exchangeRate": { - "type": "string", - "maxLength": 13, - "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" - }, - "exchangeRateTimeStamp": { - "type": "string", - "maxLength": 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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "costCenter": { - "type": "string", - "description": "Cost centre of the merchant." - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - } - } - }, - "shippingDetails": { - "type": "object", - "properties": { - "shippingMethod": { - "type": "string", - "maxLength": 32, - "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" - } - } - } - } - }, - "buyerInformation": { - "type": "object", - "properties": { - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "gender": { - "type": "string", - "maxLength": 3, - "description": "Customer's gender. Possible values are F (female), M (male),O (other)." - }, - "language": { - "type": "string", - "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "deviceType": { - "type": "string", - "maxLength": 60, - "description": "The device type at the client side." - }, - "id": { - "type": "string", - "maxLength": 50, - "description": "../../../commons/definitions/device.yaml#/properties/id" - }, - "userAgent": { - "type": "string", - "maxLength": 40, - "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "alternateName": { - "type": "string", - "maxLength": 13, - "description": "An alternate name for the merchant.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of merchant's address.\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "agreementInformation": { - "type": "object", - "properties": { - "indicator": { - "type": "string", - "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" - }, - "description": { - "type": "string", - "description": "Description of the billing agreement" - } - } - }, - "travelInformation": { - "type": "object", - "properties": { - "autoRental": { - "type": "object", - "properties": { - "companyName": { - "type": "string", - "maxLength": 50, - "description": "Merchant to send their auto rental company name\n" - }, - "affiliateName": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the affiliate name.\n" - }, - "rentalAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" - }, - "address1": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "address2": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" - } - } - }, - "returnAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City where the auto was returned to the rental agency.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" - }, - "address1": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's street address.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the return address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" - } - } - }, - "returnDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "rentalDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "customerName": { - "type": "string", - "maxLength": 40, - "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" - } - } - } - } - } - } - } - } - ], - "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \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", - "isMLEsupported": true - }, - "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" - } - } - }, - "bank": { - "type": "object", - "properties": { - "swiftCode": { - "type": "string", - "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" - }, - "account": { - "type": "object", - "properties": { - "number": { - "type": "string", - "maxLength": 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" - } - } - } - } - }, - "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" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "district": { - "type": "string", - "maxLength": 50, - "description": "Neighborhood, community, or region within a city or municipality." - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 15, - "description": "Total discount amount applied to the order.\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 12, - "description": "Total tax amount for all the items in the order.\n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 15, - "description": "Total charges for any import or export duties included in the order.\n" - }, - "exchangeRate": { - "type": "string", - "maxLength": 13, - "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" - }, - "exchangeRateTimeStamp": { - "type": "string", - "maxLength": 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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "costCenter": { - "type": "string", - "description": "Cost centre of the merchant." - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - } - } - }, - "shippingDetails": { - "type": "object", - "properties": { - "shippingMethod": { - "type": "string", - "maxLength": 32, - "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" - } - } - } - } - }, - "buyerInformation": { - "type": "object", - "properties": { - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "gender": { - "type": "string", - "maxLength": 3, - "description": "Customer's gender. Possible values are F (female), M (male),O (other)." - }, - "language": { - "type": "string", - "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "deviceType": { - "type": "string", - "maxLength": 60, - "description": "The device type at the client side." - }, - "id": { - "type": "string", - "maxLength": 50, - "description": "../../../commons/definitions/device.yaml#/properties/id" - }, - "userAgent": { - "type": "string", - "maxLength": 40, - "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "alternateName": { - "type": "string", - "maxLength": 13, - "description": "An alternate name for the merchant.\n" - }, - "contact": { - "type": "string", - "maxLength": 14, - "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of merchant's address.\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "agreementInformation": { - "type": "object", - "properties": { - "indicator": { - "type": "string", - "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" - }, - "description": { - "type": "string", - "description": "Description of the billing agreement" - } - } - }, - "travelInformation": { - "type": "object", - "properties": { - "autoRental": { - "type": "object", - "properties": { - "companyName": { - "type": "string", - "maxLength": 50, - "description": "Merchant to send their auto rental company name\n" - }, - "affiliateName": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the affiliate name.\n" - }, - "rentalAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" - }, - "address1": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "address2": { - "type": "string", - "maxLength": 13, - "description": "Address from where the vehicle was rented.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" - } - } - }, - "returnAddress": { - "type": "object", - "properties": { - "city": { - "type": "string", - "maxLength": 25, - "description": "City where the auto was returned to the rental agency.\n" - }, - "state": { - "type": "string", - "maxLength": 3, - "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" - }, - "country": { - "type": "string", - "maxLength": 3, - "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "locationId": { - "type": "string", - "maxLength": 10, - "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" - }, - "address1": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the rental address's street address.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 50, - "description": "When merchant wants to send the return address's postal code.\n" - }, - "location": { - "type": "string", - "maxLength": 38, - "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" - } - } - }, - "returnDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "rentalDateTime": { - "type": "string", - "maxLength": 21, - "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" - }, - "customerName": { - "type": "string", - "maxLength": 40, - "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" - } - } - } - } - } - } - } - }, - { - "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \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/intents": { - "post": { - "summary": "Create an Order", - "description": "A create order request enables you to send the itemized details along with the order. This API can be used by merchants initiating their transactions with the create order API. \n", - "tags": [ - "orders" - ], - "operationId": "createOrder", - "x-devcenter-metaData": { - "categoryTag": "Payments" - }, - "parameters": [ - { - "name": "createOrderRequest", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "clientReferenceInformation": { - "type": "object", - "properties": { - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "processingInstruction": { - "type": "string", - "maxLength": 36, - "description": "The instruction to process an order.\n- default value: 'NO_INSTRUCTION'\n- 'ORDER_SAVED_EXPLICITLY'\n" - }, - "authorizationOptions": { - "type": "object", - "properties": { - "authType": { - "type": "string", - "maxLength": 15, - "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" - } - } - }, - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the order to invoke bundled services along with order.\nPossible values:\n- `AP_ORDER`: Use this when Alternative Payment Order service is requested.\n", - "items": { - "type": "string" - } - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "email": { - "type": "string", - "maxLength": 254, - "description": "Email address of the merchant." - } - } - }, - "cancelUrl": { - "type": "string", - "maxLength": 255, - "description": "customer would be redirected to this url based on the decision of the transaction" - }, - "successUrl": { - "type": "string", - "maxLength": 255, - "description": "customer would be redirected to this url based on the decision of the transaction" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n#### Via PayPal ptsV2CreateOrderPost201Response\n - 'payPal'\n - 'venmo'\n" - } - } - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 32, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 32, - "description": "Discount amount for the transaction. \n" - }, - "shippingAmount": { - "type": "string", - "maxLength": 32, - "description": "Aggregate shipping charges for the transactions.\n" - }, - "shippingDiscountAmount": { - "type": "string", - "maxLength": 32, - "description": "Shipping discount amount for the transaction. \n" - }, - "taxAmount": { - "type": "string", - "maxLength": 32, - "description": "Total tax amount. \n" - }, - "insuranceAmount": { - "type": "string", - "maxLength": 32, - "description": "Amount being charged for the insurance fee. \n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 32, - "description": "Amount being charged as duty amount. \n" - } - } - }, - "billTo": { - "type": "object", - "properties": { - "email": { - "type": "string", - "minLength": 3, - "maxLength": 254, - "description": "Email address of the PayPal account holder.\n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 2 - }, - "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", - "maxItems": 10, - "items": { - "type": "object", - "properties": { - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - }, - "productSku": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "typeOfSupply": { - "type": "string", - "maxLength": 2, - "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "productDescription": { - "type": "string", - "description": "Brief description of item." - } - } - } - } - } - }, - "example": { - "orderInformation": { - "amountDetails": { - "totalAmount": "102.21", - "currency": "USD" - }, - "shipTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS" - }, - "invoiceDescription": { - "productDescription": "Description of the product invoice" - } - }, - "merchantInformation": { - "merchantDescriptor": { - "name": "Merchant1", - "email": "merchant1@gmail.com" - } - }, - "processingInformation": { - "processingInstruction": "NO_INSTRUCTION", - "authorizationOptions": { - "authType": "AUTHORIZE" - }, - "actionList": "AP_ORDER" - }, - "paymentInformation": { - "paymentType": { - "method": { - "name": "payPal" - }, - "name": "ewallet" - } - } - } - } - } - ], - "responses": { - "201": { - "description": "Successful response.", - "schema": { - "title": "ptsV2CreateOrderPost201Response", - "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" - }, - "updateTimeUtc": { - "type": "string", - "description": "The date and time when the request was last updated.\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\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" - }, - "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": { - "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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`" - }, - "paymentUrl": { - "type": "string", - "maxLength": 15, - "description": "Direct the customer to this URL to complete the payment." - } - } - }, - "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" - }, - "userName": { - "type": "string", - "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\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" - } - } - } - }, - "example": { - "submitTimeUtc": "2024-06-01T071957Z", - "updateTimeUtc": "2024-06-01T071957Z", - "status": "CREATED", - "reconciliationId": "39570726X3E1LBQR", - "clientReferenceInformation": { - "code": "DEFAULT" - }, - "processorInformation": { - "transactionId": "1234qwerty1234" - } - } - } - }, - "400": { - "description": "Invalid request.", - "schema": { - "type": "object", - "title": "ptsV2CreateOrderPost400Response", - "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": "ptsV2CreateOrderPost502Response", - "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 Order", - "sample-name": "Create Order", - "value": { - "orderInformation": { - "amountDetails": { - "totalAmount": "102.21", - "currency": "USD" - }, - "shipTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS" - } - }, - "merchantInformation": { - "merchantDescriptor": { - "name": "Merchant1", - "email": "merchant1@gmail.com" - } - }, - "processingInformation": { - "processingInstruction": "NO_INSTRUCTION", - "authorizationOptions": { - "authType": "AUTHORIZE" - }, - "actionList": "AP_ORDER" - }, - "paymentInformation": { - "paymentType": { - "method": { - "name": "payPal" - }, - "name": "ewallet" - } - } - } - } - } - } - }, - "/pts/v2/intents/{id}": { - "patch": { - "summary": "Update an Order", - "description": "This API can be used in two flavours - for updating the order as well as saving the order.\n", - "tags": [ - "orders" - ], - "operationId": "updateOrder", - "x-devcenter-metaData": { - "categoryTag": "Payments" - }, - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The ID returned from the original create order response.", - "required": true, - "type": "string" - }, - { - "name": "updateOrderRequest", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "clientReferenceInformation": { - "type": "object", - "properties": { - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 32, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 32, - "description": "Discount amount for the transaction. \n" - }, - "shippingAmount": { - "type": "string", - "maxLength": 32, - "description": "Aggregate shipping charges for the transactions.\n" - }, - "shippingDiscountAmount": { - "type": "string", - "maxLength": 32, - "description": "Shipping discount amount for the transaction. \n" - }, - "taxAmount": { - "type": "string", - "maxLength": 32, - "description": "Total tax amount. \n" - }, - "insuranceAmount": { - "type": "string", - "maxLength": 32, - "description": "Amount being charged for the insurance fee. \n" - }, - "dutyAmount": { - "type": "string", - "maxLength": 32, - "description": "Amount being charged as duty amount. \n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 2 - }, - "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", - "maxItems": 10, - "items": { - "type": "object", - "properties": { - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - }, - "productSku": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "typeOfSupply": { - "type": "string", - "maxLength": 2, - "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "productDescription": { - "type": "string", - "description": "Brief description of item." - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "email": { - "type": "string", - "maxLength": 254, - "description": "Email address of the merchant." - } - } - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "paymentType": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" - }, - "method": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n#### Via PayPal ptsV2CreateOrderPost201Response\n - 'payPal'\n - 'venmo'\n" - } - } - } - } - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "actionList": { - "type": "array", - "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_UPDATE_ORDER`: Use this when Alternative Payment Update order service is requested.\n- `AP_EXTEND_ORDER`: Use this when Alternative Payment extend order service is requested.\n", - "items": { - "type": "string" - } - } - } - } - }, - "example": { - "orderInformation": { - "amountDetails": { - "totalAmount": "102.21", - "currency": "USD" - }, - "shipTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS" - }, - "invoiceDescription": { - "productDescription": "Description of the product invoice" - } - }, - "merchantInformation": { - "merchantDescriptor": { - "name": "Merchant1", - "email": "merchant1@gmail.com" - } - }, - "paymentInformation": { - "paymentType": { - "method": { - "name": "payPal" - }, - "name": "ewallet" - } - } - } - } - } - ], - "responses": { - "201": { - "description": "Successful response.", - "schema": { - "title": "ptsV2UpdateOrderPatch201Response", - "type": "object", - "properties": { - "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" - }, - "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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`" - }, - "paymentUrl": { - "type": "string", - "maxLength": 15, - "description": "Direct the customer to this URL to complete the payment." - } - } - } - }, - "example": { - "status": "COMPLETED", - "processorInformation": { - "transactionId": "1234qwerty1234", - "networkTransactionId": "123qwerty123" - } - } - } - }, - "400": { - "description": "Invalid request.", - "schema": { - "type": "object", - "title": "ptsV2UpdateOrderPatch400Response", - "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": "ptsV2UpdateOrderPatch502Response", - "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" - } - } - } - } - } - }, - "/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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - }, - "defaultShippingAddress": { - "readOnly": true, - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customers Shipping Address\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" - } - } - }, - "customer": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customer\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" - } - } - } - } - }, - "id": { - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "The Id of the Shipping Address Token." - }, - "default": { - "type": "boolean", - "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" - }, - "shipTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "First name of the recipient.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Last name of the recipient.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Company associated with the shipping address.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", - "maxLength": 2 - }, - "email": { - "type": "string", - "maxLength": 320, - "description": "Email associated with the shipping address.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Phone number associated with the shipping address.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "properties": { - "creator": { - "type": "string", - "readOnly": true, - "description": "The creator of the Shipping Address." - } - } - } - } - } - } - } - } - } - } - ], - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - }, - "defaultShippingAddress": { - "readOnly": true, - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customers Shipping Address\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" - } - } - }, - "customer": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customer\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" - } - } - } - } - }, - "id": { - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "The Id of the Shipping Address Token." - }, - "default": { - "type": "boolean", - "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" - }, - "shipTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "First name of the recipient.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Last name of the recipient.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Company associated with the shipping address.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", - "maxLength": 2 - }, - "email": { - "type": "string", - "maxLength": 320, - "description": "Email associated with the shipping address.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Phone number associated with the shipping address.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "properties": { - "creator": { - "type": "string", - "readOnly": true, - "description": "The creator of the Shipping Address." - } - } - } - } - } - } - } - } - } - }, - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - }, - "defaultShippingAddress": { - "readOnly": true, - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customers Shipping Address\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" - } - } - }, - "customer": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customer\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" - } - } - } - } - }, - "id": { - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "The Id of the Shipping Address Token." - }, - "default": { - "type": "boolean", - "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" - }, - "shipTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "First name of the recipient.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Last name of the recipient.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Company associated with the shipping address.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", - "maxLength": 2 - }, - "email": { - "type": "string", - "maxLength": 320, - "description": "Email associated with the shipping address.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Phone number associated with the shipping address.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "properties": { - "creator": { - "type": "string", - "readOnly": true, - "description": "The creator of the Shipping Address." - } - } - } - } - } - } - } - } - } - }, - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - }, - "defaultShippingAddress": { - "readOnly": true, - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customers Shipping Address\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" - } - } - }, - "customer": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customer\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" - } - } - } - } - }, - "id": { - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "The Id of the Shipping Address Token." - }, - "default": { - "type": "boolean", - "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" - }, - "shipTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "First name of the recipient.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Last name of the recipient.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Company associated with the shipping address.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", - "maxLength": 2 - }, - "email": { - "type": "string", - "maxLength": 320, - "description": "Email associated with the shipping address.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Phone number associated with the shipping address.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "properties": { - "creator": { - "type": "string", - "readOnly": true, - "description": "The creator of the Shipping Address." - } - } - } - } - } - } - } - } - } - } - ], - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - }, - "defaultShippingAddress": { - "readOnly": true, - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customers Shipping Address\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" - } - } - }, - "customer": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Customer\n", - "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" - } - } - } - } - }, - "id": { - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "The Id of the Shipping Address Token." - }, - "default": { - "type": "boolean", - "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" - }, - "shipTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "First name of the recipient.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Last name of the recipient.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Company associated with the shipping address.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", - "maxLength": 2 - }, - "email": { - "type": "string", - "maxLength": 320, - "description": "Email associated with the shipping address.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Phone number associated with the shipping address.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "properties": { - "creator": { - "type": "string", - "readOnly": true, - "description": "The creator of the Shipping Address." - } - } - } - } - } - } - } - } - } - }, - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - ], - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - ], - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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": "retrieveBinDetails", - "in": "query", - "description": "Retrieve the Bin Details of PAN or network token", - "required": false, - "type": "boolean" - }, - { - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - ], - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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": "retrieveBinDetails", - "in": "query", - "description": "Retrieve the Bin Details of PAN or network token", - "required": false, - "type": "boolean" - }, - { - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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": "retrieveBinDetails", - "in": "query", - "description": "Retrieve the Bin Details of PAN or network token", - "required": false, - "type": "boolean" - }, - { - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - ], - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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": "retrieveBinDetails", - "in": "query", - "description": "Retrieve the Bin Details of PAN or network token", - "required": false, - "type": "boolean" - }, - { - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - ], - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - }, - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - }, - "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": "retrieveBinDetails", - "in": "query", - "description": "Retrieve the Bin Details of PAN or network token", - "required": false, - "type": "boolean" - }, - { - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - }, - "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": "retrieveBinDetails", - "in": "query", - "description": "Retrieve the Bin Details of PAN or network token", - "required": false, - "type": "boolean" - }, - { - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - ], - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - }, - "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": "retrieveBinDetails", - "in": "query", - "description": "Retrieve the Bin Details of PAN or network token", - "required": false, - "type": "boolean" - }, - { - "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "dateOfBirth": { - "type": "string", - "format": "date", - "example": "1960-12-30", - "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type.\n" - }, - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" - }, - "issuedBy": { - "type": "object", - "properties": { - "administrativeArea": { - "type": "string", - "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", - "maxLength": 20 - } - } - } - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Additional address information.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Payment card billing city.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 20, - "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n" - } - } - }, - "processingInformation": { - "type": "object", - "title": "tmsPaymentInstrumentProcessingInfo", - "properties": { - "billPaymentProgramEnabled": { - "type": "boolean", - "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" - }, - "bankTransferOptions": { - "type": "object", - "properties": { - "SECCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - } - } - }, - "merchantInformation": { - "type": "object", - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" - } - } - }, - "tokenizedCard": { - "title": "tmsv2TokenizedCard", - "type": "object", - "properties": { - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" - } - } - } - } - }, - "id": { - "type": "string", - "readOnly": true, - "description": "The Id of the Tokenized Card.\n" - }, - "object": { - "type": "string", - "readOnly": true, - "example": "tokenizedCard", - "description": "The type.\nPossible Values:\n- tokenizedCard\n" - }, - "accountReferenceId": { - "type": "string", - "description": "An identifier provided by the issuer for the account.\n" - }, - "consumerId": { - "type": "string", - "maxLength": 36, - "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." - }, - "createInstrumentIdentifier": { - "type": "boolean", - "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" - }, - "source": { - "type": "string", - "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" - }, - "state": { - "type": "string", - "readOnly": true, - "example": "ACTIVE", - "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" - }, - "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 requestor's network token for the provided PAN and consumer Id, if available.\n" - }, - "cryptogram": { - "type": "string", - "readOnly": true, - "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", - "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" - }, - "securityCode": { - "type": "string", - "readOnly": true, - "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", - "example": "4523" - }, - "eci": { - "type": "string", - "readOnly": true, - "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" - }, - "requestorId": { - "type": "string", - "readOnly": true, - "maxLength": 11, - "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" - }, - "enrollmentId": { - "type": "string", - "readOnly": true, - "description": "Unique id to identify this PAN/ enrollment.\n" - }, - "tokenReferenceId": { - "type": "string", - "readOnly": true, - "description": "Unique ID for netwrok token.\n" - }, - "paymentAccountReference": { - "type": "string", - "readOnly": true, - "description": "Payment account reference.\n" - }, - "card": { - "type": "object", - "description": "Card object used to create a network token\n", - "properties": { - "number": { - "type": "string", - "minLength": 12, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" - }, - "type": { - "type": "string", - "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" - }, - "suffix": { - "type": "string", - "readOnly": true, - "description": "The customer's latest payment card number suffix.\n" - } - } - }, - "passcode": { - "type": "object", - "description": "Passcode by issuer for ID&V.\n", - "properties": { - "value": { - "type": "string", - "description": "OTP generated at issuer.\n" - } - } - }, - "metadata": { - "type": "object", - "readOnly": true, - "description": "Metadata associated with the tokenized card.\n", - "properties": { - "cardArt": { - "title": "TmsCardArt", - "description": "Card art associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "foregroundColor": { - "description": "Card foreground color.\n", - "type": "string", - "readOnly": true - }, - "combinedAsset": { - "description": "Combined card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" - } - } - } - } - } - } - }, - "brandLogoAsset": { - "description": "Brand logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" - } - } - } - } - } - } - }, - "issuerLogoAsset": { - "description": "Issuer logo card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" - } - } - } - } - } - } - }, - "iconAsset": { - "description": "Icon card art asset associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the asset\n" - }, - "_links": { - "type": "object", - "readOnly": true, - "properties": { - "self": { - "type": "object", - "readOnly": true, - "properties": { - "href": { - "type": "string", - "readOnly": true, - "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" - } - } - } - } - } - } - } - } - }, - "issuer": { - "description": "Issuer associated with the tokenized card.\n", - "type": "object", - "readOnly": true, - "properties": { - "name": { - "description": "issuer name.\n", - "type": "string", - "readOnly": true - }, - "shortDescription": { - "description": "issuer short description.\n", - "type": "string", - "readOnly": true - }, - "longDescription": { - "description": "issuer long description.\n", - "type": "string", - "readOnly": true - } - } - } - } - } - } - }, - "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." - } - } - }, - "_embedded": { - "type": "object", - "readOnly": true, - "properties": { - "binLookup": { - "title": "TmsBinLookup", - "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", - "readOnly": true, - "type": "object", - "properties": { - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - } - } - } - } - } - } - } - } - ], - "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 card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n" - } - } - } - } - ], - "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 an instance of Microform on an acceptance page. The capture context is a digitally signed JWT that provides authentication, one-time keys, and the target origin to the Microform Integration application. ", - "properties": { - "clientVersion": { - "type": "string", - "description": "Specify the version of Microform that you want to use.\n" - }, - "targetOrigins": { - "type": "array", - "items": { - "type": "string", - "example": "https://www.test.com" - }, - "description": "The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Microform is defined by the scheme (protocol), hostname (domain) and port number (if used). \n\nYou must use https://hostname (unless you use http://localhost)\nWildcards are NOT supported. Ensure that subdomains are included.\nAny valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc)\n\nExamples:\n - https://example.com\n - https://subdomain.example.com\n - https://example.com:8080

\n\nIf you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example:\n\n targetOrigins: [\n \"https://example.com\",\n \"https://basket.example.com\",\n \"https://ecom.example.com\"\n ]\n" - }, - "allowedCardNetworks": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of card networks you want to use for this Microform transaction.\n\nMicroform currently supports the following card networks:\n- VISA\n- MASTERCARD\n- AMEX\n- CARNET\n- CARTESBANCAIRES\n- CUP\n- DINERSCLUB\n- DISCOVER\n- EFTPOS\n- ELO\n- JCB\n- JCREW\n- MADA\n- MAESTRO\n- MEEZA\n\n**Important:** \n - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request.\n - When integrating Microform (ACH/Echeck) the allowedCardNetworks field is not required in the capture context request.\n - When integrating both Microform (Card) and Microform (ACH/Echeck) at least one card network should be specified in the allowedCardNetworks field in the capture context request.\n" - }, - "allowedPaymentTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Microform:\n- CARD\n- CHECK

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

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

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

\n\n**Important:** \nIf your application does NOT require a card number prefix for routing or identification purposes, set the transientTokenResponseOptions.includeCardPrefix field to False. This will minimize your personal data exposure.\n" - } - } - } - } - } - } - ], - "x-example": { - "example0": { - "summary": "Generate Capture Context (Card)", - "value": { - "clientVersion": "v2", - "targetOrigins": [ - "https://www.test.com" - ], - "allowedCardNetworks": [ - "VISA", - "MASTERCARD", - "AMEX", - "CARNET", - "CARTESBANCAIRES", - "CUP", - "DINERSCLUB", - "DISCOVER", - "EFTPOS", - "ELO", - "JCB", - "JCREW", - "MADA", - "MAESTRO", - "MEEZA" - ], - "allowedPaymentTypes": [ - "CARD" - ] - } - }, - "example1": { - "summary": "Generate Capture Context (ACH/Echeck)", - "value": { - "clientVersion": "v2", - "targetOrigins": [ - "https://www.test.com" - ], - "allowedPaymentTypes": [ - "CHECK" - ] - } - }, - "example2": { - "summary": "Generate Capture Context (Card - Opt-out of receiving card number prefix)", - "value": { - "clientVersion": "v2", - "targetOrigins": [ - "https://www.test.com" - ], - "allowedCardNetworks": [ - "VISA", - "MASTERCARD", - "AMEX", - "CARNET", - "CARTESBANCAIRES", - "CUP", - "DINERSCLUB", - "DISCOVER", - "EFTPOS", - "ELO", - "JCB", - "JCREW", - "MADA", - "MAESTRO", - "MEEZA" - ], - "allowedPaymentTypes": [ - "CARD" - ], - "transientTokenResponseOptions": { - "includeCardPrefix": false - } - } - } - }, - "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" - } - }, - "/flex/v2/sessions": { - "post": { - "summary": "Establish a Payment Session with a Capture Context", - "description": "To establish a payment session, include the API fields you plan to use in that session in the body of the request. The system then returns a JSON Web Token (JWT) that includes the capture context. \nTo determine which fields to include in your capture context, identify the personal information that you wish to isolate from the payment session.\n\n**Capture Context Fields**
\nWhen making a session request, any fields that you request to be added to the capture context are required by default. \nHowever, you can choose to make a field optional by setting the required parameter to false.\n", - "parameters": [ - { - "in": "body", - "name": "generateFlexAPICaptureContextRequest", - "required": true, - "schema": { - "type": "object", - "properties": { - "fields": { - "type": "object", - "properties": { - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "currency": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "address1": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "address2": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "administrativeArea": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "buildingNumber": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "country": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "district": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "locality": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "postalCode": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "email": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "firstName": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "lastName": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "phoneNumber": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "company": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "address1": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "address2": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "administrativeArea": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "buildingNumber": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "country": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "district": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "locality": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "postalCode": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "firstName": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "lastName": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "company": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - } - } - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "number": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "type": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "securityCode": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "expirationMonth": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - }, - "expirationYear": { - "type": "object", - "properties": { - "required": { - "type": "boolean" - } - } - } - } - } - } - } - } - } - } - } - } - ], - "tags": [ - "Flex API" - ], - "operationId": "generateFlexAPICaptureContext", - "x-devcenter-metaData": { - "categoryTag": "Flex_API", - "firstLevelApiLifeCycle": "hidden", - "secondLevelApiLifeCycle": "hidden", - "apiLifeCycle": "hidden", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/da-flex-api-intro.html", - "disableProcessorDropDown": true - }, - "produces": [ - "application/jwt" - ], - "x-example": { - "example0": { - "summary": "Generate Capture Context specifying the set of fields to be provided in JWE sent to /v2/tokens endpoint.", - "value": { - "fields": { - "orderInformation": { - "amountDetails": { - "totalAmount": { - "required": true - }, - "currency": { - "required": true - } - }, - "billTo": { - "address1": { - "required": true - }, - "address2": { - "required": false - }, - "administrativeArea": { - "required": true - }, - "buildingNumber": { - "required": true - }, - "country": { - "required": true - }, - "district": { - "required": false - }, - "locality": { - "required": true - }, - "postalCode": { - "required": true - }, - "email": { - "required": true - }, - "firstName": { - "required": true - }, - "lastName": { - "required": true - }, - "phoneNumber": { - "required": true - }, - "company": { - "required": false - } - }, - "shipTo": { - "address1": { - "required": true - }, - "address2": { - "required": false - }, - "administrativeArea": { - "required": false - }, - "buildingNumber": { - "required": true - }, - "country": { - "required": true - }, - "district": { - "required": false - }, - "locality": { - "required": true - }, - "postalCode": { - "required": true - }, - "email": { - "required": true - }, - "firstName": { - "required": true - }, - "lastName": { - "required": true - }, - "phoneNumber": { - "required": true - }, - "company": { - "required": false - } - } - }, - "paymentInformation": { - "card": { - "number": { - "required": true - }, - "type": { - "required": true - }, - "securityCode": { - "required": false - }, - "expirationMonth": { - "required": true - }, - "expirationYear": { - "required": true - } - } - } - } - } - }, - "example1": { - "summary": "Generate Capture Context (Simple)", - "value": { - "fields": { - "paymentInformation": { - "card": { - "number": { - "required": true - }, - "type": { - "required": true - }, - "securityCode": { - "required": false - }, - "expirationMonth": { - "required": true - }, - "expirationYear": { - "required": true - } - } - } - } - } - } - }, - "responses": { - "201": { - "description": "Capture Context Created", - "examples": { - "application/jwt": "eyJraWQiOiJ6dSIsImFsZyI6IlJTMjU2In0.eyJmbHgiOnsicGF0aCI6Ii9mbGV4L3YyL3Rva2VucyIsImRhdGEiOiJaNHVqZEZ3S1dsVWlGUTFWQWtydmF4QUFFQzdTOGJOVWs2ZWgzbXVXZm51U0dxM2FHdEdTUUsrS1dXMlNtaVg5RlBMWE5sc3VjbXV2SHk3R1A5eFR1Q3hXRXFlU3ZIWHMrYkhhWUhMcGhaVnZpb0lcdTAwM2QiLCJvcmlnaW4iOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsIm4iOiJpMHZtSDBmQTNVaTZWN0NvbmhvVHdwV01PeFhWdk5aUlVpWWFZSjktR0hKbmZlMUdYVERTLXk5bG1ibVFVUGZpMlVRakNoU3EyclNrZ2pxTExtRzFsRkZ5TjFINVFLSkVlUzhXWEdmeWdVNDBPc05YdDd2X1g0Mmo0a0RXVmNuV0xucGlsYndYZjhwRTh4NmUyWHBoVG5tRmZMR1phbGtUN21PYXVPdmNwdFlXUVZlVGU3bmZrWlZYZTFFN0ZmZ2taNXFkMnY1OVJ2Z1NhQmhkMko4ankyUVZidE5RNTZxMTlfc2h3bEJIYWc3dFdxbzg2S1Iwd0V3dkQyWmNENTFvZGtteFdudFVJaU1tT3VXUUFGTmVaQXBDYklySlc1SFVSdTNHM1g4M2pLM3h1NHZVQjI0WGRIdlExS215dW13RlJJWFRLZFB1TmtTOUtWRHMyemZvaVEiLCJraWQiOiIwOHhzd05TV2xDUnVzeWFHQklJRkVSOEN5M0JTNXB6ZCJ9fSwiY3R4IjpbeyJkYXRhIjp7ImFsbG93ZWRQYXltZW50VHlwZXMiOlt7InBhZ2UiOjEsInR5cGUiOiJQQU5FTlRSWSJ9LHsicGFnZSI6MiwidHlwZSI6IlNSQ1ZJU0EifSx7InBhZ2UiOjMsInR5cGUiOiJTUkNNQVNURVJDQVJEIn1dLCJwYXltZW50Q29uZmlndXJhdGlvbnMiOnsiU1JDVklTQSI6eyJvcmlnaW4iOiJodHRwczovL3NhbmRib3gtYXNzZXRzLnNlY3VyZS5jaGVja291dC52aXNhLmNvbSIsInBhdGgiOiIvY2hlY2tvdXQtd2lkZ2V0L3Jlc291cmNlcy9qcy9zcmMtaS1hZGFwdGVyL3Zpc2FTZGsuanMiLCJwYW5FbmNyeXB0aW9uS2V5Ijp7ImtpZCI6IlY2WVBMMERGSjJWNTZISUg2UTNGMTMzZmJaV3lBeUlIaldWU2VjeDZLTUY2aVRIR00iLCJlIjoiQVFBQiIsIm4iOiJzWlBJdXNEZjd5UW5uaEJrVTltdTE0Vk9PM0NydWkzYjdyQWYyS1llb2JVUm1YQTE3YjFKWDlqZzBDZC12Z3BtdXlUcnhCVVNjLTRiMC1VUGdTd0dGcVBXVXB4MDhFeHFyd1BET3ZGb2pCb3Uyd2x5cThiY3kwVXMtQmZlQ3pTRTVsTVZkU1hUWFhYY05xdS1xYjIyakNDQ0pBTHB4c0Fyc2JvTU9Yc0xlZGgzTTRYTlE1WEdBdFJmN2ItLXVUWTVEcjlLTFl5VXZaS0FuWTA0TUtKUEVPNTRZaUlGTTVEVEFoTk9tczA4OWpkTWR4LVVSSUtKalBVMi1ScEhHMXU4TENHMDI4UlRJcFBzTmJSYW51UzVUQVlfemx4RGdiMWhLSjM2WWJaRU5ITGc5UFhUQmhkT01sVTkwRFRMbGZjYkxUYS1EN0RnbGpBYVdDdXZ6TFBhR3cifSwicGFyYW1ldGVycyI6eyJzcmNJbml0aWF0b3JJZCI6IkpGQ1o4UVZPSkE3Nk5YWjY4RlpEMjFSWUl4ajN5UFpkaVV4a2ROdWliQmx4Z3dhUDQiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNpVHJhbnNhY3Rpb25JZCI6ImJjOWZmNzgyLTM3NTctNDEyMS1hNGM4LTdkMDhkOGY3ZGQ4NiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJkcGFMb2NhbGUiOiJlbl9VUyIsInBheWxvYWRUeXBlSW5kaWNhdG9yIjoiRlVMTCIsInJldmlld0FjdGlvbiI6ImNvbnRpbnVlIiwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImRwYUJpbGxpbmdQcmVmZXJlbmNlIjoiQUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiQUxMIiwiY29uc3VtZXJOYW1lUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lckVtYWlsQWRkcmVzc1JlcXVlc3RlZCI6dHJ1ZSwiY29uc3VtZXJQaG9uZU51bWJlclJlcXVlc3RlZCI6dHJ1ZSwidHJhbnNhY3Rpb25BbW91bnQiOnsidHJhbnNhY3Rpb25BbW91bnQiOiIyMS4wMCIsInRyYW5zYWN0aW9uQ3VycmVuY3lDb2RlIjoiVVNEIn0sInBheW1lbnRPcHRpb25zIjp7ImRwYVBhblJlcXVlc3RlZCI6dHJ1ZX19fX0sIlNSQ01BU1RFUkNBUkQiOnsib3JpZ2luIjoiaHR0cHM6Ly9zYW5kYm94LnNyYy5tYXN0ZXJjYXJkLmNvbSIsInBhdGgiOiIvc2RrL3NyY3Nkay5tYXN0ZXJjYXJkLmpzIiwicGFuRW5jcnlwdGlvbktleSI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsImtpZCI6IjE0OTEyMy1zcmMtZnBhbi1lbmNyeXB0aW9uIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZW5jcnlwdCJdLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJuIjoidnQ0bkRTUFN0VGxNMU5OY3ljdklxVWY0eDE0STRqaVRxTVRLUGpHdGF5MHlmYTF2QnlOQ2htdXBwRHdFVDVnR0dscEw4Y2NqM1lWc0JpOV9iV29lX2FwcGtQd2h4ZDd3UjlSeXdWM3ptV3VNSWhNd2xrMGxuSEFNTDY1bnNIVk0zb0VwRXZDZkFQczFOWGx0VHlmam5rZ0ZFTkkzdEhxdHdkdE04ZVAwMnBwMGp2VzY5ZnlidnlWaEx6WHdTT2dKbnRqdGpSVjdoUXI1bGVkX2pXYjV6elhJNDhPVlRUX0Y5aWluRGR0WDV5M0UtaWY1V3RHWlVGRVRiX3RaRlpZbk1MYUxsSHd2YjZaa3I4NFJTd3dzTWYybkFMXzR6UDJVYWhNd3phbWhCb09TYXF5eEd4RXE2N0hyMVU4ekFDNWhsOUQ4TmJnU3dwV3hzT0RVckh4OXJ3In0sInBhcmFtZXRlcnMiOnsic3JjaVRyYW5zYWN0aW9uSWQiOiJiYzlmZjc4Mi0zNzU3LTQxMjEtYTRjOC03ZDA4ZDhmN2RkODYiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNJbml0aWF0b3JJZCI6Ijg0NGY3ZTNkLTA3ZjAtNDRiMS1hMjM3LWU2NDI0NDRlMDUxMiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJ0cmFuc2FjdGlvblR5cGUiOiJQVVJDSEFTRSIsImRwYUxvY2FsZSI6ImVuX1VTIiwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImNvbnN1bWVyRW1haWxBZGRyZXNzUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lclBob25lTnVtYmVyUmVxdWVzdGVkIjp0cnVlLCJ0cmFuc2FjdGlvbkFtb3VudCI6eyJ0cmFuc2FjdGlvbkFtb3VudCI6IjIxLjAwIiwidHJhbnNhY3Rpb25DdXJyZW5jeUNvZGUiOiJVU0QifSwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQmlsbGluZ1ByZWZlcmVuY2UiOiJGVUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiRlVMTCIsImNvbnN1bWVyTmFtZVJlcXVlc3RlZCI6dHJ1ZSwicGF5bG9hZFR5cGVJbmRpY2F0b3IiOiJGVUxMIn19fX0sImNhcHR1cmVNYW5kYXRlIjp7ImJpbGxpbmdUeXBlIjoiRlVMTCIsInJlcXVlc3RFbWFpbCI6dHJ1ZSwicmVxdWVzdFBob25lIjp0cnVlLCJyZXF1ZXN0U2hpcHBpbmciOnRydWUsInNoaXBUb0NvdW50cmllcyI6WyJVUyIsIkdCIl0sInNob3dBY2NlcHRlZE5ldHdvcmtJY29ucyI6dHJ1ZX0sIm9yZGVySW5mb3JtYXRpb24iOnsiYW1vdW50RGV0YWlscyI6eyJ0b3RhbEFtb3VudCI6IjIxLjAwIiwiY3VycmVuY3kiOiJVU0QifSwiYmlsbFRvIjp7ImFkZHJlc3MxIjoiMjc3IFBhcmsgQXZlbnVlIiwiYWRkcmVzczIiOiI1MHRoIEZsb29yIiwiYWRkcmVzczMiOiJEZXNrIE5ZLTUwMTEwIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6Ik5ZIiwiYnVpbGRpbmdOdW1iZXIiOiJidWlsZGluZ051bWJlciIsImNvdW50cnkiOiJVUyIsImRpc3RyaWN0IjoiZGlzdHJpY3QiLCJsb2NhbGl0eSI6Ik5ldyBZb3JrIiwicG9zdGFsQ29kZSI6IjEwMTcyIiwiY29tcGFueSI6eyJhZGRyZXNzMSI6IjkwMCBNZXRybyBDZW50ZXIgQmx2ZCIsImFkZHJlc3MyIjoiYWRkcmVzczIiLCJhZGRyZXNzMyI6ImFkZHJlc3MzIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6IkNBIiwiYnVpbGRpbmdOdW1iZXIiOiIxIiwiY291bnRyeSI6IlVTIiwiZGlzdHJpY3QiOiJkaXN0cmljdCIsImxvY2FsaXR5IjoiRm9zdGVyIENpdHkiLCJwb3N0YWxDb2RlIjoiOTQ0MDQiLCJuYW1lIjoiVmlzYSBJbmMifSwiZW1haWwiOiJqb2huLmRvZUB2aXNhLmNvbSIsImZpcnN0TmFtZSI6IkpvaG4iLCJsYXN0TmFtZSI6IkRvZSIsIm1pZGRsZU5hbWUiOiJGIiwibmFtZVN1ZmZpeCI6IkpyIiwidGl0bGUiOiJNciIsInBob25lTnVtYmVyIjoiMTIzNDU2Nzg5MCIsInBob25lVHlwZSI6InBob25lVHlwZSJ9LCJzaGlwVG8iOnsiYWRkcmVzczEiOiJDeWJlclNvdXJjZSIsImFkZHJlc3MyIjoiVmljdG9yaWEgSG91c2UiLCJhZGRyZXNzMyI6IjE1LTE3IEdsb3VjZXN0ZXIgU3RyZWV0IiwiYWRkcmVzczQiOiJzdHJpbmciLCJhZG1pbmlzdHJhdGl2ZUFyZWEiOiJDQSIsImJ1aWxkaW5nTnVtYmVyIjoic3RyaW5nIiwiY291bnRyeSI6IkdCIiwiZGlzdHJpY3QiOiJzdHJpbmciLCJsb2NhbGl0eSI6IkJlbGZhc3QiLCJwb3N0YWxDb2RlIjoiQlQxIDRMUyIsImZpcnN0TmFtZSI6IkpvZSIsImxhc3ROYW1lIjoiU29hcCJ9fSwidGFyZ2V0T3JpZ2lucyI6WyJodHRwczovL3RoZS11cC1kZW1vLmFwcHNwb3QuY29tIl0sImlmcmFtZXMiOnsibWNlIjoiL21jZS9pZnJhbWUuaHRtbCIsImJ1dHRvbnMiOiIvYnV0dG9ubGlzdC9pZnJhbWUuaHRtbCIsInNyYyI6Ii9zZWN1cmUtcmVtb3RlLWNvbW1lcmNlL3NyYy5odG1sIiwiZ29vZ2xlcGF5IjoiL2dvb2dsZXBheS9nb29nbGVwYXkuaHRtbCJ9LCJjbGllbnRWZXJzaW9uIjoiMC4xMSIsImNvdW50cnkiOiJVUyIsImxvY2FsZSI6ImVuX1VTIiwiYWxsb3dlZENhcmROZXR3b3JrcyI6WyJWSVNBIiwiTUFTVEVSQ0FSRCIsIkFNRVgiXSwiY3IiOiJaX1c0NldGZlNqWXFZY3FCb19sZGVnQ0Z4RUpnUzlKNWJZT2c2cmtZd2VkaEhpV3M2elowaFZEbU5mMmgxVUQ0eWx6OWJsOThUb0c1SC10bFZjQm54YnZZc0dBSVRDT0g5LTNNZHYyc1g0X3ZFMVY2eFpCeVU5SVcwaFEiLCJzZXJ2aWNlT3JpZ2luIjoiaHR0cHM6Ly9hcGl0ZXN0LmN5YmVyc291cmNlLmNvbSIsImNsaWVudExpYnJhcnkiOiJodHRwczovL2FwaXRlc3QuY3liZXJzb3VyY2UuY29tL3VwL3YxL2Fzc2V0cy8wLjExLjAvU2VjdXJlQWNjZXB0YW5jZS5qcyIsImFzc2V0c1BhdGgiOiIvdXAvdjEvYXNzZXRzLzAuMTEuMCIsImNsaWVudExpYnJhcnlJbnRlZ3JpdHkiOiJzaGEyNTYtSm1SY1QxVFpPaThpWlRTMEZWSFdOanR2REorN1ZsdnNPTXRTZ0tMZUtLTVx1MDAzZCJ9LCJ0eXBlIjoiZ2RhLTAuNy4wIn1dLCJpc3MiOiJGbGV4IEFQSSIsImV4cCI6MTY1OTEyMTk2MSwiaWF0IjoxNjU5MTIxMDYxLCJqdGkiOiJjZ0dBaG9hSFBhbWsxM2d3In0.GSYHGM3941-HLPFjSQT2m6Zus19L4H7tSJIHLuFCKRH_bY1bxFIZRGaI-994BdmhKgzlcE6XK8HQd2lJaD7JnJXAHkmjitg0XV0NVYGbrK7V4cOvT8VKWbMV794NWAAY26_UTjLAR5PGOvyTVOyRuHsItmVMgZ0TFc7x6LeWmjyveN1VeeRemkZHh02nETXh2NpqMk_5a_vXOgoOr56MClo4OqqvSHinXZhxNjIH4h6QwksmuIHKpvoXMWsghozn3va4VEXjp4OJ96NvHkcXGAWcPpLUQOAMks4fd7EoQz4-aFOcrqnV9Ut9p82CmoclWGhvjrakB_MUAabykcmXDA" - }, - "schema": { - "type": "string" - } - }, - "400": { - "description": "Bad Request: e.g. Merchant APIKey is invalid.", - "examples": { - "application/json": { - "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", - "details": { - "location": "", - "message": "" - }, - "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": { - "type": "string", - "description": "Possible values:\n- INVALID_APIKEY\n- INVALID_SHIPPING_INPUT_PARAMS\n- CAPTURE_CONTEXT_INVALID\n- CAPTURE_CONTEXT_EXPIRED\n- SDK_XHR_ERROR\n- UNIFIEDPAYMENTS_VALIDATION_PARAMS\n- UNIFIEDPAYMENTS_VALIDATION_FIELDS\n- UNIFIEDPAYMENT_PAYMENT_PARAMITERS\n- CREATE_TOKEN_TIMEOUT\n- CREATE_TOKEN_XHR_ERROR\n- SHOW_LOAD_CONTAINER_SELECTOR\n- SHOW_LOAD_INVALID_CONTAINER\n- SHOW_TOKEN_TIMEOUT\n- SHOW_TOKEN_XHR_ERROR\n- SHOW_PAYMENT_TIMEOUT" - } - }, - "required": [ - "message", - "reason" - ], - "type": "object" - } - }, - "500": { - "description": "Internal error.", - "examples": { - "application/json": { - "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", - "details": { - "location": "", - "message": "" - }, - "informationLink": null, - "message": "The capture context has expired", - "reason": "CAPTURE_CONTEXT_EXPIRED" - } - }, - "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": { - "type": "string", - "description": "Possible values:\n- INVALID_APIKEY\n- INVALID_SHIPPING_INPUT_PARAMS\n- CAPTURE_CONTEXT_INVALID\n- CAPTURE_CONTEXT_EXPIRED\n- SDK_XHR_ERROR\n- UNIFIEDPAYMENTS_VALIDATION_PARAMS\n- UNIFIEDPAYMENTS_VALIDATION_FIELDS\n- UNIFIEDPAYMENT_PAYMENT_PARAMITERS\n- CREATE_TOKEN_TIMEOUT\n- CREATE_TOKEN_XHR_ERROR\n- SHOW_LOAD_CONTAINER_SELECTOR\n- SHOW_LOAD_INVALID_CONTAINER\n- SHOW_TOKEN_TIMEOUT\n- SHOW_TOKEN_XHR_ERROR\n- SHOW_PAYMENT_TIMEOUT" - } - }, - "required": [ - "message", - "reason" - ], - "type": "object" - } - } - } - } - }, - "/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" - } - } - } - } - }, - "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" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - } - } - }, - "customer": { - "type": "object", - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "bank": { - "type": "object", - "properties": { - "account": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 1, - "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" - }, - "number": { - "type": "string", - "maxLength": 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" - }, - "checkNumber": { - "type": "string", - "maxLength": 8, - "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" - }, - "checkImageReferenceNumber": { - "type": "string", - "maxLength": 32, - "description": "Image reference number associated with the check. You cannot include any special characters.\n" - }, - "iban": { - "type": "string", - "maxLength": 50, - "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" - } - } - }, - "routingNumber": { - "type": "string", - "maxLength": 9, - "description": "Bank routing number. This is also called the _transit number_.\n" - }, - "iban": { - "type": "string", - "maxLength": 50, - "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" - }, - "swiftCode": { - "type": "string", - "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" - }, - "code": { - "type": "string", - "maxLength": 50, - "description": "Bank code of the consumer's account\n" - } - } - }, - "method": { - "type": "string", - "maxLength": 10, - "description": "Method of payment used for the order. This field can contain one of the following values:\n - `consumer` (default): Customer credit card\n - `corporate`: Corporate credit card\n - `debit`: Debit card, such as a Maestro (UK Domestic) card\n - `cod`: Collect on delivery\n - `check`: Electronic check\n - `p2p`: Person-to-person payment\n - `private1`: Private label credit card\n - `other`: Other payment method\n" - } - } - }, - "orderInformation": { - "type": "object", - "description": "Contains detailed order-level information.", - "properties": { - "amountDetails": { - "type": "object", - "description": "Contains `currency` and `totalAmount` for this order.", - "required": [ - "currency" - ], - "properties": { - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. \nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [REST API Fields Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amount.html)\n\n#### DCC for First Data\nNot used.\nFor details, see [REST API Field Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amount.html)\n" - } - } - }, - "preOrder": { - "type": "string", - "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" - }, - "preOrderDate": { - "type": "string", - "maxLength": 10, - "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" - }, - "cutoffDateTime": { - "type": "string", - "description": "Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.departureTime if both are supplied in the request.\nFormat: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" - }, - "reordered": { - "type": "boolean", - "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" - }, - "shippingDetails": { - "type": "object", - "description": "Contains shipping information not related to address.", - "properties": { - "giftWrap": { - "type": "boolean", - "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n" - }, - "shippingMethod": { - "type": "string", - "maxLength": 32, - "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address3": { - "type": "string", - "maxLength": 60, - "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 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": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "destinationCode": { - "type": "integer", - "maxLength": 2, - "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" - }, - "method": { - "type": "string", - "maxLength": 10, - "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" - } - } - }, - "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "giftCardCurrency": { - "type": "integer", - "maxLength": 3, - "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" - }, - "productSKU": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "productRisk": { - "type": "string", - "maxLength": 6, - "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "gift": { - "type": "boolean", - "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" - }, - "distributorProductSku": { - "type": "string", - "maxLength": 15, - "description": "Product's identifier code. This field is inserted into the outgoing message without being parsed or formatted.\nThis field is included as Distributor product SKU (Offer) in the list of API fields with which you can create\ncustom rules.\n" - }, - "passenger": { - "type": "object", - "description": "Contains travel-related passenger details used by DM service only.", - "properties": { - "type": { - "type": "string", - "maxLength": 32, - "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" - }, - "status": { - "type": "string", - "maxLength": 32, - "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" - }, - "phone": { - "type": "string", - "maxLength": 15, - "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Passenger's first name." - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Passenger's last name." - }, - "id": { - "type": "string", - "maxLength": 40, - "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." - }, - "nationality": { - "type": "string", - "maxLength": 2, - "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." - } - } - }, - "shippingDestinationTypes": { - "type": "string", - "maxLength": 50, - "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "allowedExportCountries": { - "type": "array", - "items": { - "type": "string", - "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" - } - }, - "restrictedExportCountries": { - "type": "array", - "items": { - "type": "string", - "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "country": { - "type": "string", - "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - } - } - }, - "totalOffersCount": { - "type": "string", - "maxLength": 2, - "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" - } - } - }, - "buyerInformation": { - "type": "object", - "description": "Contains information about the buyer.", - "properties": { - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "username": { - "type": "string", - "maxLength": 255, - "description": "Specifies the customer account user name." - }, - "hashedPassword": { - "type": "string", - "maxLength": 100, - "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n" - }, - "dateOfBirth": { - "type": "string", - "maxLength": 8, - "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "personalIdentification": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" - }, - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - }, - "issuedBy": { - "type": "string", - "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" - }, - "verificationResults": { - "type": "string", - "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" - } - } - } - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "cookiesAccepted": { - "type": "string", - "description": "Whether the customer's browser accepts cookies. This field can contain one of the following values:\n- `yes`: The customer's browser accepts cookies.\n- `no`: The customer's browser does not accept cookies.\n" - }, - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "hostName": { - "type": "string", - "maxLength": 60, - "description": "DNS resolved hostname from `ipAddress`." - }, - "fingerprintSessionId": { - "type": "string", - "description": "Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint\ninformation. The string can contain uppercase and lowercase letters, digits, hyphen (-), and\nunderscore (_). However, do not use the same uppercase and lowercase letters to indicate\ndifferent session IDs.\n\nThe session ID must be unique for each merchant ID. You can use any string that you are already\ngenerating, such as an order number or web session ID.\n\nThe session ID must be unique for each page load, regardless of an individual's web session ID.\nIf a user navigates to a profiled page and is assigned a web session, navigates away from the\nprofiled page, then navigates back to the profiled page, the generated session ID should be different\nand unique. You may use a web session ID, but it is preferable to use an application GUID (Globally\nUnique Identifier). This measure ensures that a unique ID is generated every time the page is\nloaded, even if it is the same user reloading the page.\n" - }, - "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.", - "required": [ - "frequency", - "endDate" - ], - "properties": { - "endDate": { - "type": "string", - "maxLength": 10, - "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" - }, - "frequency": { - "type": "integer", - "maxLength": 4, - "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" - }, - "numberOfPayments": { - "type": "integer", - "maxLength": 3, - "description": "Total number of payments for the duration of the recurring subscription.\n" - }, - "originalPurchaseDate": { - "type": "string", - "maxLength": 17, - "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" - }, - "sequenceNumber": { - "type": "integer", - "maxLength": 3, - "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" - }, - "type": { - "type": "string", - "maxLength": 1, - "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" - }, - "occurrence": { - "type": "string", - "maxLength": 2, - "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" - }, - "validationIndicator": { - "type": "string", - "maxLength": 1, - "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" - }, - "amountType": { - "type": "string", - "maxLength": 1, - "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" - }, - "maximumAmount": { - "type": "string", - "maxLength": 12, - "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" - }, - "referenceNumber": { - "type": "string", - "maxLength": 35, - "description": "This will contain a unique reference number for the recurring payment transaction.\n" - } - } - }, - "consumerAuthenticationInformation": { - "type": "object", - "required": [ - "deviceChannel" - ], - "properties": { - "strongAuthentication": { - "type": "object", - "properties": { - "authenticationIndicator": { - "type": "string", - "maxLength": 2, - "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" - } - } - }, - "acsWindowSize": { - "type": "string", - "maxLength": 2, - "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" - }, - "alternateAuthenticationData": { - "type": "string", - "maxLength": 2048, - "description": "Data that documents and supports a specific authentication process.\n" - }, - "alternateAuthenticationDate": { - "type": "string", - "maxLength": 14, - "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" - }, - "alternateAuthenticationMethod": { - "type": "string", - "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" - }, - "authenticationDate": { - "type": "string", - "maxLength": 14, - "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" - }, - "authenticationTransactionId": { - "type": "string", - "maxLength": 26, - "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" - }, - "transactionFlowIndicator": { - "type": "integer", - "maxLength": 2, - "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" - }, - "challengeCode": { - "type": "string", - "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n" - }, - "challengeStatus": { - "type": "string", - "maxLength": 2, - "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" - }, - "customerCardAlias": { - "type": "string", - "maxLength": 128, - "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" - }, - "decoupledAuthenticationIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" - }, - "decoupledAuthenticationMaxTime": { - "type": "string", - "maxLength": 5, - "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" - }, - "defaultCard": { - "type": "boolean", - "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" - }, - "deviceChannel": { - "type": "string", - "maxLength": 10, - "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" - }, - "installmentTotalCount": { - "type": "integer", - "maxLength": 4, - "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" - }, - "merchantFraudRate": { - "type": "string", - "maxLength": 2, - "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" - }, - "marketingOptIn": { - "type": "boolean", - "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" - }, - "marketingSource": { - "type": "string", - "maxLength": 40, - "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" - }, - "mcc": { - "type": "string", - "maxLength": 4, - "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" - }, - "merchantScore": { - "type": "integer", - "maxLength": 2, - "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" - }, - "messageCategory": { - "type": "string", - "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" - }, - "npaCode": { - "type": "string", - "maxLength": 2, - "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" - }, - "overridePaymentMethod": { - "type": "string", - "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" - }, - "overrideCountryCode": { - "type": "string", - "maxLength": 2, - "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" - }, - "priorAuthenticationData": { - "type": "string", - "maxLength": 2048, - "description": "This field carry data that the ACS can use to verify the authentication process.\n" - }, - "priorAuthenticationMethod": { - "type": "string", - "maxLength": 2, - "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" - }, - "priorAuthenticationReferenceId": { - "type": "string", - "maxLength": 36, - "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" - }, - "priorAuthenticationTime": { - "type": "string", - "maxLength": 12, - "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" - }, - "productCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" - }, - "returnUrl": { - "type": "string", - "maxLength": 2048, - "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" - }, - "requestorId": { - "type": "string", - "maxLength": 35, - "description": "Cardinal's directory server assigned 3DS Requestor ID value" - }, - "requestorInitiatedAuthenticationIndicator": { - "type": "string", - "maxLength": 2, - "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" - }, - "requestorName": { - "type": "string", - "maxLength": 40, - "description": "Cardinal's directory server assigned 3DS Requestor Name value" - }, - "referenceId": { - "type": "string", - "maxLength": 50, - "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" - }, - "sdkMaxTimeout": { - "type": "string", - "maxLength": 2, - "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" - }, - "secureCorporatePaymentIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" - }, - "transactionMode": { - "type": "string", - "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" - }, - "whiteListStatus": { - "type": "string", - "maxLength": 1, - "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" - }, - "scoreRequest": { - "type": "integer", - "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" - } - } - }, - "watchlistScreeningInformation": { - "type": "object", - "properties": { - "addressOperator": { - "type": "string", - "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" - }, - "weights": { - "type": "object", - "properties": { - "address": { - "type": "string", - "maxLength": 6, - "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" - }, - "company": { - "type": "string", - "maxLength": 6, - "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" - }, - "name": { - "type": "string", - "maxLength": 6, - "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" - } - } - }, - "sanctionLists": { - "type": "array", - "items": { - "type": "string", - "maxLength": 255 - }, - "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" - }, - "proceedOnMatch": { - "type": "boolean", - "description": "Indicates whether the transaction should proceed if there is a match.\nPossible values:\n- `true`: Transaction proceeds even when match is found in the Denied Parties List. The match is noted in the response.\n- `false`: Normal watchlist screening behavior occurs. (Transaction stops if a match to DPL occurs. Transaction proceeds if no match.)\n" - } - } - }, - "tokenInformation": { - "type": "object", - "properties": { - "jti": { - "type": "string", - "maxLength": 64, - "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" - } - } - } - } - } - } - ], - "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" - }, - "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" - }, - "issuer": { - "type": "string", - "maxLength": 255, - "description": "Name of the bank or entity that issued the card account.\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" - }, - "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" - } - } - }, - "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.\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" - }, - "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" - }, - "exemptionDataRaw": { - "type": "string", - "maxLength": 4, - "description": "Payer authentication exemption indicator for Carte Bancaire exemptions. \nThis is used with unbundled authentication and authorizations calls, for example: \"low fraud merchant program\".\nThe value returned in this field should be passed in the authorization request under the field -\n`consumerAuthenticationInformation.strongAuthentication.issuerInformation.exemptionDataRaw`.\n" - }, - "ivr": { - "type": "object", - "properties": { - "enabledMessage": { - "type": "boolean", - "description": "Flag to indicate if a valid IVR transaction was detected.\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. \nFor cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.For cards not issued in the U.S. or Canada, your bank may require this data as proof of enrollment\nchecking for any payer authentication transaction that you re-present because of a chargeback.\n" - }, - "proxyPan": { - "type": "string", - "description": "Encrypted version of the card number used in the payer authentication request message.\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: 2.2.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" - }, - "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", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html", - "isMLEsupported": true - }, - "parameters": [ - { - "name": "payerAuthSetupRequest", - "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", - "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" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - } - } - }, - "fluidData": { - "type": "object", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "string", - "maxLength": 4000, - "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" - }, - "keySerialNumber": { - "type": "string", - "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" - }, - "descriptor": { - "type": "string", - "maxLength": 128, - "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" - }, - "encoding": { - "type": "string", - "maxLength": 6, - "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" - } - } - }, - "customer": { - "type": "object", - "required": [ - "customerId" - ], - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - } - } - }, - "tokenInformation": { - "type": "object", - "properties": { - "transientToken": { - "type": "string", - "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" - }, - "jti": { - "type": "string", - "maxLength": 64, - "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" - } - } - } - } - } - } - ], - "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": { - "paymentInformation": { - "card": { - "expirationMonth": "12", - "expirationYear": "2025", - "number": "4000000000002503", - "type": "001" - } - } - } - }, - "example1": { - "summary": "Setup Completion with Fluid Data Value and Payment Solution", - "value": { - "paymentInformation": { - "fluidData": { - "value": "eyJkYXRhIjoiOFJTK2o1a2ZLRjZkTnkzNVwvOTluR3ZEVis0WUVlaStBb2VmUUNMXC9SNTN0TnVMeHJxTzh4b1g2SnBScm9WWUVUOUNvUkhIWFZMRjJNSVNIZlVtM25UczltdGFPTUdqcW1oeWdjTFpWVWI3OHhxYVVUT2JwWUxLelY0dFR1QmhvRkV4UVJ1d2lvTmo2bXJsRlRjUm5LNzdcL2lCR01yYVlZcXZTVnhGK3ViK1JXK3BGeTRDNUVUOVhmcHBkS2xHYXVpODdzcTBtYVlYVk9qOGFaNTFMWjZvS1NKZkR1clhvWEtLNHRqd1wvaDVRK1dcL0x2dnJxSUhmZmVhK21MZXVRY3RHK0k3UUN6MTRpVmdROUFEMW1oWFUrbVdwZXRUQWZ5WXhoVituZlh1NlpISGRDWFV1cUp6djQydHg4UlwvN0lvdld5OWx6Z0N3YnpuclVsY3pUcThkb3JtV3A4eXhYQklDNnJHRTdlTVJrS3oxZFwvUFFDXC9DS2J1NDhNK0R4XC9VejNoUFwvZ1NnRGoxakJNcUllUUZiRWFzcTRWTUV1ZG9FNUh1UjBcLzRQMXJmdG9EVlpwNnhFdnF1STY5dkt2YnZHcXpmTkpUNjVnPT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNzQ2NTczNzQ2MTcwNzA2QzY5NjM2MTc0Njk2RjZFNjQ2MTc0NjEiLCJ0cmFuc2FjdGlvbklkIjoiNzQ2NTczNzQ3NDcyNjE2RTczNjE2Mzc0Njk2RjZFNjk2NCIsImVwaGVtZXJhbFB1YmxpY0tleSI6Ik1JSUJTekNDQVFNR0J5cUdTTTQ5QWdFd2dmY0NBUUV3TEFZSEtvWkl6ajBCQVFJaEFQXC9cL1wvXC84QUFBQUJBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9NRnNFSVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC84QkNCYXhqWFlxanFUNTdQcnZWVjJtSWE4WlIwR3NNeFRzUFk3emp3K0o5SmdTd01WQU1TZE5naUc1d1NUYW1aNDRST2RKcmVCbjM2UUJFRUVheGZSOHVFc1FrZjR2T2JsWTZSQThuY0RmWUV0NnpPZzlLRTVSZGlZd3BaUDQwTGlcL2hwXC9tNDduNjBwOEQ1NFdLODR6VjJzeFhzN0x0a0JvTjc5UjlRSWhBUFwvXC9cL1wvOEFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC8rODV2cXRweGVlaFBPNXlzTDhZeVZSQWdFQkEwSUFCQmJHK2xtTHJIWWtKSVwvSUUwcTU3dEN0bE5jK2pBWHNudVMrSnFlOFVcLzc0cSs5NVRnbzVFRjBZNks3b01LTUt5cTMwY3VQbmtIenkwMjVpU1BGdWczRT0iLCJwdWJsaWNLZXlIYXNoIjoieCtQbUhHMzdUNjdBWUFIenVqbGJyaW1JdzZZaFlYaVpjYjV3WnJCNGpRdz0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lBMG9MXC9KSWFTN0tra1RFNG1pOGRmU2tQVVwvdlp2cVwva2NYZ1pUdGJZbENtTFM4YzNuS2VZNVE0c2s4MXJnZkI1ampBMWJRZldhUHBKc05tVWNSS3gzS0FGUEtpNzE0WWVYdGUrcmc2V1k4MnVxcnlwRERiTkhqSWVpNjVqV0dvcGRZUEx6TEk5c1Z3NDh5OHlqSXY3SjFaQVlycnp6YjBwNzUzcUJUQ0ZEN1p3PT0ifQ==" - } - }, - "processingInformation": { - "paymentSolution": "001" - } - } - }, - "example2": { - "summary": "Setup Completion with Tokenized Card", - "value": { - "paymentInformation": { - "tokenizedCard": { - "number": "4111111111111111", - "transactionType": "1", - "type": "001", - "expirationMonth": "11", - "expirationYear": "2025" - } - } - } - }, - "example3": { - "summary": "Setup Completion with TMS Token", - "value": { - "paymentInformation": { - "customer": { - "customerId": "21607EACE092FD29E063A2598D0A01B8" - } - } - } - }, - "example4": { - "summary": "Setup Completion with Visa Checkout", - "value": { - "paymentInformation": { - "visaCheckoutId": "4768462067836455354", - "paymentSolution": "visacheckout" - } - } - }, - "example5": { - "summary": "Setup Completion with Flex Transient Token", - "value": { - "tokenInformation": { - "jti": "1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056" - } - } - } - } - } - }, - "/risk/v1/authentications": { - "post": { - "summary": "Check Payer Auth Enrollment", - "description": "This call verifies that the card is enrolled in a card authentication program.", - "operationId": "checkPayerAuthEnrollment", - "tags": [ - "Payer Authentication" - ], - "produces": [ - "application/hal+json;charset=utf-8" - ], - "x-devcenter-metaData": { - "categoryTag": "Payer_Authentication", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html", - "isMLEsupported": true - }, - "parameters": [ - { - "name": "checkPayerAuthEnrollmentRequest", - "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", - "maxLength": 255, - "description": "Brief description of the order or any comment you wish to add to the order.\n" - }, - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - } - } - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "description": "Contains `currency` and `totalAmount` for this order.", - "required": [ - "currency", - "totalAmount" - ], - "properties": { - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - } - } - }, - "preOrder": { - "type": "string", - "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" - }, - "preOrderDate": { - "type": "string", - "maxLength": 10, - "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" - }, - "reordered": { - "type": "boolean", - "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" - }, - "shipTo": { - "type": "object", - "properties": { - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address3": { - "type": "string", - "maxLength": 60, - "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 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": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "destinationCode": { - "type": "integer", - "maxLength": 2, - "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" - }, - "method": { - "type": "string", - "maxLength": 10, - "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" - } - } - }, - "lineItems": { - "type": "array", - "description": "This array contains detailed information about individual products in the order.", - "items": { - "type": "object", - "required": [ - "unitPrice" - ], - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "giftCardCurrency": { - "type": "integer", - "maxLength": 3, - "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" - }, - "productSKU": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "productDescription": { - "type": "string", - "description": "Brief description of item." - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "passenger": { - "type": "object", - "description": "Contains travel-related passenger details used by DM service only.", - "properties": { - "type": { - "type": "string", - "maxLength": 32, - "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" - }, - "status": { - "type": "string", - "maxLength": 32, - "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" - }, - "phone": { - "type": "string", - "maxLength": 15, - "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" - }, - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Passenger's first name." - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Passenger's last name." - }, - "id": { - "type": "string", - "maxLength": 40, - "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." - }, - "nationality": { - "type": "string", - "maxLength": 2, - "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." - } - } - }, - "shippingDestinationTypes": { - "type": "string", - "maxLength": 50, - "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "shippingAddress1": { - "type": "string", - "maxLength": 50, - "description": "Address where item will be shipped" - }, - "shippingAddress2": { - "type": "string", - "maxLength": 50, - "description": "Address where item will be shipped" - }, - "shippingCity": { - "type": "string", - "maxLength": 20, - "description": "City where item will be shipped" - }, - "shippingCountryCode": { - "type": "string", - "maxLength": 10, - "description": "Country where item will be shipped" - }, - "shippingFirstName": { - "type": "string", - "maxLength": 20, - "description": "Customer's first name" - }, - "shippingLastName": { - "type": "string", - "maxLength": 20, - "description": "Customer's last name" - }, - "shippingMiddleName": { - "type": "string", - "maxLength": 20, - "description": "Customer's middle name" - }, - "shippingPhone": { - "type": "integer", - "description": "Phone number where item will be shipped" - }, - "shippingPostalCode": { - "type": "integer", - "description": "Postal code where item will be shipped" - }, - "shippingState": { - "type": "string", - "maxLength": 20, - "description": "State where item will be shipped" - } - } - } - }, - "billTo": { - "type": "object", - "required": [ - "address1", - "country", - "administrativeArea", - "postalCode", - "email", - "firstName", - "lastName" - ], - "properties": { - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" - }, - "address3": { - "type": "string", - "maxLength": 60, - "description": "Additional address information (third line of the billing address)\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "country": { - "type": "string", - "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - } - } - }, - "totalOffersCount": { - "type": "string", - "maxLength": 2, - "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "required": [ - "expirationMonth", - "expirationYear", - "number" - ], - "properties": { - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "cryptogram": { - "type": "string", - "maxLength": 255, - "description": "This field contains token information." - }, - "securityCode": { - "type": "string", - "maxLength": 4, - "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" - }, - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - } - } - }, - "fluidData": { - "type": "object", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "string", - "maxLength": 4000, - "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" - }, - "keySerialNumber": { - "type": "string", - "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" - }, - "descriptor": { - "type": "string", - "maxLength": 128, - "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" - }, - "encoding": { - "type": "string", - "maxLength": 6, - "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" - } - } - }, - "customer": { - "type": "object", - "required": [ - "customerId" - ], - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - } - } - }, - "tokenInformation": { - "type": "object", - "properties": { - "transientToken": { - "type": "string", - "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" - }, - "jti": { - "type": "string", - "maxLength": 64, - "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" - } - } - }, - "buyerInformation": { - "type": "object", - "required": [ - "mobilePhone" - ], - "properties": { - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "personalIdentification": { - "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 -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" - }, - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - }, - "issuedBy": { - "type": "string", - "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" - }, - "verificationResults": { - "type": "string", - "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" - } - } - } - }, - "mobilePhone": { - "type": "integer", - "maxLength": 25, - "description": "Cardholder's mobile phone number.\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" - }, - "workPhone": { - "type": "integer", - "maxLength": 25, - "description": "Cardholder's work phone number." - } - } - }, - "deviceInformation": { - "type": "object", - "required": [ - "userAgentBrowserValue", - "httpBrowserTimeDifference", - "httpBrowserScreenWidth", - "httpBrowserScreenHeight", - "httpBrowserLanguage", - "httpBrowserJavaEnabled", - "httpAcceptContent", - "httpBrowserColorDepth" - ], - "properties": { - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "rawData": { - "type": "array", - "items": { - "type": "object", - "properties": { - "data": { - "type": "string", - "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" - }, - "provider": { - "type": "string", - "maxLength": 32, - "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" - } - } - } - }, - "httpAcceptBrowserValue": { - "type": "string", - "maxLength": 255, - "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" - }, - "httpAcceptContent": { - "type": "string", - "maxLength": 256, - "description": "The exact content of the HTTP accept header.\n" - }, - "httpBrowserLanguage": { - "type": "string", - "maxLength": 8, - "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" - }, - "httpBrowserJavaEnabled": { - "type": "boolean", - "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" - }, - "httpBrowserJavaScriptEnabled": { - "type": "boolean", - "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" - }, - "httpBrowserColorDepth": { - "type": "string", - "maxLength": 2, - "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" - }, - "httpBrowserScreenHeight": { - "type": "string", - "maxLength": 6, - "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" - }, - "httpBrowserScreenWidth": { - "type": "string", - "maxLength": 6, - "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" - }, - "httpBrowserTimeDifference": { - "type": "string", - "maxLength": 5, - "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" - }, - "userAgentBrowserValue": { - "type": "string", - "maxLength": 255, - "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "url": { - "type": "string", - "maxLength": 255, - "description": "Address of company's website provided by merchant\n" - } - } - }, - "merchantName": { - "type": "string", - "maxLength": 25, - "description": "Your company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" - } - } - }, - "acquirerInformation": { - "type": "object", - "properties": { - "acquirerBin": { - "type": "string", - "maxLength": 11, - "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" - }, - "password": { - "type": "string", - "maxLength": 8, - "description": "Registered password for the Visa directory server.\n" - }, - "merchantId": { - "type": "string", - "maxLength": 15, - "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" - } - } - }, - "recurringPaymentInformation": { - "type": "object", - "description": "This object contains recurring payment information.", - "required": [ - "frequency", - "endDate" - ], - "properties": { - "endDate": { - "type": "string", - "maxLength": 10, - "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" - }, - "frequency": { - "type": "integer", - "maxLength": 4, - "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" - }, - "numberOfPayments": { - "type": "integer", - "maxLength": 3, - "description": "Total number of payments for the duration of the recurring subscription.\n" - }, - "originalPurchaseDate": { - "type": "string", - "maxLength": 17, - "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" - }, - "sequenceNumber": { - "type": "integer", - "maxLength": 3, - "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" - }, - "type": { - "type": "string", - "maxLength": 1, - "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" - }, - "occurrence": { - "type": "string", - "maxLength": 2, - "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" - }, - "validationIndicator": { - "type": "string", - "maxLength": 1, - "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" - }, - "amountType": { - "type": "string", - "maxLength": 1, - "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" - }, - "maximumAmount": { - "type": "string", - "maxLength": 12, - "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" - }, - "referenceNumber": { - "type": "string", - "maxLength": 35, - "description": "This will contain a unique reference number for the recurring payment transaction.\n" - } - } - }, - "consumerAuthenticationInformation": { - "type": "object", - "required": [ - "deviceChannel" - ], - "properties": { - "strongAuthentication": { - "type": "object", - "properties": { - "authenticationIndicator": { - "type": "string", - "maxLength": 2, - "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" - } - } - }, - "acsWindowSize": { - "type": "string", - "maxLength": 2, - "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" - }, - "alternateAuthenticationData": { - "type": "string", - "maxLength": 2048, - "description": "Data that documents and supports a specific authentication process.\n" - }, - "alternateAuthenticationDate": { - "type": "string", - "maxLength": 14, - "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" - }, - "alternateAuthenticationMethod": { - "type": "string", - "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" - }, - "authenticationDate": { - "type": "string", - "maxLength": 14, - "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" - }, - "authenticationTransactionId": { - "type": "string", - "maxLength": 26, - "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" - }, - "transactionFlowIndicator": { - "type": "integer", - "maxLength": 2, - "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" - }, - "challengeCode": { - "type": "string", - "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n" - }, - "challengeStatus": { - "type": "string", - "maxLength": 2, - "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" - }, - "customerCardAlias": { - "type": "string", - "maxLength": 128, - "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" - }, - "decoupledAuthenticationIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" - }, - "decoupledAuthenticationMaxTime": { - "type": "string", - "maxLength": 5, - "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" - }, - "defaultCard": { - "type": "boolean", - "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" - }, - "deviceChannel": { - "type": "string", - "maxLength": 10, - "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" - }, - "installmentTotalCount": { - "type": "integer", - "maxLength": 4, - "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" - }, - "merchantFraudRate": { - "type": "string", - "maxLength": 2, - "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" - }, - "marketingOptIn": { - "type": "boolean", - "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" - }, - "marketingSource": { - "type": "string", - "maxLength": 40, - "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" - }, - "mcc": { - "type": "string", - "maxLength": 4, - "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" - }, - "merchantScore": { - "type": "integer", - "maxLength": 2, - "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" - }, - "messageCategory": { - "type": "string", - "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" - }, - "npaCode": { - "type": "string", - "maxLength": 2, - "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" - }, - "overridePaymentMethod": { - "type": "string", - "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" - }, - "overrideCountryCode": { - "type": "string", - "maxLength": 2, - "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" - }, - "priorAuthenticationData": { - "type": "string", - "maxLength": 2048, - "description": "This field carry data that the ACS can use to verify the authentication process.\n" - }, - "priorAuthenticationMethod": { - "type": "string", - "maxLength": 2, - "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" - }, - "priorAuthenticationReferenceId": { - "type": "string", - "maxLength": 36, - "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" - }, - "priorAuthenticationTime": { - "type": "string", - "maxLength": 12, - "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" - }, - "productCode": { - "type": "string", - "maxLength": 3, - "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" - }, - "returnUrl": { - "type": "string", - "maxLength": 2048, - "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" - }, - "requestorId": { - "type": "string", - "maxLength": 35, - "description": "Cardinal's directory server assigned 3DS Requestor ID value" - }, - "requestorInitiatedAuthenticationIndicator": { - "type": "string", - "maxLength": 2, - "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" - }, - "requestorName": { - "type": "string", - "maxLength": 40, - "description": "Cardinal's directory server assigned 3DS Requestor Name value" - }, - "referenceId": { - "type": "string", - "maxLength": 50, - "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" - }, - "sdkMaxTimeout": { - "type": "string", - "maxLength": 2, - "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" - }, - "secureCorporatePaymentIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" - }, - "transactionMode": { - "type": "string", - "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" - }, - "whiteListStatus": { - "type": "string", - "maxLength": 1, - "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" - }, - "scoreRequest": { - "type": "integer", - "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" - } - } - }, - "riskInformation": { - "type": "object", - "properties": { - "buyerHistory": { - "type": "object", - "properties": { - "customerAccount": { - "type": "object", - "properties": { - "lastChangeDate": { - "type": "string", - "maxLength": 10, - "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" - }, - "creationHistory": { - "type": "string", - "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n" - }, - "modificationHistory": { - "type": "string", - "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n" - }, - "passwordHistory": { - "type": "string", - "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n" - }, - "createDate": { - "type": "string", - "maxLength": 10, - "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n" - }, - "passwordChangeDate": { - "type": "string", - "maxLength": 10, - "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n" - } - } - }, - "accountHistory": { - "type": "object", - "properties": { - "firstUseOfShippingAddress": { - "type": "boolean", - "description": "Applicable when this is not a guest account.\n" - }, - "shippingAddressUsageDate": { - "type": "string", - "maxLength": 10, - "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n" - } - } - }, - "accountPurchases": { - "type": "integer", - "maxLength": 4, - "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n" - }, - "addCardAttempts": { - "type": "integer", - "maxLength": 3, - "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n" - }, - "priorSuspiciousActivity": { - "type": "boolean", - "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n" - }, - "paymentAccountHistory": { - "type": "string", - "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n" - }, - "paymentAccountDate": { - "type": "integer", - "maxLength": 8, - "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n" - }, - "transactionCountDay": { - "type": "integer", - "maxLength": 3, - "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n" - }, - "transactionCountYear": { - "type": "integer", - "maxLength": 3, - "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n" - } - } - } - } - }, - "travelInformation": { - "type": "object", - "properties": { - "legs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "origination": { - "type": "string", - "maxLength": 3, - "description": "Use to specify the airport code for the origin of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco.\nDo not use the colon (:) or the dash (-). For airport codes, see the IATA Airline and Airport Code Search.\nThe leg number can be a positive integer from 0 to N.\nFor example:\n`travelInformation.legs.0.origination=SFO`\n`travelInformation.legs.1.origination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_orig` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" - }, - "destination": { - "type": "string", - "maxLength": 3, - "description": "Use to specify the airport code for the destination of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco. Do not use the\ncolon (:) or the dash (-). For airport codes, see [IATA Airline and Airport Code Search](https://www.iata.org/publications/Pages/code-search.aspx). The leg number can be a\npositive integer from 0 to N.\nFor example:\n\n`travelInformation.legs.0.destination=SFO`\n`travelInformation.legs.1.destination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_dest` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" - }, - "carrierCode": { - "type": "string", - "maxLength": 2, - "description": "International Air Transport Association (IATA) code for the carrier for this leg of the trip.\nRequired for each leg.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" - }, - "departureDate": { - "type": "string", - "description": "Departure date for the first leg of the trip. Format: YYYYMMDD.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" - } - } - } - }, - "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" - }, - "status": { - "type": "string", - "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\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.\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" - }, - "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" - }, - "exemptionDataRaw": { - "type": "string", - "maxLength": 4, - "description": "Payer authentication exemption indicator for Carte Bancaire exemptions. \nThis is used with unbundled authentication and authorizations calls, for example: \"low fraud merchant program\".\nThe value returned in this field should be passed in the authorization request under the field -\n`consumerAuthenticationInformation.strongAuthentication.issuerInformation.exemptionDataRaw`.\n" - }, - "ivr": { - "type": "object", - "properties": { - "enabledMessage": { - "type": "boolean", - "description": "Flag to indicate if a valid IVR transaction was detected.\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. \nFor cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.For cards not issued in the U.S. or Canada, your bank may require this data as proof of enrollment\nchecking for any payer authentication transaction that you re-present because of a chargeback.\n" - }, - "proxyPan": { - "type": "string", - "description": "Encrypted version of the card number used in the payer authentication request message.\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: 2.2.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" - }, - "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 400 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": { - "orderInformation": { - "billTo": { - "firstName": "John", - "lastName": "Doe", - "address2": "Address 2", - "address1": "1 Market St", - "postalCode": "94105", - "locality": "san francisco", - "administrativeArea": "CA", - "country": "US", - "phoneNumber": "4158880000", - "company": "Visa", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "10.99", - "currency": "USD" - } - }, - "buyerInformation": { - "mobilePhone": "1245789632" - }, - "paymentInformation": { - "card": { - "expirationMonth": "12", - "expirationYear": "2025", - "number": "4000000000002503", - "type": "001" - } - }, - "deviceInformation": { - "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", - "httpBrowserTimeDifference": "300", - "httpBrowserScreenWidth": "100000", - "httpBrowserScreenHeight": "100000", - "httpBrowserLanguage": "en_us", - "httpBrowserJavaScriptEnabled": "Y", - "httpBrowserJavaEnabled": "N", - "httpAcceptContent": "test", - "httpBrowserColorDepth": "24", - "fingerprintSessionId": "xyz", - "ipAddress": "139.130.4.5" - }, - "consumerAuthenticationInformation": { - "deviceChannel": "BROWSER", - "transactionMode": "eCommerce" - } - } - }, - "example1": { - "summary": "Enroll with Travel Information", - "value": { - "travelInformation": { - "legs": [ - { - "carrierCode": "UA", - "departureDate": "2023-01-01", - "destination": "DEFGH", - "origin": "LAX" - }, - { - "carrierCode": "AS", - "departureDate": "2023-02-21", - "destination": "RESD", - "origin": "ECF" - } - ], - "numberOfPassengers": "2", - "passengers": [ - { - "firstName": "Raj", - "lastName": "Charles" - }, - { - "firstName": "Potter", - "lastName": "Suhember" - } - ] - }, - "orderInformation": { - "billTo": { - "firstName": "John", - "lastName": "Doe", - "address2": "Address 2", - "address1": "1 Market St", - "postalCode": "94105", - "locality": "san francisco", - "administrativeArea": "CA", - "country": "US", - "phoneNumber": "4158880000", - "company": "Visa", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "10.99", - "currency": "USD" - } - }, - "buyerInformation": { - "mobilePhone": "1245789632" - }, - "paymentInformation": { - "card": { - "type": "002", - "expirationMonth": "12", - "expirationYear": "2025", - "number": "5200000000002151" - } - }, - "deviceInformation": { - "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", - "httpBrowserTimeDifference": "300", - "httpBrowserScreenWidth": "100000", - "httpBrowserScreenHeight": "100000", - "httpBrowserLanguage": "en_us", - "httpBrowserJavaScriptEnabled": "Y", - "httpBrowserJavaEnabled": "N", - "httpAcceptContent": "test", - "httpBrowserColorDepth": "24", - "fingerprintSessionId": "xyz", - "ipAddress": "139.130.4.5" - }, - "consumerAuthenticationInformation": { - "deviceChannel": "BROWSER", - "transactionMode": "MOTO" - } - } - }, - "example2": { - "summary": "Authentication with NO Redirect", - "value": { - "orderInformation": { - "billTo": { - "firstName": "John", - "lastName": "Doe", - "address2": "Address 2", - "address1": "1 Market St", - "postalCode": "94105", - "locality": "san francisco", - "administrativeArea": "CA", - "country": "US", - "phoneNumber": "4158880000", - "company": "Visa", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "10.99", - "currency": "USD" - } - }, - "paymentInformation": { - "card": { - "type": "001", - "expirationMonth": "12", - "expirationYear": "2025", - "number": "4000000000002701" - } - }, - "deviceInformation": { - "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", - "httpBrowserTimeDifference": "300", - "httpBrowserScreenWidth": "100000", - "httpBrowserScreenHeight": "100000", - "httpBrowserLanguage": "en_us", - "httpBrowserJavaScriptEnabled": "Y", - "httpBrowserJavaEnabled": "N", - "httpAcceptContent": "test", - "httpBrowserColorDepth": "24", - "fingerprintSessionId": "xyz", - "ipAddress": "139.130.4.5" - }, - "consumerAuthenticationInformation": { - "deviceChannel": "BROWSER" - } - } - }, - "example3": { - "summary": "Authentication with New Account", - "value": { - "orderInformation": { - "billTo": { - "firstName": "John", - "lastName": "Doe", - "address2": "Address 2", - "address1": "1 Market St", - "postalCode": "94105", - "locality": "san francisco", - "administrativeArea": "CA", - "country": "US", - "phoneNumber": "4158880000", - "company": "Visa", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "10.99", - "currency": "USD" - } - }, - "paymentInformation": { - "card": { - "type": "001", - "expirationMonth": "12", - "expirationYear": "2025", - "number": "4000000000002701" - } - }, - "deviceInformation": { - "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", - "httpBrowserTimeDifference": "300", - "httpBrowserScreenWidth": "100000", - "httpBrowserScreenHeight": "100000", - "httpBrowserLanguage": "en_us", - "httpBrowserJavaScriptEnabled": "Y", - "httpBrowserJavaEnabled": "N", - "httpAcceptContent": "test", - "httpBrowserColorDepth": "24", - "fingerprintSessionId": "xyz", - "ipAddress": "139.130.4.5" - }, - "consumerAuthenticationInformation": { - "deviceChannel": "BROWSER", - "transactionMode": "MOTO" - }, - "riskInformation": { - "buyerHistory": { - "customerAccount": { - "shipAddressUsageDate": "2017-05-06", - "creationHistory": "NEW_ACCOUNT" - }, - "accountHistory": { - "firstUseOfShippingAddress": "false" - } - } - } - } - }, - "example4": { - "summary": "Pending Authentication with Tokenized Card", - "value": { - "orderInformation": { - "billTo": { - "firstName": "John", - "lastName": "Doe", - "address2": "Address 2", - "address1": "1 Market St", - "postalCode": "94105", - "locality": "san francisco", - "administrativeArea": "CA", - "country": "US", - "phoneNumber": "4158880000", - "company": "Visa", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "10.99", - "currency": "USD" - } - }, - "paymentInformation": { - "tokenizedCard": { - "transactionType": "1", - "type": "001", - "expirationMonth": "11", - "expirationYear": "2025", - "number": "4111111111111111" - } - }, - "deviceInformation": { - "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", - "httpBrowserTimeDifference": "300", - "httpBrowserScreenWidth": "100000", - "httpBrowserScreenHeight": "100000", - "httpBrowserLanguage": "en_us", - "httpBrowserJavaScriptEnabled": "Y", - "httpBrowserJavaEnabled": "N", - "httpAcceptContent": "test", - "httpBrowserColorDepth": "24", - "fingerprintSessionId": "xyz", - "ipAddress": "139.130.4.5" - }, - "consumerAuthenticationInformation": { - "deviceChannel": "BROWSER" - } - } - }, - "example5": { - "summary": "Enroll with customerId as payment information", - "value": { - "orderInformation": { - "billTo": { - "firstName": "John", - "lastName": "Doe", - "address1": "1 Market St", - "postalCode": "94105", - "locality": "san francisco", - "administrativeArea": "CA", - "country": "US", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "10.99", - "currency": "USD" - } - }, - "paymentInformation": { - "customer": { - "customerId": "21607EACE092FD29E063A2598D0A01B8" - } - }, - "deviceInformation": { - "httpAcceptContent": "all", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "userAgentBrowserValue": "chrome" - }, - "consumerAuthenticationInformation": { - "deviceChannel": "Browser", - "referenceId": "CybsCruiseTester-6259e7e2" - } - } - }, - "example6": { - "summary": "Enroll with transient token", - "value": { - "orderInformation": { - "billTo": { - "firstName": "John", - "lastName": "Doe", - "address2": "Address 2", - "address1": "1 Market St", - "postalCode": "94105", - "locality": "san francisco", - "administrativeArea": "CA", - "country": "US", - "phoneNumber": "4158880000", - "company": "Visa", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "10.99", - "currency": "USD" - } - }, - "consumerAuthenticationInformation": { - "referenceId": "CybsCruiseTester-ddb08174", - "deviceChannel": "Browser" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - }, - "tokenInformation": { - "jti": "1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056" - } - } - }, - "example7": { - "summary": "First Recurring Transaction", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - } - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "5200000000002805", - "expirationMonth": "12", - "type": "002" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "02" - }, - "messageCategory": "01", - "challengeCode": "03", - "referenceId": "CybsCruiseTester-ddb08174", - "deviceChannel": "Browser" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - }, - "recurringPaymentInformation": { - "sequenceNumber": "1", - "numberOfPayments": "1", - "originalPurchaseDate": "2024080511243877", - "frequency": "31", - "endDate": "20240906" - } - } - }, - "example8": { - "summary": "Subsequent Recurring Transaction", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "5200000000002235", - "expirationMonth": "12", - "type": "002" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "02" - }, - "requestorInitiatedAuthenticationIndicator": "01", - "priorAuthenticationData": "bf67e7e6-c8cf-4b93-a211-3f4f60b07524", - "messageCategory": "01", - "authenticationDate": "20190829154531", - "referenceId": "CybsCruiseTester-ddb08174", - "deviceChannel": "3RI" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - }, - "recurringPaymentInformation": { - "sequenceNumber": "1", - "numberOfPayments": "1", - "originalPurchaseDate": "2024080511243877", - "frequency": "31", - "endDate": "20240906" - } - } - }, - "example9": { - "summary": "Customer Initiated Installment Transaction", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "5200000000002805", - "expirationMonth": "12", - "type": "002" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "03" - }, - "messageCategory": "01", - "authenticationDate": "20190829154531", - "referenceId": "CybsCruiseTester-2551acb2", - "deviceChannel": "Browser", - "installmentTotalCount": "2" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - }, - "recurringPaymentInformation": { - "sequenceNumber": "1", - "numberOfPayments": "1", - "originalPurchaseDate": "2024080511243877", - "frequency": "31", - "endDate": "20240906" - } - } - }, - "example10": { - "summary": "Split/Partial Shipment Transaction", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "5200000000002235", - "expirationMonth": "12", - "type": "002" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "02" - }, - "requestorInitiatedAuthenticationIndicator": "06", - "priorAuthenticationTime": "202408051124", - "priorAuthenticationMethod": "02", - "priorAuthenticationData": "bf67e7e6-c8cf-4b93-a211-3f4f60b07524", - "messageCategory": "01", - "challengeCode": "03", - "referenceId": "CybsCruiseTester-ddb08174", - "deviceChannel": "3RI" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - }, - "recurringPaymentInformation": { - "sequenceNumber": "1", - "numberOfPayments": "1", - "originalPurchaseDate": "2024080511243877", - "frequency": "31", - "endDate": "20240906" - } - } - }, - "example11": { - "summary": "Split/Delayed Shipment Transaction", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "4000000000002701", - "expirationMonth": "12", - "type": "001" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "01" - }, - "requestorInitiatedAuthenticationIndicator": "06", - "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", - "priorAuthenticationTime": "202408051124", - "priorAuthenticationMethod": "02", - "messageCategory": "01", - "referenceId": "CybsCruiseTester-ddb08174", - "deviceChannel": "3RI" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - } - } - }, - "example12": { - "summary": "Multi-Party Commerce or OTA Frictionless", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "4000000000002701", - "expirationMonth": "12", - "type": "001" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "01" - }, - "requestorInitiatedAuthenticationIndicator": "11", - "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", - "priorAuthenticationTime": "202408051124", - "priorAuthenticationMethod": "02", - "messageCategory": "01", - "referenceId": "CybsCruiseTester-ddb08174", - "deviceChannel": "3RI" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - } - } - }, - "example13": { - "summary": "Customer Initiated Multi-Party Commerce or OTA", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "5200000000002805", - "expirationMonth": "12", - "type": "002" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "85" - }, - "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", - "priorAuthenticationTime": "202408051124", - "priorAuthenticationMethod": "02", - "messageCategory": "01", - "challengeCode": "03", - "referenceId": "CybsCruiseTester-500582d1", - "deviceChannel": "Browser" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - }, - "recurringPaymentInformation": { - "sequenceNumber": "1", - "numberOfPayments": "1", - "originalPurchaseDate": "2024080511243877", - "frequency": "31", - "endDate": "20240906" - } - } - }, - "example14": { - "summary": "Merchant Initiated Multi-Party Commerce or OTA", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "5200000000002235", - "expirationMonth": "12", - "type": "002" - } - }, - "consumerAuthenticationInformation": { - "strongAuthentication": { - "authenticationIndicator": "85" - }, - "requestorInitiatedAuthenticationIndicator": "85", - "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", - "priorAuthenticationTime": "202408051124", - "priorAuthenticationMethod": "02", - "messageCategory": "01", - "referenceId": "CybsCruiseTester-8e9d566d", - "deviceChannel": "3RI" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - } - } - }, - "example15": { - "summary": "3RI Transaction Not Supported", - "value": { - "orderInformation": { - "billTo": { - "country": "US", - "lastName": "VDP", - "address1": "201 S. Division St.", - "postalCode": "48104-2201", - "locality": "Ann Arbor", - "administrativeArea": "MI", - "firstName": "RTS", - "email": "test@cybs.com" - }, - "amountDetails": { - "totalAmount": "100.00", - "currency": "eur" - }, - "lineItems": [ - { - "unitPrice": "120.00" - } - ] - }, - "paymentInformation": { - "card": { - "expirationYear": "2027", - "number": "4000000000002248", - "expirationMonth": "12", - "type": "001" - } - }, - "consumerAuthenticationInformation": { - "requestorInitiatedAuthenticationIndicator": "01", - "messageCategory": "02", - "referenceId": "CybsCruiseTester-500582d1", - "deviceChannel": "Browser" - }, - "deviceInformation": { - "userAgentBrowserValue": "chrome", - "httpBrowserLanguage": "en", - "httpBrowserJavaEnabled": "y", - "httpBrowserColorDepth": 1, - "httpBrowserScreenHeight": 1, - "httpBrowserScreenWidth": 1, - "httpBrowserTimeDifference": 5, - "httpAcceptContent": "all", - "httpAcceptHeader": "all" - } - } - } - } - } - }, - "/risk/v1/authentication-results": { - "post": { - "summary": "Validate Authentication Results", - "description": "This call retrieves and validates the authentication results from issuer and allows the merchant to proceed with processing the payment.\n", - "tags": [ - "Payer Authentication" - ], - "operationId": "validateAuthenticationResults", - "x-devcenter-metaData": { - "categoryTag": "Payer_Authentication", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html", - "isMLEsupported": true - }, - "parameters": [ - { - "name": "validateRequest", - "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", - "maxLength": 255, - "description": "Brief description of the order or any comment you wish to add to the order.\n" - }, - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - } - } - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "paymentSolution": { - "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "visaCheckoutId": { - "type": "string", - "maxLength": 48, - "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "amountDetails": { - "type": "object", - "description": "Contains `currency` and `totalAmount` for this order.", - "properties": { - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - } - } - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - } - } - }, - "fluidData": { - "type": "object", - "properties": { - "value": { - "type": "string", - "maxLength": 4000, - "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" - }, - "keySerialNumber": { - "type": "string", - "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" - }, - "descriptor": { - "type": "string", - "maxLength": 128, - "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" - }, - "encoding": { - "type": "string", - "maxLength": 6, - "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" - } - } - }, - "customer": { - "type": "object", - "required": [ - "customerId" - ], - "properties": { - "customerId": { - "type": "string", - "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - } - } - }, - "consumerAuthenticationInformation": { - "type": "object", - "required": [ - "authenticationTransactionId" - ], - "properties": { - "authenticationTransactionId": { - "type": "string", - "maxLength": 26, - "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" - }, - "authenticationTransactionContext": { - "type": "string", - "maxLength": 256, - "description": "Authentication transaction context is used as a unique identifier to link enroll and validate call.\n" - }, - "otpToken": { - "type": "string", - "maxLength": 255, - "description": "OTP entered by the card holder.\n" - }, - "responseAccessToken": { - "type": "string", - "description": "JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.\n" - }, - "signedParesStatusReason": { - "type": "string", - "maxLength": 2, - "description": "Provides additional information as to why the PAResStatus has a specific value.\n" - }, - "signedPares": { - "type": "string", - "description": "Payer authentication result (PARes) message returned by the card-issuing bank.\nIf you need to show proof of enrollment checking, you may need to\ndecrypt and parse the string for the information required by the payment card company.\nFor more information, see \"Storing Payer Authentication Data,\" page 160.\nImportant The value is in base64. You must remove all carriage returns and line feeds before\nadding the PARes to the request.\n" - }, - "whiteListStatus": { - "type": "string", - "maxLength": 1, - "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" - }, - "credentialEncrypted": { - "type": "string", - "maxLength": 10, - "description": "A flag to indicate if the passed credential has been encrypted by the Merchant." - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - } - } - }, - "tokenInformation": { - "type": "object", - "properties": { - "jti": { - "type": "string", - "maxLength": 64, - "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" - } - } - } - } - } - } - ], - "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" - }, - "status": { - "type": "string", - "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\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" - }, - "acsReferenceNumber": { - "type": "string", - "maxLength": 50, - "description": "Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval." - }, - "acsTransactionId": { - "type": "string", - "maxLength": 36, - "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n" - }, - "acsOperatorID": { - "type": "string", - "description": "Directory Server assigned ACS identifier." - }, - "authenticationResult": { - "type": "string", - "description": "Raw authentication data that comes from the cardissuing bank. Primary authentication field that\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" - }, - "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" - }, - "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" - }, - "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" - }, - "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" - }, - "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" - }, - "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: 2.2.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 400 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": { - "paymentInformation": { - "card": { - "type": "002" - } - }, - "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": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "country": { - "type": "string", - "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "emailDomain": { - "type": "string", - "maxLength": 100, - "description": "Email domain of the customer. The domain of the email address comprises all characters that follow the @ symbol, such as mail.example.com. For the Risk Update service, if the email address and the domain are sent in the request, the domain supersedes the email address.\n" - } - } - }, - "shipTo": { - "type": "object", - "description": "Contains recipient shipping information.", - "properties": { - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 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": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - } - } - }, - "lineItems": { - "type": "array", - "description": "This array contains detailed information about individual products in the order.", - "items": { - "type": "object", - "properties": { - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - } - } - } - } - } - }, - "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 -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" - }, - "id": { - "type": "string", - "maxLength": 26, - "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" - }, - "issuedBy": { - "type": "string", - "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" - }, - "verificationResults": { - "type": "string", - "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" - } - } - } - } - } - } - } - } - } - ], - "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": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "country": { - "type": "string", - "maxLength": 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": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 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": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "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#### 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\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. \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": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "country": { - "type": "string", - "maxLength": 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\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", - "properties": { - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. If line items are present in the request, the unit price is a mandatory field.\n" - }, - "allowedExportCountries": { - "type": "array", - "items": { - "type": "string", - "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" - } - }, - "restrictedExportCountries": { - "type": "array", - "items": { - "type": "string", - "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" - } - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productSKU": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "productRisk": { - "type": "string", - "maxLength": 6, - "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - } - } - } - } - } - }, - "buyerInformation": { - "type": "object", - "properties": { - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Optional customer's account ID, tracking number, reward number, or other unique number\nthat you assign to the customer for the purpose that you choose\n" - } - } - }, - "deviceInformation": { - "type": "object", - "properties": { - "ipAddress": { - "type": "string", - "maxLength": 45, - "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" - }, - "hostName": { - "type": "string", - "maxLength": 60, - "description": "DNS resolved hostname from `ipAddress`." - } - } - }, - "exportComplianceInformation": { - "type": "object", - "properties": { - "addressOperator": { - "type": "string", - "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" - }, - "weights": { - "type": "object", - "properties": { - "address": { - "type": "string", - "maxLength": 6, - "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" - }, - "company": { - "type": "string", - "maxLength": 6, - "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" - }, - "name": { - "type": "string", - "maxLength": 6, - "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" - } - } - }, - "sanctionLists": { - "type": "array", - "items": { - "type": "string", - "maxLength": 255 - }, - "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" - } - } - } - } - } - } - ], - "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", - "isMLEsupported": true - }, - "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "surcharge": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "maxLength": 15, - "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n" - } - } - } - } - }, - "billTo": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 60, - "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "lastName": { - "type": "string", - "maxLength": 60, - "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" - }, - "country": { - "type": "string", - "maxLength": 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": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 15, - "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "phoneType": { - "type": "string", - "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" - } - } - }, - "isCryptocurrencyPurchase": { - "type": "string", - "description": "#### Visa Platform Connect :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nAdditional values to add :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nvalid values are\n- Y/y, true\n- N/n, false\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "categoryCode": { - "type": "integer", - "maximum": 9999, - "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" - }, - "submitLocalDateTime": { - "type": "string", - "description": "Time that the transaction was submitted in local time. The time is in hhmmss format.\n" - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 21, - "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" - }, - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" - }, - "locality": { - "type": "string", - "maxLength": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of merchant's address.\n" - } - } - } - } - }, - "recipientInformation": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 35, - "description": "First name of recipient.\ncharacters.\n* CTV (14)\n* Paymentech (30)\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, - "minLength": 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." - }, - "aliasName": { - "type": "string", - "maxLength": 50, - "description": "Account owner alias name.\n" - }, - "nationality": { - "type": "string", - "maxLength": 10, - "description": "Account Owner Nationality" - }, - "countryOfBirth": { - "type": "string", - "maxLength": 10, - "description": "Account Owner Country of Birth" - }, - "occupation": { - "type": "string", - "maxLength": 50, - "description": "Account Owner Occupation" - }, - "email": { - "type": "string", - "maxLength": 150, - "description": "Account Owner email address" - } - } - }, - "senderInformation": { - "type": "object", - "properties": { - "referenceNumber": { - "type": "string", - "maxLength": 19, - "description": "Reference number generated by you that uniquely identifies the sender." - }, - "account": { - "type": "object", - "properties": { - "fundsSource": { - "type": "string", - "minLength": 2, - "maxLength": 2, - "description": "Source of funds. Possible values:\n\n Paymentech, CTV, FDC Compass:\n - 01: Credit card\n - 02: Debit card\n - 03: Prepaid card\n\n Paymentech, CTV -\n - 04: Cash\n - 05: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings\n accounts, and proprietary debit or ATM cards.\n - 06: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines\n of credit.\n\n FDCCompass -\n - 04: Deposit Account\n\n**Funds Disbursement**\n\nThis value is most likely 05 to identify that the originator used a deposit account to fund the\ndisbursement.\n\n**Credit Card Bill Payment**\n\nThis value must be 02, 03, 04, or 05.\n" - }, - "number": { - "type": "string", - "maxLength": 34, - "description": "The account number of the entity funding the transaction. It is the sender's account number. It can\nbe a debit/credit card account number or bank account number.\n\n**Funds disbursements**\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" - }, - "aliasName": { - "type": "string", - "maxLength": 50, - "description": "Sender's alias name." - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "businessApplicationId": { - "type": "string", - "maxLength": 2, - "description": "Payouts transaction type.\n\nApplicable Processors: FDC Compass, Paymentech, CtV\n\nPossible values:\n\n**Credit Card Bill Payment**\n\n - **CP**: credit card bill payment\n\n**Funds Disbursement**\n\n - **FD**: funds disbursement\n - **GD**: government disbursement\n - **MD**: merchant disbursement\n\n**Money Transfer**\n\n - **AA**: account to account. Sender and receiver are same person.\n - **PP**: person to person. Sender and receiver are different.\n\n**Prepaid Load**\n\n - **TU**: top up\n" - }, - "networkRoutingOrder": { - "type": "string", - "maxLength": 30, - "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to get the attributes for specified networks only.\nThe networks specified in this field must be a subset of the information provided during program enrollment. Refer to Sharing Group Code/Network Routing Order.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service.\n\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the network routing order.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference. \nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on the acquirer's routing priorities. \n" - }, - "commerceIndicator": { - "type": "string", - "maxLength": 13, - "description": "Type of transaction.\n\nValue for an OCT transaction:\n- `internet`\n" - }, - "reconciliationId": { - "type": "string", - "maxLength": 60, - "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" - }, - "payoutsOptions": { - "type": "object", - "properties": { - "acquirerMerchantId": { - "type": "string", - "maxLength": 15, - "description": "This field identifies the card acceptor for defining the point of service terminal in both local and interchange environments. An acquirer-assigned code identifying the card acceptor for the transaction. \nDepending on the acquirer and merchant billing and reporting requirements, the code can represent a merchant, a specific merchant location, or a specific merchant location terminal.\nAcquiring Institution Identification Code uniquely identifies the merchant.\nThe value from the original is required in any subsequent messages, including reversals, chargebacks, and representments.\n* Applicable only for CTV for Payouts.\n" - }, - "acquirerBin": { - "type": "string", - "maxLength": 11, - "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant or ADM or dispensed cash. \nThis number is usually Visa-assigned.\n* Applicable only for CTV for Payouts.\n" - }, - "retrievalReferenceNumber": { - "type": "string", - "maxLength": 12, - "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction;\nthat is, to a given transaction set.\n\nFormat:\n Positions 1-4: The `yddd` equivalent of the date, where `y` = 0-9 and `ddd` = 001 \u2013 366.\n Positions 5-12: A unique identification number generated by the merchant\n\n* Applicable only for CTV for Payouts.\n" - }, - "accountFundingReferenceId": { - "type": "string", - "maxLength": 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" - } - } - } - } - }, - "languageCode": { - "type": "string", - "maxLength": 10, - "description": "Contains the ISO 639-2 defined language Code\n" - }, - "purchaseOptions": { - "type": "object", - "properties": { - "benefitAmount": { - "type": "string", - "maxLength": 20, - "description": "Workplace benefit amount." - }, - "benefitType": { - "type": "string", - "maxLength": 100, - "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n" - } - } - } - } - }, - "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" - }, - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentInstrument": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "instrumentIdentifier": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 12, - "maxLength": 32 - }, - "state": { - "type": "string", - "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" - } - } - }, - "tokenizedCard": { - "type": "object", - "properties": { - "number": { - "type": "string", - "maxLength": 20, - "description": "Customer's payment network token value.\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" - }, - "type": { - "type": "string", - "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" - }, - "securityCodeIndicator": { - "type": "string", - "maxLength": 1, - "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" - }, - "assuranceMethod": { - "type": "string", - "maxLength": 2, - "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" - } - } - } - } - }, - "aggregatorInformation": { - "type": "object", - "x-nullable": true, - "properties": { - "aggregatorId": { - "type": "string", - "x-nullable": true, - "maxLength": 20, - "description": "Value that identifies you as a payment aggregator. Get this value from the processor.\n" - }, - "name": { - "type": "string", - "x-nullable": true, - "maxLength": 37, - "description": "Your payment aggregator business name. This field is conditionally required when aggregator id is present.\n" - }, - "independentSalesOrganizationID": { - "type": "string", - "x-nullable": true, - "maxLength": 11, - "description": "Independent sales organization ID.\nThis field is only used for Mastercard transactions submitted through PPGS.\n" - }, - "subMerchant": { - "type": "object", - "x-nullable": true, - "properties": { - "id": { - "type": "string", - "maxLength": 20, - "x-nullable": true, - "description": "The ID you assigned to your sub-merchant.\n" - } - } - }, - "streetAddress": { - "type": "string", - "maxLength": 150, - "description": "Acquirer street name." - }, - "city": { - "type": "string", - "maxLength": 100, - "description": "Acquirer city." - }, - "state": { - "type": "string", - "maxLength": 10, - "description": "Acquirer state." - }, - "postalCode": { - "type": "string", - "maxLength": 20, - "description": "Acquirer postal code." - }, - "country": { - "type": "string", - "maxLength": 10, - "description": "Acquirer country." - } - } - } - }, - "example": { - "clientReferenceInformation": { - "code": "33557799" - }, - "senderInformation": { - "referenceNumber": "1234567890", - "address1": "900 Metro Center Blvd.900", - "countryCode": "US", - "locality": "Foster City", - "name": "Thomas Jefferson", - "administrativeArea": "CA", - "account": { - "number": "1234567890123456789012345678901234", - "fundsSource": "01" - }, - "aliasName": "Thomas my friend" - }, - "processingInformation": { - "commerceIndicator": "internet", - "businessApplicationId": "FD", - "networkRoutingOrder": "ECG", - "languageCode": "US", - "purchaseOptions": { - "benefitAmount": "10.00", - "benefitType": "5T" - } - }, - "payoutsOptions": { - "retrievalReferenceNumber": "123456789012", - "acquirerBin": "567890124" - }, - "reconciliationId": "1087488702VIAQNSPQ", - "orderInformation": { - "amountDetails": { - "totalAmount": "100.00", - "currency": "USD" - } - }, - "merchantInformation": { - "merchantCategoryCode": "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", - "aliasName": "John My Friend", - "nationality": "GB", - "countryOfBirth": "GB", - "occupation": "freelancer", - "email": "joe@visa.com" - }, - "aggregatorInformation": { - "streetAddress": "202 S. Division St.", - "city": "Phoenix", - "state": "Arizona", - "postalCode": "560048", - "country": "USA" - } - } - } - } - ], - "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": 30, - "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" - }, - "country": { - "type": "string", - "maxLength": 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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" - } - } - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "purchaseOptions": { - "type": "object", - "properties": { - "benefitAmount": { - "type": "string", - "maxLength": 20, - "description": "Workplace benefit amount." - }, - "benefitType": { - "type": "string", - "maxLength": 100, - "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n" - } - } - } - } - } - } - } - }, - "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", - "purchaseOptions": { - "benefitAmount": "10.00", - "benefitType": "5S" - } - }, - "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", - "isMLEsupported": true - }, - "parameters": [ - { - "name": "pushFundsRequest", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "orderInformation" - ], - "properties": { - "aggregatorInformation": { - "type": "object", - "x-nullable": true, - "properties": { - "aggregatorId": { - "type": "string", - "x-nullable": true, - "maxLength": 20, - "description": "Value that identifies you as a payment aggregator. Get this value from the processor.\n" - }, - "name": { - "type": "string", - "x-nullable": true, - "maxLength": 37, - "description": "Your payment aggregator business name. This field is conditionally required when aggregator id is present.\n" - }, - "independentSalesOrganizationID": { - "type": "string", - "x-nullable": true, - "maxLength": 11, - "description": "Independent sales organization ID.\nThis field is only used for Mastercard transactions submitted through PPGS.\n" - }, - "subMerchant": { - "type": "object", - "x-nullable": true, - "properties": { - "id": { - "type": "string", - "maxLength": 20, - "x-nullable": true, - "description": "The ID you assigned to your sub-merchant.\n" - } - } - }, - "streetAddress": { - "type": "string", - "maxLength": 150, - "description": "Acquirer street name." - }, - "city": { - "type": "string", - "maxLength": 100, - "description": "Acquirer city." - }, - "state": { - "type": "string", - "maxLength": 10, - "description": "Acquirer state." - }, - "postalCode": { - "type": "string", - "maxLength": 20, - "description": "Acquirer postal code." - }, - "country": { - "type": "string", - "maxLength": 10, - "description": "Acquirer country." - } - } - }, - "clientReferenceInformation": { - "type": "object", - "x-nullable": true, - "properties": { - "code": { - "type": "string", - "maxLength": 50, - "x-nullable": true, - "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" - }, - "applicationName": { - "type": "string", - "maxLength": 50, - "x-nullable": true, - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "maxLength": 50, - "x-nullable": true, - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "maxLength": 60, - "x-nullable": true, - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "orderInformation": { - "type": "object", - "required": [ - "amountDetails" - ], - "properties": { - "amountDetails": { - "type": "object", - "required": [ - "totalAmount", - "currency" - ], - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places.\n" - }, - "currency": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "description": "Use a 3-character alpha currency code for currency of the funds transfer.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n\nCurrency must be supported by the processor.\n" - }, - "sourceCurrency": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "x-nullable": true, - "description": "Use a 3-character alpha currency code for source currency of the funds transfer. Supported for card and bank account based cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" - }, - "destinationCurrency": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "x-nullable": true, - "description": "Use a 3-character alpha currency code for destination currency of the funds transfer. Supported for card and bank account based cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" - }, - "surcharge": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "maxLength": 8, - "x-nullable": true, - "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. \nThe issuer can provide information about the surcharge amount to the customer. \n\nIf the amount is positive, then it is a debit for the customer. \n\nIf the amount is negative, then it is a credit for the customer.\n" - } - } - } - } - } - } - }, - "processingInformation": { - "type": "object", - "x-nullable": true, - "properties": { - "businessApplicationId": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,2}|.{2})$", - "description": "Money Transfer (MT)\n- `AA`: Account to Account\n- `BI`: Bank-Initiated Money Transfer\n- `CD`: Cash Deposit\n- `FT`: Funds Transfer\n- `TU`: Prepaid Card Loan\n- `WT`: Wallet Transfer-Staged Digital Wallet (SDW) Transfer\n- `PP`: P2P Money Transfer\n\nFunds Disbursement (FD)\n- `BB`: Business-to-business Supplier Payments\n-\t`BP`: Non-Card Bill Pay \n-\t`CP`: Credit Card Bill Pay\n-\t`FD`: General Funds Disbursements\n-\t`GD`: Government Disbursements and Government Initiated Tax Refunds\n-\t`GP`: Gambling/Gaming Payouts (other than online gaming)\n-\t`LO`: Loyalty Payments\n-\t`MD`: Merchant Settlement\n-\t`MI`: Faster Refunds\n-\t`OG`: Online Gambling Payouts\n-\t`PD`: Payroll and Pension Disbursements\n-\t`RP`: Request-to-Pay Service\n" - }, - "payoutsOptions": { - "type": "object", - "properties": { - "sourceCurrency": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "x-nullable": true, - "description": "Use a 3-character alpha currency code for source currency of the funds transfer.\n\nRequired if sending processingInformation.payoutsOptions.sourceAmount.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" - }, - "destinationCurrency": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "x-nullable": true, - "description": "Use a 3-character alpha currency code for destination currency of the funds transfer.\n\nYellow Pepper\n\nSupported for cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" - }, - "sourceAmount": { - "type": "string", - "maxLength": 12, - "x-nullable": true, - "description": "Source Amount is required in certain markets to identify the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity.\n\nFormat:\n\nMinimum Value: 0\n\nMaximum value: 999999999.99\n\nAllowed fractional digits: 2\n" - }, - "retrievalReferenceNumber": { - "type": "string", - "maxLength": 24, - "x-nullable": true, - "description": "Unique reference number returned by the processor that identifies the transaction at the network.\n" - }, - "accountFundingReferenceId": { - "type": "string", - "maxLength": 15, - "x-nullable": true, - "description": "Visa-generated transaction identifier (TID) that is unique for each original authorization and financial request.\n" - } - } - }, - "feeProgramId": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,3}|[a-zA-Z0-9]{3})$", - "description": "Fee Program Indicator. This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n" - }, - "networkPartnerId": { - "type": "string", - "x-nullable": true, - "maxLength": 8, - "description": "Merchant payment gateway ID that is assigned by Mastercard and is provided by the acquirer when a registered merchant payment gateway service provider is involved in the transaction.\n" - }, - "processingCode": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,4}|\\d{4})$", - "description": "This field contains coding that identifies (1) the customer transaction type and (2) the customer account types affected by the transaction.\n\nDefault: 5402 (Original Credit Transaction)\n\nContains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases. For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund.\n" - }, - "sharingGroupCode": { - "type": "string", - "x-nullable": true, - "maxLength": 16, - "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities.\n\nValid Values:\n\nACCEL_EXCHANGE_E\n\nCU24_C\n\nINTERLINK_G\n\nMAESTRO_8\n\nNYCE_Y\n\nNYCE_F\n\nPULSE_S\n\nPULSE_L\n\nPULSE_H\n\nSTAR_N\n\nSTAR_W\n\nSTAR_Z\n\nSTAR_Q\n\nSTAR_M\n\nVISA_V\n" - }, - "purposeOfPayment": { - "type": "string", - "x-nullable": true, - "maxLength": 12, - "description": "This will send purpose of funds code for original credit transactions (OCTs).\n" - } - } - }, - "recipientInformation": { - "type": "object", - "properties": { - "paymentInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "x-nullable": true, - "description": "- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n- `033`: Visa Electron\n- `024`: Maestro\n- `042`: Maestro International\n" - }, - "securityCode": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "x-nullable": true, - "description": "3-digit value that indicates the cardCvv2Value. Values can be 0-9.\n" - }, - "number": { - "type": "string", - "pattern": "^(\\s{0,19}|.{13,19})$", - "x-nullable": true, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n\nConditional: this field is required if not using tokens.\n" - }, - "expirationMonth": { - "type": "string", - "maxLength": 2, - "x-nullable": true, - "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n" - }, - "expirationYear": { - "type": "string", - "maxLength": 4, - "x-nullable": true, - "description": "Four-digit year in which the payment card expires.\n\nFormat: YYYY.\n" - }, - "customer": { - "type": "object", - "properties": { - "id": { - "type": "string", - "x-nullable": true, - "maxLength": 32, - "description": "Unique identifier for the Customer token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" - } - } - }, - "paymentInstrument": { - "type": "object", - "properties": { - "id": { - "type": "string", - "x-nullable": true, - "maxLength": 32, - "description": "Unique identifier for the Payment Instrument token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" - } - } - }, - "instrumentIdentifier": { - "type": "object", - "properties": { - "id": { - "type": "string", - "x-nullable": true, - "maxLength": 32, - "description": "Unique identifier for the Instrument Identifier token used in the transaction. When you include this value in your request, many of the fields that can be supplied for an authorization or credit become optional.\n" - } - } - } - } - } - } - }, - "address1": { - "type": "string", - "maxLength": 50, - "x-nullable": true, - "description": "First line of the recipient's address.\nRequired for card payments\n" - }, - "address2": { - "type": "string", - "maxLength": 50, - "x-nullable": true, - "description": "Second line of the recipient's address\n" - }, - "locality": { - "type": "string", - "maxLength": 25, - "x-nullable": true, - "description": "Recipient city.\n" - }, - "postalCode": { - "type": "string", - "x-nullable": true, - "maxLength": 10, - "description": "Recipient postal code. \n\nFor USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nMandatory for card payments.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 3, - "x-nullable": true, - "description": "The recipient's province, state or territory. Conditional, required if recipient's country is USA or CAN. Must be an ISO 3166-2 uppercase alpha 2 or 3 character country subdivision code. For example, Missouri is MO.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nRequired for card payments.\n" - }, - "country": { - "type": "string", - "pattern": "^(\\s{0,2}|.{2})$", - "x-nullable": true, - "description": "Recipient country code. Use the ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n" - }, - "firstName": { - "type": "string", - "maxLength": 40, - "x-nullable": true, - "description": "First name of recipient.\n" - }, - "middleName": { - "type": "string", - "maxLength": 40, - "x-nullable": true, - "description": "Sender's middle name. This field is a passthrough, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. If the field is not required for the transaction, CyberSource does not forward it to the processor.\n" - }, - "lastName": { - "type": "string", - "maxLength": 40, - "x-nullable": true, - "description": "Last name of recipient.\n" - }, - "phoneNumber": { - "type": "string", - "x-nullable": true, - "maxLength": 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" - }, - "email": { - "type": "string", - "x-nullable": true, - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n" - }, - "personalIdentification": { - "type": "object", - "x-nullable": true, - "properties": { - "id": { - "type": "string", - "x-nullable": true, - "maxLength": 80, - "description": "The ID number/value.\nProcessor(35)\n" - }, - "type": { - "type": "string", - "x-nullable": true, - "maxLength": 4, - "description": "This tag will contain the type of sender identification. The valid values are:\n-\t`BTHD`: (Date of birth)\n-\t`CUID`: (Customer identification (unspecified))\n-\t`NTID`: (National identification)\n-\t`PASN`: (Passport number)\n-\t`DRLN`: (Driver license)\n-\t`TXIN`: (Tax identification)\n-\t`CPNY`: (Company registration number)\n-\t`PRXY`: (Proxy identification)\n-\t`SSNB`: (Social security number)\n-\t`ARNB`: (Alien registration number)\n-\t`LAWE`: (Law enforcement identification)\n-\t`MILI`: (Military identification)\n-\t`TRVL`: (Travel identification (non-passport))\n-\t`EMAL`: (Email)\n-\t`PHON`: (Phone number)\n" - }, - "issuingCountry": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,2}|.{2})$", - "description": "Issuing country of the identification.\nThe field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" - }, - "personalIdType": { - "type": "string", - "x-nullable": true, - "maxLength": 1, - "description": "This tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are: \n- `B` (Business)\n- `I` (Individual)\n" - } - } - }, - "buildingNumber": { - "type": "string", - "x-nullable": true, - "maxLength": 255, - "description": "Building number in the street address.\n\nFor example, if the street address is: Rua da Quitanda 187 then the building number is 187.\n\nApplicable to domestic Colombia transactions only.\n" - }, - "streetName": { - "type": "string", - "x-nullable": true, - "maxLength": 99, - "description": "This field contains the street name of the recipient's address.\n\nApplicable to domestic Colombia transactions only.\n" - }, - "type": { - "type": "string", - "x-nullable": true, - "maxLength": 1, - "description": "`B` for Business or `I` for individual.\n" - } - } - }, - "senderInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 30, - "x-nullable": true, - "description": "Name of sender.\n\nFunds Disbursement\n\nThis value is the name of the originator sending the funds disbursement.\n\nGovernment entities should use this field\n" - }, - "email": { - "type": "string", - "maxLength": 255, - "x-nullable": true, - "description": "Customer's email address, including the full domain name.\n" - }, - "firstName": { - "type": "string", - "maxLength": 40, - "x-nullable": true, - "description": "This field contains the first name of the entity funding the transaction\nMandatory for card payments\n" - }, - "lastName": { - "type": "string", - "maxLength": 40, - "x-nullable": true, - "description": "This field contains the last name of the entity funding the transaction\nMandatory for card payments\n" - }, - "middleName": { - "type": "string", - "maxLength": 40, - "x-nullable": true, - "description": "This field contains the middle name of the entity funding the transaction\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "x-nullable": true, - "description": "Sender's postal code. For USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nRequired for FDCCompass.\n" - }, - "buildingNumber": { - "type": "string", - "maxLength": 255, - "x-nullable": true, - "description": "Building number in the street address.\n\nFor example, if the street address is: Rua da Quitanda 187 then the building number is 187.\n\nApplicable to domestic Colombia transactions only.\n" - }, - "streetName": { - "type": "string", - "x-nullable": true, - "maxLength": 99, - "description": "This field contains the street name of the recipient's address.\n\nApplicable to domestic Colombia transactions only.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "x-nullable": true, - "description": "Street address of sender.\n\nFunds Disbursement\n\nThis value is the address of the originator sending the funds disbursement.\n\nRequired for card transactions\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "x-nullable": true, - "description": "Used for additional address information. For example: Attention: Accounts Payable \nOptional field.\n" - }, - "locality": { - "type": "string", - "maxLength": 25, - "x-nullable": true, - "description": "The sender's city\nMandatory for card payments\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 3, - "x-nullable": true, - "description": "Sender's state. Use the State, Province, and Territory Codes for the United States and Canada.The sender's province, state or territory. Conditional, required if sender's country is USA or CAN. Must be uppercase alpha 2 or 3 character country subdivision code.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nMandatory for card payments\n" - }, - "country": { - "type": "string", - "pattern": "^(\\s{0,2}|.{2})$", - "x-nullable": true, - "description": "Sender's country code. Use ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n" - }, - "dateOfBirth": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,8}|.{8})$", - "description": "Sender's date of birth in YYYYMMDD format.\n" - }, - "phoneNumber": { - "type": "string", - "x-nullable": true, - "maxLength": 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" - }, - "paymentInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "pattern": "^(\\s{0,3}|.{3})$", - "x-nullable": true, - "description": "Three-digit value that indicates the card type.\n\nIMPORTANT It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n-\t`001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value 001 for Visa Electron.\n-\t`002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n-\t`033`: Visa Electron\n-\t`024`: Maestro\n-\t`042`: Maestro International\n" - }, - "securityCode": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,3}|.{3})$", - "description": "3-digit value that indicates the card Cvv2Value. Values can be 0-9.\n" - }, - "sourceAccountType": { - "type": "string", - "x-nullable": true, - "maxLength": 20, - "description": "Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process.\n" - }, - "number": { - "type": "string", - "x-nullable": true, - "maxLength": 19, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" - }, - "expirationMonth": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,2}|.{2})$", - "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n" - }, - "expirationYear": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,4}|.{4})$", - "description": "Four-digit year in which the payment card expires.\n" - } - } - } - } - }, - "referenceNumber": { - "type": "string", - "maxLength": 19, - "x-nullable": true, - "description": "Reference number generated by you that uniquely identifies the sender.\n" - }, - "account": { - "type": "object", - "x-nullable": true, - "properties": { - "fundsSource": { - "type": "string", - "x-nullable": true, - "pattern": "^(\\s{0,2}|.{2})$", - "description": "Source of funds. Possible values:\n\n- `01`: Credit card\n- `02`: Debit card\n- `03`: Prepaid card\n- `04`: Cash/Deposit Account\n- `05`: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings accounts, and proprietary debit or ATM cards.\n- `06`: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines of credit.\n\nFunds Disbursement This value is most likely 05 to identify that the originator used a deposit account to fund the disbursement.\n\nCredit Card Bill Payment This value must be 02, 03, 04, or 05.\n" - }, - "number": { - "type": "string", - "x-nullable": true, - "maxLength": 34, - "description": "The account number of the entity funding the transaction. It is the sender's account number. It can be a debit/credit card account number or bank account number.\n\nFunds disbursements\n\nThis field is optional.\n\nAll other transactions\n\nThis field is required when the sender funds the transaction with a financial instrument, for example debit card. Length:\n" - } - } - }, - "personalIdentification": { - "type": "object", - "x-nullable": true, - "properties": { - "id": { - "type": "string", - "maxLength": 80, - "x-nullable": true, - "description": "Processor(35)\n" - }, - "personalIdType": { - "type": "string", - "maxLength": 1, - "x-nullable": true, - "description": "This tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are:\n- `B` (Business)\n- `I` (Individual)\n" - }, - "type": { - "type": "string", - "maxLength": 4, - "x-nullable": true, - "description": "This tag will contain the type of sender identification. The valid values are:\n\n- `BTHD`: (Date of birth)\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `CPNY`: (Company registration number)\n- `PRXY`: (Proxy identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `LAWE`: (Law enforcement identification)\n- `MILI`: (Military identification)\n- `TRVL`: (Travel identification (non-passport))\n- `EMAL`: (Email)\n- `PHON`: (Phone number)\n" - }, - "issuingCountry": { - "x-nullable": true, - "type": "string", - "pattern": "^(\\s{0,2}|.{2})$", - "description": "Issuing country of the identification.\nThe field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" - } - } - }, - "type": { - "type": "string", - "x-nullable": true, - "maxLength": 1, - "description": "`B` for Business or `I` for individual.\n" - }, - "vatRegistrationNumber": { - "type": "string", - "x-nullable": true, - "maxLength": 20, - "description": "Customer's government-assigned tax identification number.\n" - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "categoryCode": { - "x-nullable": true, - "type": "string", - "pattern": "^(\\s{0,4}|\\d{4})$", - "description": "The value for this field is a four-digit number that the payment card industry uses to \nclassify merchants into market segments. A payment card company assigned one or more of \nthese values to your business when you started accepting the payment card company's cards. \nWhen you do not include this field in your request, CyberSource uses the value in your CyberSource account.\n" - } - } - }, - "pointOfServiceInformation": { - "type": "object", - "properties": { - "emv": { - "type": "object", - "properties": { - "cardSequenceNumber": { - "x-nullable": true, - "type": "string", - "maxLength": 3, - "description": "Number assigned to a specific card when two or more cards are associated with the same primary account number.\n\nThis value enables issuers to distinguish among multiple cards that are linked to the same account.\n\nThis value can also act as a tracking tool when reissuing cards.\n\nWhen this value is available, it is provided by the chip reader.\n\nWhen the chip reader does not provide this value, do not include this field in your request.\n\nWhen sequence number is not provided via this API field, the value is extracted from EMV tag 5F34 for Mastercard transactions. To enable this feature please call support.\n\nNote Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing.\n" - } - } - } - } - } - }, - "example": { - "orderInformation": { - "amountDetails": { - "totalAmount": "124.05", - "currency": "USD" - } - }, - "processingInformation": { - "businessApplicationId": "AA", - "payoutsOptions": { - "sourceAmount": "100", - "sourceCurrency": "USD" - } - }, - "recipientInformation": { - "paymentInformation": { - "card": { - "type": "001", - "securityCode": "123", - "number": "4104920120500001", - "expirationMonth": "12", - "expirationYear": "2025" - } - }, - "locality": "Atlanta", - "address1": "1200 Peachtree Street", - "buildingNumber": "1200", - "country": "US", - "firstName": "John", - "lastName": "Doe", - "middleInitial": "D", - "middleName": "Dan", - "postalCode": "12345", - "administrativeArea": "GA", - "streetName": "Peachtree Street" - }, - "senderInformation": { - "account": { - "fundsSource": "05", - "number": "4104920120500002" - }, - "address1": "123 Street", - "address2": "123", - "buildingNumber": "123", - "country": "US", - "firstName": "Jane", - "lastName": "Doe", - "middleInitial": "N", - "middleName": "Nancy", - "postalCode": "54321", - "administrativeArea": "CA", - "streetName": "Street", - "referenceNumber": "1231823" - } - } - } - }, - { - "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, - "minLength": 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" - } - } - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\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- DAGGDENIED\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": 15, - "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": 1, - "description": "Transaction status from the processor.\n" - }, - "systemTraceAuditNumber": { - "type": "string", - "maxLength": 6, - "description": "This field is returned by authorization and incremental authorization services.\nSystem trace number that must be printed on the customer's receipt.\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\nRecommended format: ydddhhnnnnnn\n\nPositions 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 or assigned by Cybersource.\n" - }, - "actionCode": { - "type": "string", - "maxLength": 2, - "description": "The results of the transaction request\n\nNote: The VisaNet Response Code for the transaction\n" - }, - "approvalCode": { - "type": "string", - "x-nullable": true, - "maxLength": 6, - "description": "Issuer-generated approval code for the transaction.\n" - }, - "feeProgramIndicator": { - "type": "string", - "maxLength": 3, - "description": "This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n" - }, - "name": { - "type": "string", - "maxLength": 30, - "description": "Name of the processor.\n" - }, - "routing": { - "type": "object", - "properties": { - "network": { - "type": "string", - "maxLength": 4, - "description": "Contains the ID of the debit network to which the transaction was routed.\n\nCode: Network\n\n0000 : Priority Routing or Generic File Update\n\n0002: Visa programs, Private Label and non-Visa Authorization Gateway Services\n\n0003: Interlink\n\n0004: Plus\n\n0008: Star\n\n0009: Pulse\n\n0010: Star\n\n0011: Star\n\n0012: Star (primary network ID)\n\n0013: AFFN\n\n0015: Star\n\n0016: Maestro\n\n0017: Pulse (primary network ID)\n\n0018: NYCE (primary network ID)\n\n0019: Pulse\n\n0020: Accel\n\n0023: NETS\n\n0024: CU24\n\n0025: Alaska Option\n\n0027: NYCE\n\n0028: Shazam\n\n0029: EBT POS\n" - } - } - }, - "settlement": { - "type": "object", - "properties": { - "responsibilityFlag": { - "type": "boolean", - "description": "Settlement Responsibility Flag: VisaNet sets this flag.\n\nThis flag is set to true to indicate that VisaNet has settlement responsibility for this transaction. This flag does not indicate the transaction will be settled.\n" - }, - "serviceFlag": { - "type": "string", - "maxLength": 24, - "description": "Settlement Service for the transaction.\n\nValues:\n\nVIP: V.I.P. to decide; or not applicable\n\nINTERNATIONAL_SETTLEMENT: International \n\nNATIONAL_NET_SETTLEMENT: National Net Settlement\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" - }, - "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" - } - } - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "tokenizedCard": { - "type": "object", - "properties": { - "assuranceMethod": { - "type": "string", - "pattern": "^(\\s{0,2}|.{2})$", - "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\nValid Values:\n\nSpaces (No value set)\n\n00 = No issuer ID&V\n\n10 = Card issuer account verification\n\n11 = Card issuer interactive cardholder authentication - 1 factor\n\n12 = Card issuer interactive cardholder authentication - 2 factor\n\n13 = Card issuer risk oriented non-interactive cardholder authentication\n\n14 = Card issuer asserted authentication\n" - } - } - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "domesticNationalNet": { - "type": "object", - "description": "Settlement Service Data object for additional transaction requirements when the transaction indicates domestic national settlement.\n", - "properties": { - "reimbursementFeeBaseAmount": { - "type": "string", - "maxLength": 12, - "description": "National Net Interchange Reimbursement Fee (IRF) calculation base amount. This must be less than the transaction amount.\n\nFormat:\n\nMinimum Value: 0\n\nMaximum value: 999999999.99\n\nAllowed fractional digits: 3.\n\nNote: If a currency has three decimal places, the last digit of this field must be zero.\n\nRequired for Columbia National Net Settlement Service (NNSS) 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": { - "processorInformation": { - "routing": { - "network": "1234" - }, - "approvalCode": "98765X", - "feeProgramIndicator": "A", - "transactionId": "187470320952493", - "systemTraceAuditNumber": "512807", - "retrievalReferenceNumber": "418420512807", - "settlement": { - "responsibilityFlag": true, - "serviceFlag": "INTERNATIONAL_SETTLEMENT" - }, - "responseCode": "5", - "name": "vdcpromerica" - }, - "id": "7199515124531234567890", - "_links": { - "self": { - "method": "GET", - "href": "/pts/v1/push-funds-transfer/7199515124531234567890" - } - }, - "paymentInformation": { - "tokenizedCard": { - "assuranceMethod": "a1" - } - }, - "status": "AUTHORIZED", - "submitTimeUtc": "2023-09-15T19:31:08Z" - } - } - }, - "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- One or more fields in the request contains invalid data.\n- The request is missing one or more required 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- SERVICE_TIMEOUT\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- The request was received, but a service did not finish running in time.\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": { - "amountDetails": { - "totalAmount": "53.00", - "currency": "USD", - "settlementCurrency": "USD" - } - }, - "processingInformation": { - "businessApplicationId": "FT" - }, - "recipientInformation": { - "paymentInformation": { - "card": { - "type": "001", - "securityCode": "123", - "number": "4111111111111111", - "expirationMonth": "12", - "expirationYear": "2025" - } - }, - "address1": "8310 Capital of Texas Highwas North", - "address2": "Bluffstone Drive", - "locality": "Austin", - "postalCode": "78731", - "administrativeArea": "CA", - "country": "USA", - "firstName": "Jennifer", - "lastName": "Doe", - "middleName": "A", - "personalIdentification": { - "id": "123132456", - "type": "EIDN" - } - }, - "senderInformation": { - "firstName": "John", - "lastName": "Doe", - "middleName": "A", - "postalCode": "94440", - "address1": "Paseo Padre Boulevard", - "address2": "Bluffstone Drive", - "locality": "Foster City", - "administrativeArea": "CA", - "country": "US", - "referenceNumber": "1234567890", - "paymentInformation": { - "card": { - "sourceAccountType": "SA", - "type": "001", - "securityCode": "932", - "number": "4111111111111111", - "expirationMonth": "12", - "expirationYear": "2025" - } - }, - "personalIdentification": { - "id": "123132456", - "type": "CUID" - }, - "account": { - "fundsSource": "02" - } - } - } - } - } - } - }, - "/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.\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.\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.\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.\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\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n", - "type": "string", - "maxLength": 20 - }, - "authorizationOptions": { - "type": "object", - "properties": { - "initiator": { - "type": "object", - "properties": { - "type": { - "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.\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.\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.\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\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n", - "type": "string", - "maxLength": 20 - }, - "authorizationOptions": { - "type": "object", - "properties": { - "initiator": { - "type": "object", - "properties": { - "type": { - "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." - } - } - } - } - } - } - }, - "/bin/v1/binlookup": { - "post": { - "summary": "BIN Lookup API", - "description": "The BIN Lookup Service is a versatile business tool that provides card network agnostic solution designed to ensure frictionless transaction experience by utilizing up-to-date Bank Identification Number (BIN) attributes sourced from multiple global and regional data sources.\nThis service helps to improve authorization rates by helping to route transactions to the best-suited card network, minimizes fraud through card detail verification and aids in regulatory compliance by identifying card properties. The service is flexible and provides businesses with a flexible choice of inputs such as primary account number (PAN), network token from major networks which includes device PAN (DPAN), and all types of tokens generated via CyberSource Token Management Service (TMS).\nCurrently, the range of available credentials is contingent on the networks enabled for the business entity. Therefore, the network information specified in this documentation is illustrative and subject to personalized offerings for each reseller or merchant.\n", - "tags": [ - "Bin Lookup" - ], - "operationId": "getAccountInfo", - "x-devcenter-metaData": { - "categoryTag": "Bin_Lookup", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/bin-lookup/developer/all/rest/bin-lookup/bin-lookup-intro.html", - "firstLevelApiLifeCycle": "beta", - "secondLevelApiLifeCycle": "beta", - "apiLifeCycle": "beta", - "disableProcessorDropDown": true, - "SDK_ONLY_AddDisclaimer": true - }, - "consumes": [ - "application/json;charset=utf-8" - ], - "produces": [ - "application/json;charset=utf-8" - ], - "parameters": [ - { - "name": "createBinLookupRequest", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "clientReferenceInformation": { - "type": "object", - "properties": { - "partner": { - "type": "object", - "properties": { - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - }, - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - } - } - }, - "applicationName": { - "type": "string", - "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" - }, - "applicationVersion": { - "type": "string", - "description": "Version of the CyberSource application or integration used for a transaction.\n" - }, - "applicationUser": { - "type": "string", - "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "number": { - "type": "string", - "maxLength": 20, - "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" - } - } - }, - "customer": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "paymentInstrument": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", - "minLength": 1, - "maxLength": 32 - } - } - }, - "instrumentIdentifier": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", - "minLength": 12, - "maxLength": 32 - } - } - } - } - }, - "tokenInformation": { - "type": "object", - "properties": { - "jti": { - "type": "string", - "maxLength": 64, - "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" - }, - "transientTokenJwt": { - "type": "string", - "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" - } - } - }, - "processingInformation": { - "type": "object", - "properties": { - "binSource": { - "type": "string", - "description": "Bin Source File Identifier.\n\nPossible values:\n- itmx\n- rupay\n" - }, - "payoutOptions": { - "type": "object", - "description": "Payout fields request parameters\n", - "properties": { - "payoutInquiry": { - "type": "boolean", - "description": "If `true` then provide attributes related to fund transfer/payouts. If payout information not found then response will have standard account lookup.\n\nPossible values:\n- true\n- false\n" - }, - "networkId": { - "type": "string", - "description": "The networks specified in this field must be a subset of the information provided during program enrollment\n \nPossible values:\n- 0020 : Accel/Exchange\n- 0024 : CU24\n- 0003 : Interlink\n- 0016 : Maestro\n- 0018 : NYCE\n- 0027 : NYCE\n- 0009 : Pulse\n- 0017 : Pulse\n- 0019 : Pulse\n- 0008 : Star\n- 0010 : Star\n- 0011 : Star\n- 0012 : Star\n- 0015 : Star\n- 0002 : Visa/PLUS\n" - }, - "acquirerBin": { - "type": "string", - "description": "BIN under which the Funds Transfer application is registered. This must match the information provided during enrollment.\n" - } - } - } - } - } - } - } - } - ], - "responses": { - "201": { - "description": "Successful response.", - "schema": { - "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 - COMPLETED\n - MULTIPLE\n - NO MATCH\n" - }, - "paymentAccountInformation": { - "type": "object", - "properties": { - "card": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "maxLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the max length of the card.\n" - }, - "credentialType": { - "type": "string", - "maxLength": 5, - "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" - }, - "brands": { - "description": "Array of brands", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "maxLength": 3, - "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" - }, - "brandName": { - "type": "string", - "maxLength": 20, - "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" - }, - "corporatePurchase": { - "type": "boolean", - "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" - }, - "healthCard": { - "type": "boolean", - "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" - } - } - } - } - }, - "issuerInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 200, - "description": "This field contains the issuer name.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" - }, - "binLength": { - "type": "string", - "maxLength": 2, - "description": "This field contains the length of the BIN.\n" - }, - "accountPrefix": { - "type": "string", - "maxLength": 8, - "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" - }, - "phoneNumber": { - "type": "string", - "maxLength": 50, - "description": "This field contains the customer service phone number for the issuer.\n" - } - } - }, - "payoutInformation": { - "type": "object", - "properties": { - "pushFunds": { - "type": "object", - "properties": { - "moneyTransferFastFundsCrossBorder": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if cross-border money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "moneyTransferFastFundsDomestic": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if domestic money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "moneyTransferCrossBorder": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if cross-border money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "moneyTransferDomestic": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if domestic money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "nonMoneyTransferFastFundsCrossBorder": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if cross-border non-money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "nonMoneyTransferFastFundsDomestic": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if domestic non-money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "nonMoneyTransferCrossBorder": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if cross-border non-money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "nonMoneyTransferDomestic": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if domestic non-money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "onlineGamblingFastFundsCrossBorder": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if cross-border gambling OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "onlineGamblingFastFundsDomestic": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if domestic gambling OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "onlineGamblingCrossBorder": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if cross-border gambling OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "onlineGamblingDomestic": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if domestic gambling OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" - }, - "domesticParticipant": { - "type": "string", - "maxLength": 5, - "description": "This field indicates if domestic OCTs (push funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" - }, - "crossBorderParticipant": { - "type": "string", - "maxLength": 5, - "description": "This field indicates if cross-border OCTs (push funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" - } - } - }, - "pullFunds": { - "type": "object", - "properties": { - "domesticParticipant": { - "type": "string", - "maxLength": 5, - "description": "This field indicates if domestic AFTs (pull funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" - }, - "crossBorderParticipant": { - "type": "string", - "maxLength": 5, - "description": "This field indicates if cross-border AFTs (pull funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" - } - } - }, - "geoRestrictionIndicator": { - "type": "string", - "maxLength": 1, - "description": "This field indicates if the recipient issuer can accept transactions from the originator country.\nPossible values:\n - `Y`\n - `N`\n" - } - } - } - } - } - }, - "400": { - "description": "Invalid request.", - "schema": { - "type": "object", - "title": "binLookupv400Response", - "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": { - "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": "BIN Lookup with Card", - "value": { - "clientReferenceInformation": { - "code": "TC50171_100" - }, - "paymentInformation": { - "card": { - "number": "4111111111111111" - } - } - } - }, - "example1": { - "summary": "BIN Lookup with Healthcare Card", - "value": { - "paymentInformation": { - "card": { - "number": "4288900100000" - } - } - } - }, - "example2": { - "summary": "BIN Lookup with Network Token", - "value": { - "paymentInformation": { - "card": { - "number": "4895370016313691" - } - } - } - }, - "example3": { - "summary": "BIN Lookup with TMS Customer ID", - "value": { - "paymentInformation": { - "customer": { - "id": "E5426CFDE77F7390E053A2598D0A925D" - } - } - } - }, - "example4": { - "summary": "BIN Lookup with TMS Payment Instrument", - "value": { - "paymentInformation": { - "paymentInstrument": { - "id": "E5427539180789D0E053A2598D0AF053" - } - } - } - }, - "example5": { - "summary": "BIN Lookup with TMS Instrument Identifier", - "value": { - "paymentInformation": { - "instrumentIdentifier": { - "id": "7010000000016241111" - } - } - } - }, - "example6": { - "summary": "BIN Lookup with TMS jti Transient Token", - "value": { - "tokenInformation": { - "jti": "1E0WC1GO87JG1BDP0CQ8SCR1TTK86U9N98H3WH8IFM9MVEWTIYFI62F4941E7A92" - } - } - }, - "example7": { - "summary": "BIN Lookup with TMS JWT Transient Token", - "value": { - "tokenInformation": { - "transientTokenJwt": "eyJraWQiOiIwODd0bk1DNU04bXJHR3JHMVJQTkwzZ2VyRUh5VWV1ciIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJGbGV4LzA4IiwiZXhwIjoxNjYwMTk1ODcwLCJ0eXBlIjoiYXBpLTAuMS4wIiwiaWF0IjoxNjYwMTk0OTcwLCJqdGkiOiIxRTBXQzFHTzg3SkcxQkRQMENROFNDUjFUVEs4NlU5Tjk4SDNXSDhJRk05TVZFV1RJWUZJNjJGNDk0MUU3QTkyIiwiY29udGVudCI6eyJwYXltZW50SW5mb3JtYXRpb24iOnsiY2FyZCI6eyJudW1iZXIiOnsibWFza2VkVmFsdWUiOiJYWFhYWFhYWFhYWFgxMTExIiwiYmluIjoiNDExMTExIn0sInR5cGUiOnsidmFsdWUiOiIwMDEifX19fX0.MkCLbyvufN4prGRvHJcqCu1WceDVlgubZVpShNWQVjpuFQUuqwrKg284sC7ucVKuIsOU0DTN8_OoxDLduvZhS7X_5TnO0QjyA_aFxbRBvU_bEz1l9V99VPADG89T-fox_L6sLUaoTJ8T4PyD7rkPHEA0nmXbqQCVqw4Czc5TqlKCwmL-Fe0NBR2HlOFI1PrSXT-7_wI-JTgXI0dQzb8Ub20erHwOLwu3oni4_ZmS3rGI_gxq2MHi8pO-ZOgA597be4WfVFAx1wnMbareqR72a0QM4DefeoltrpNqXSaASVyb5G0zuqg-BOjWJbawmg2QgcZ_vE3rJ6PDgWROvp9Tbw" - } - } - } - } - } - }, - "/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" - }, - "hashedPassword": { - "type": "string", - "maxLength": 100, - "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\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" - }, - "cavv": { - "type": "string", - "maxLength": 40, - "description": "Cardholder authentication verification value (CAVV)." - }, - "xid": { - "type": "string", - "maxLength": 40, - "description": "Transaction identifier.\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" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "merchantDescriptor": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Your merchant name.\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": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" - }, - "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" - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "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": 50, - "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "company": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\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" - }, - "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" - }, - "fulfillmentType": { - "type": "string", - "description": "The description for this field is not available." - } - } - } - }, - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" - }, - "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": 32, - "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" - } - } - }, - "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" - }, - "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" - } - } - }, - "brands": { - "type": "array", - "description": "This array contains the supported brands.\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" - }, - "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" - }, - "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" - }, - "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" - }, - "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" - }, - "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" - }, - "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" - } - } - }, - "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- `ISSUER_WILL_NEVER_APPROVE`\n- `ISSUER_CANNOT_APPROVE_AT_THIS_TIME`\n- `ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS`\n- `GENERIC_ERROR`\n- `PAYMENT_INSIGHTS_INTERNAL_ERROR`\n- `OTHERS`\n- `PAYMENT_INSIGHTS_RESPONSE_CATEGORY_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_CANNOT_APPROVE_AT_THIS_TIME\n- `03` : ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS\n- `04` : GENERIC_ERROR\n- `97` : PAYMENT_INSIGHTS_INTERNAL_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" - } - } - }, - "orchestration": { - "type": "object", - "properties": { - "infoCodes": { - "type": "array", - "items": { - "type": "string", - "maxLength": 60 - }, - "description": "Infocodes indicating which rules were triggered by the Service Orchestration product.\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", - "maxLength": 1, - "description": "Indicates the type of unscheduled payment. This field is required for unscheduled payments CIT/MIT Possible values:\n1: First unscheduled transaction.\n2: Subsequent unscheduled transaction.\n" - } - } - }, - "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.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" - }, - "commerceIndicatorLabel": { - "type": "string", - "maxLength": 20, - "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n" - }, - "businessApplicationId": { - "type": "string", - "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n" - }, - "authorizationOptions": { - "type": "object", - "properties": { - "authType": { - "type": "string", - "maxLength": 15, - "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" - }, - "authIndicator": { - "type": "string", - "maxLength": 1, - "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - **0**: Preauthorization\n - **1**: Final authorization\n\nTo set the default for this field, contact CyberSource Customer Support.\n\n#### Barclays and Elavon\nThe default for Barclays and Elavon is 1 (final authorization). To change the default for this field, contact CyberSource Customer Support.\n\n#### CyberSource through VisaNet\nWhen the value for this field is 0, it corresponds to the following data in the TC 33 capture file:\n - Record: CP01 TCR0\n - Position: 164\n - Field: Additional Authorization Indicators\nWhen the value for this field is 1, it does not correspond to any data in the TC 33 capture file.\n" - }, - "extendAuthIndicator": { - "type": "string", - "maxLength": 5, - "description": "Indicates Authorization extension transaction. Extension transaction is used to prolong the settlement period by one additional settlement cycle period.\n\nPossible values:\n- true: Transaction is an Authorization Extension transaction. \n- false: Transaction is not an Authorization Extension transaction.\n" - }, - "cardVerificationIndicator": { - "type": "boolean", - "description": "This API field will indicate whether a card verification check is being performed during the transaction\n\nPossible values:\n - `true`\n - `false` (default value)\n" - }, - "initiator": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\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\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" - }, - "previousTransactionId": { - "type": "string", - "maxLength": 15, - "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n\nIf the current payment request includes a token instead of an account number, the following time limits apply for the value of this field:\n- For a **resubmission**, the transaction ID must be less than 14 days old.\n- For a **delayed charge** or **reauthorization**, the transaction ID must be less than 30 days old.\n\n**NOTE**: The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported\nonly for Visa transactions on CyberSource through VisaNet.\n" - }, - "originalAuthorizedAmount": { - "type": "string", - "maxLength": 61, - "description": "Amount of the original authorization.\n\nThis field is supported only for Apple Pay, Google Pay, and Samsung Pay transactions with Discover on FDC Nashville Global and Chase Paymentech.\n" - }, - "agreementId": { - "type": "string", - "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" - }, - "businessNameEnglish": { - "type": "string", - "maxLength": 25, - "description": "Business name in English characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" - }, - "bonuses": { - "type": "array", - "description": "An array of objects, each of which contains a bonus month and bonus amount. \nLength of bonuses array is equal to the number of bonuses. Max length = 6. \nIn case of bonus month and amount not specified, null objects to be returned in the array.\nExample: bonuses : [ {\"month\": \"1\",\"amount\": \"200\"}, {\"month\": \"3\",\"amount\": \"2500\"}, null]\n", - "items": { - "type": "object", - "properties": { - "month": { - "type": "string", - "maxLength": 2, - "description": "This value is a 2-digit code indicating the first bonus month. Valid value from 1 to 12.\n" - }, - "amount": { - "type": "string", - "maxLength": 8, - "description": "This value contains the bonus amount of the first month. Maximum value without decimal 99999999.\n" - } - } - } - }, - "firstBillingMonth": { - "type": "string", - "maxLength": 2, - "description": "Billing month in MM format.\n" - }, - "numberOfInstallments": { - "type": "string", - "maximum": 99, - "description": "Number of Installments.\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" - } - } - } - } - }, - "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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" - } - } - }, - "achVerification": { - "type": "object", - "properties": { - "resultCode": { - "type": "string", - "maxLength": 2, - "description": "Results from the ACH verification service.\n" - }, - "resultCodeRaw": { - "type": "string", - "maxLength": 10, - "description": "Raw results from the ACH verification service.\n" - } - } - }, - "electronicVerificationResults": { - "type": "object", - "properties": { - "email": { - "type": "string", - "maxLength": 1, - "description": "Mapped Electronic Verification response code for the customer's email address.\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" - }, - "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" - }, - "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" - }, - "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 - `4`: Biometric\n - `5`: OTP\n" - }, - "emv": { - "type": "object", - "properties": { - "tags": { - "type": "string", - "maxLength": 1998, - "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" - } - } - } - } - }, - "riskInformation": { - "type": "object", - "properties": { - "profile": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the profile.\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 about this order - Expedited shipping" - }, - "consumerAuthenticationInformation": { - "eciRaw": "02", - "cavv": "12345", - "xid": "12345678", - "transactionId": "00152259513040478521", - "strongAuthentication": { - "lowValueExemptionIndicator": "1", - "riskAnalysisExemptionIndicator": "1", - "trustedMerchantExemptionIndicator": "1", - "secureCorporatePaymentIndicator": "1", - "delegatedAuthenticationExemptionIndicator": "1" - } - }, - "deviceInformation": { - "ipAddress": "1.10.10.10", - "hostName": "cybs test", - "cookiesAccepted": "no" - }, - "errorInformation": { - "reason": "MISSING_FIELD", - "message": "abc", - "details": [ - { - "field": "xyz", - "reason": "MISSING_FIELD" - } - ] - }, - "installmentInformation": { - "numberOfInstallments": 0, - "identifier": "1234567" - }, - "fraudMarkingInformation": { - "reason": "suspected" - }, - "healthCareInformation": { - "amountDetails": { - "amountType": "healthcare-transit", - "amount": "100.00" - } - }, - "merchantDefinedInformation": [ - { - "key": "abc", - "value": "xyz" - } - ], - "merchantInformation": { - "merchantDescriptor": { - "name": "ng_paymentech" - } - }, - "orderInformation": { - "billTo": { - "firstName": "JAMES", - "lastName": "DOUGH", - "middleName": "ROY", - "nameSuffix": "Mr", - "address1": "600 Morgan Falls Road", - "address2": "Room 2-2123", - "locality": "Atlanta", - "administrativeArea": "GA", - "postalCode": "30350", - "company": "cybersource", - "email": "jdough@cybersource.com", - "country": "US", - "title": "Manager", - "phoneNumber": "6509656111" - }, - "shipTo": { - "firstName": "Test", - "lastName": "TSS", - "address1": "201S.DivisionSt._1", - "address2": "Suite500", - "locality": "Austin", - "administrativeArea": "TX", - "postalCode": "78750", - "company": "cybs", - "country": "US", - "phoneNumber": "5120000000" - }, - "lineItems": [ - { - "productCode": "code2", - "productName": "name2", - "productSku": "KKY", - "taxAmount": "3.00", - "quantity": 2, - "unitPrice": "5.00", - "fulfillmentType": "abc" - } - ], - "amountDetails": { - "totalAmount": "100.00", - "currency": "USD", - "taxAmount": "5", - "authorizedAmount": "100.00", - "settlementAmount": "97.50", - "settlementCurrency": "USD", - "surcharge": "1.11" - }, - "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", - "businessNameEnglish": "shop_local_english", - "bonuses": [ - { - "month": "07", - "amount": "999" - }, - { - "month": "08", - "amount": "9889" - } - ], - "firstBillingMonth": "06", - "numberOfInstallments": "99", - "preApprovalType": "1" - } - }, - "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" - } - } - }, - "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" - }, - "transactionId": { - "type": "string", - "description": "Payer auth Transaction identifier." - }, - "eciRaw": { - "type": "string", - "maxLength": 2, - "description": "Raw electronic commerce indicator (ECI).\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" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "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\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } - }, - "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" - } - } - }, - "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 REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "businessApplicationId": { - "type": "string", - "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n" - }, - "commerceIndicator": { - "type": "string", - "maxLength": 20, - "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" - }, - "commerceIndicatorLabel": { - "type": "string", - "maxLength": 20, - "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n" - } - } - }, - "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" - }, - "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" - } - } - }, - "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.\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", - "retrievalReferenceNumber": "122908889379" - }, - "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" - } - } - }, - "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" - }, - "transactionId": { - "type": "string", - "description": "Payer auth Transaction identifier." - }, - "eciRaw": { - "type": "string", - "maxLength": 2, - "description": "Raw electronic commerce indicator (ECI).\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" - }, - "value": { - "type": "string", - "maxLength": 800, - "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" - } - } - } - }, - "merchantInformation": { - "type": "object", - "properties": { - "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\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - } - } - }, - "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" - } - } - }, - "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 REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" - }, - "businessApplicationId": { - "type": "string", - "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n" - }, - "commerceIndicator": { - "type": "string", - "maxLength": 20, - "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" - }, - "commerceIndicatorLabel": { - "type": "string", - "maxLength": 20, - "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n" - } - } - }, - "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" - }, - "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" - } - } - }, - "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.\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", - "retrievalReferenceNumber": "122908889379" - }, - "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" + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_17" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example115": { + "summary": "19. Auth Bill JC JS", + "sample-name": "19. Auth Bill JC JS", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_JC_JS_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "10046356" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_05" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "js", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example116": { + "summary": "20. Auth Bill JC Moto", + "sample-name": "20. Auth Bill JC Moto", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "184", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_JC_Moto_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_116" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example117": { + "summary": "21. Auth Bill JC Recurring", + "sample-name": "21. Auth Bill JC Recurring", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_JC_Recurring_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountDetails": { + "currency": "USD" + } + }, + "clientReferenceInformation": { + "code": "TC01_110" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "recurring", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example118": { + "summary": "22. Auth Bill JC Recurring Internet", + "sample-name": "22. Auth Bill JC Recurring Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_JC_Recurring_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountDetails": { + "currency": "USD" + } + }, + "clientReferenceInformation": { + "code": "TC01_104" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "recurring", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example119": { + "summary": "23. Auth Bill MC Install", + "sample-name": "23. Auth Bill MC Install", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "146", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Install_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "installmentInformation": { + "sequence": "1", + "planId": "1", + "frequency": "M", + "identifier": "1", + "planType": "1" + }, + "clientReferenceInformation": { + "code": "TC01_08" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example120": { + "summary": "2. Auth Bill MC CIT Auth Reason 7", + "sample-name": "2. Auth Bill MC CIT Auth Reason 7", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Install_CIT_Auth_Reason_7_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example121": { + "summary": "3. Auth Bill MC CIT Auth Reason 9", + "sample-name": "3. Auth Bill MC CIT Auth Reason 9", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Install_Internet_CIT_Auth_Reason_9_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example122": { + "summary": "4. Auth Bill MC MIT Auth Reason Blank", + "sample-name": "4. Auth Bill MC MIT Auth Reason Blank", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Install_Internet_MIT_Auth_Reason_Blank_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "install" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example123": { + "summary": "5. Auth Bill MC MIT Auth Reason 8", + "sample-name": "5. Auth Bill MC MIT Auth Reason 8", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Install_MIT_Auth_Reason_8_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "install" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example124": { + "summary": "24. Auth Bill MC Internet", + "sample-name": "24. Auth Bill MC Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9024.3", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_14" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "internet" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example125": { + "summary": "6. Auth Bill MC Internet CIT Auth Reason Blank", + "sample-name": "6. Auth Bill MC Internet CIT Auth Reason Blank", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "100.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Internet_CIT_Auth_Reason_Blank_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "internet" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example126": { + "summary": "25. Auth Bill MC Moto", + "sample-name": "25. Auth Bill MC Moto", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "181", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Moto_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_113" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5100039901230025", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "moto" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example127": { + "summary": "26. Auth Bill MC Recurring", + "sample-name": "26. Auth Bill MC Recurring", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Recurring_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountDetails": { + "currency": "USD", + "totalAmount": 181 + } + }, + "clientReferenceInformation": { + "code": "TC01_108" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5480950023974102", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "recurring" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example128": { + "summary": "7. Auth Bill MC Recurring CIT Auth Reason 7", + "sample-name": "7. Auth Bill MC Recurring CIT Auth Reason 7", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Recurring_CIT_Auth_Reason_7_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example129": { + "summary": "27. Auth Bill MC Recurring Internet", + "sample-name": "27. Auth Bill MC Recurring Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Recurring_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountDetails": { + "currency": "USD", + "totalAmount": "604.00" + } + }, + "clientReferenceInformation": { + "code": "TC01_102" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5480950023974102", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "recurring" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example130": { + "summary": "8. Auth Bill MC Recurring CIT Auth Reason 8", + "sample-name": "8. Auth Bill MC Recurring CIT Auth Reason 8", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Recurring_Internet_CIT_Auth_Reason_8_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example131": { + "summary": "9. Auth Bill MC Recurring MIT Auth Reason 7", + "sample-name": "9. Auth Bill MC Recurring MIT Auth Reason 7", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Recurring_Internet_MIT_Auth_Reason_7_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example132": { + "summary": "10. Auth Bill MC Recurring MIT Auth Reason 9", + "sample-name": "10. Auth Bill MC Recurring MIT Auth Reason 9", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Recurring_MIT_Auth_Reason_9_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example133": { + "summary": "1. Auth Bill MC Retail Transit", + "sample-name": "1. Auth Bill MC Retail Transit", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu2cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_Bill_MC_Retail_Transit" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B5100039901230025^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y", + "emv": { + "cardSequenceNumber": "123" + } + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_02" + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "transportationMode": "01", + "debtRecoveryIndicator": "Y" + }, + "industryDataType": "transit", + "commerceIndicator": "retail" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "paymentInformation": { + "card": { + "type": "002" + } + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example134": { + "summary": "2. Auth Bill MC Retail AFT", + "sample-name": "2. Auth Bill MC Retail AFT", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "1064.00", + "surcharge": { + "amount": "123456.78" + }, + "currency": "USD" + }, + "billTo": { + "email": "null@cybersource.com", + "lastName": "Bird", + "country": "US", + "firstName": "Big", + "postalCode": "48104-20", + "phoneNumber": "999-999-9999", + "locality": "Emerald City", + "administrativeArea": "MI", + "address2": "Test Street 2", + "address1": "Auth_Bill_MC_Retail_Street_AFT" + } + }, + "senderInformation": { + "referenceNumber": "1542647653765767", + "locality": "testingcitycharacter25chr", + "personalIdType": "TXIN", + "name": "testingname_name_testing_test1", + "address1": "testingaddresscharacterlength35char", + "firstName": "senderfirstname_senderfirstname_35C", + "middleName": "sendermiddlename_sendermiddlename35", + "administrativeArea": "ss", + "account": { + "number": "1542647653765761265716526751761287" + }, + "type": "B", + "countryCode": "GBR", + "identificationNumber": "12345678910111213223", + "lastName": "senderlastname_senderlastname@@_35D" + }, + "recipientInformation": { + "lastName": "recipientlastnmerecipientlastname35", + "locality": "recipientAddress1_addres2", + "accountId": "98765432112377826427ABCDefgh1235wq", + "middleName": "recipientmiddlename_recipientmid345", + "country": "GBR", + "postalCode": "571216", + "firstName": "recipientfirstnm_recipientfirstname" + }, + "pointOfSaleInformation": { + "trackData": ";4111111111111111=33121019761186800000?", + "emv": { + "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" + }, + "entryMode": "contact", + "cardPresent": "Y" + }, + "clientReferenceInformation": { + "code": "CP09_AFT_3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2025", + "number": "5555555555554444", + "expirationMonth": "12" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail", + "authorizationOptions": { + "aftIndicator": "y" + } + } + }, + "parentTag": "AFT-Framework" + }, + "example135": { + "summary": "2. Auth Bill MC Spa", + "sample-name": "2. Auth Bill MC Spa", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Spa_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_02" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "spa" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "MASTERCARD", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example136": { + "summary": "11. Auth Bill MC Spa CIT Auth Reason Blank", + "sample-name": "11. Auth Bill MC Spa CIT Auth Reason Blank", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "100.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_MC_Spa_CIT_Auth_Reason_Blank_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "spa" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example137": { + "summary": "1. Auth Bill MC Wallet 103", + "sample-name": "1. Auth Bill MC Wallet 103", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "100", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Wallet_103_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_118" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + }, + "tokenizedCard": { + "transactionType": "1", + "number": "5188690467086204" + } + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "ucafCollectionIndicator": "2" + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "spa", + "walletType": "103" + } + }, + "parentTag": "Auth-Bill-Wallet" + }, + "example138": { + "summary": "2. Auth Bill MC Wallet 116", + "sample-name": "2. Auth Bill MC Wallet 116", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "100", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Wallet_116_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_118" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + }, + "tokenizedCard": { + "transactionType": "1", + "number": "5188690467086204" + } + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "ucafCollectionIndicator": "2" + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "spa", + "walletType": "116" + } + }, + "parentTag": "Auth-Bill-Wallet" + }, + "example139": { + "summary": "3. Auth Bill MC Wallet VCIND", + "sample-name": "3. Auth Bill MC Wallet VCIND", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "100", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_MC_Wallet_VCIND_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_118" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + }, + "tokenizedCard": { + "transactionType": "1", + "number": "5188690467086204" + } + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "ucafCollectionIndicator": "2" + }, + "processingInformation": { + "commerceIndicator": "spa", + "walletType": "VCIND", + "capture": true + } + }, + "parentTag": "Auth-Bill-Wallet" + }, + "example140": { + "summary": "5. Auth Bill Moto DC Additional Data", + "sample-name": "5. Auth Bill Moto DC Additional Data", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "805", + "nationalTaxIncluded": "1", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Moto_DC_Additional_Data_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC08_09" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "moto" + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example141": { + "summary": "6. Auth Bill Moto AX Additional Data", + "sample-name": "6. Auth Bill Moto AX Additional Data", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "800", + "nationalTaxIncluded": "1", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Moto_AX_Additional_Data_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC08_07" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example142": { + "summary": "7. Auth Bill Moto DI Additional Data", + "sample-name": "7. Auth Bill Moto DI Additional Data", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "801", + "nationalTaxIncluded": "1", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Moto_DI_Additional_Data_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC08_08" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example143": { + "summary": "8. Auth Bill Moto JC Additional Data", + "sample-name": "8. Auth Bill Moto JC Additional Data", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "805", + "nationalTaxIncluded": "1", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Moto_JC_Additional_Data_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC08_06" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example145": { + "summary": "9. Auth Bill Moto VI Additional Data", + "sample-name": "9. Auth Bill Moto VI Additional Data", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "800", + "nationalTaxIncluded": "1", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Moto_VI_Additional_Data_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "purchaseOrderNumber": "USERPO1" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC08_01" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example146": { + "summary": "12. Auth Bill MZ Install CIT Auth Reason 7", + "sample-name": "12. Auth Bill MZ Install CIT Auth Reason 7", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Install_Internet_CIT_Auth_Reason_7_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "N" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example147": { + "summary": "13. Auth Bill MZ CIT Auth Reason 9", + "sample-name": "13. Auth Bill MZ Internet CIT Auth Reason 9", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Install_Internet_Internet_CIT_Auth_Reason_9_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "pointOfSaleInformation": { + "cardPresent": "N", + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example148": { + "summary": "14. Auth Bill MZ MIT Auth Reason Blank", + "sample-name": "14. Auth Bill MZ MIT Auth Reason Blank", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Install_Internet_MIT_Auth_Reason_Blank_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "install" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example149": { + "summary": "15. Auth Bill MZ Install MIT Auth Reason 8", + "sample-name": "15. Auth Bill MZ Install MIT Auth Reason 8", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Install_MIT_Auth_Reason_8_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "install" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example150": { + "summary": "16. Auth Bill MZ Recurring CIT Auth Reason 7", + "sample-name": "16. Auth Bill MZ Recurring CIT Auth Reason 7", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Recurring_CIT_Auth_Reason_7_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example151": { + "summary": "17. Auth Bill MZ Recurring Internet CIT Auth Reason 8", + "sample-name": "17. Auth Bill MZ Recurring Internet CIT Auth Reason 8", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Recurring_Internet_CIT_Auth_Reason_8_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example152": { + "summary": "18. Auth Bill MZ Recurring Internet MIT Auth Reason 7", + "sample-name": "18. Auth Bill MZ Recurring Internet MIT Auth Reason 7", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Recurring_Internet_MIT_Auth_Reason_7_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example153": { + "summary": "19. Auth Bill MZ Recurring MIT Auth Reason 9", + "sample-name": "19. Auth Bill MZ Recurring MIT Auth Reason 9", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90.00", + "currency": "EGP" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_MZ_Recurring_MIT_Auth_Reason_9_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "installmentInformation": { + "sequence": "1", + "frequency": "M" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "067", + "expirationYear": "2040", + "number": "6250947000000014", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "initiator": { + "type": "Y" + } + }, + "commerceIndicator": "recurring" + }, + "pointOfSaleInformation": { + "cardPresent": "N" + }, + "consumerAuthenticationInformation": { + "cavv": "jHeY+igABPs3jdwNaDg3MAACAAA=", + "authenticationBrand": "Meeza", + "ucafCollectionIndicator": "2", + "ucafAuthenticationData": "test" + } + }, + "parentTag": "CIT-MIT Framework" + }, + "example154": { + "summary": "3. Auth Bill Retail Contact AX", + "sample-name": "3. Auth Bill Retail Contact AX", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu12cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Contact_AX" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B372425119311008^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contact", + "cardPresent": "Y", + "emv": { + "cardSequenceNumber": "123" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_12" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "paymentInformation": { + "card": { + "type": "003" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example155": { + "summary": "4. Auth Bill Retail Contactless AX", + "sample-name": "4. Auth Bill Retail Contactless AX", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu6cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Contactless_AX" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B372425119311008^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y", + "emv": { + "cardSequenceNumber": "123" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_06" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example156": { + "summary": "5. Auth Bill Retail Contactless Tap To Phone MC", + "sample-name": "5. Auth Bill Retail Contactless Tap To Phone MC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu2cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Contactless_TapPhone_MC" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B5100039901230025^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y", + "emv": { + "cardSequenceNumber": "123" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_02" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "paymentInformation": { + "tokenizedCard": { + "requestorId": "12345678901", + "transactionType": "1" + }, + "card": { + "type": "002" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example157": { + "summary": "10. Auth Bill Retail Contactless VI Level2", + "sample-name": "10. Auth Bill Retail Contactless VI Level2", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "600", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" + } + }, + "billTo": { + "email": "test@visa.com", + "lastName": "TEST", + "country": "US", + "firstName": "SIX1cp", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Contactless_VI_Level2" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + }, + "cardAcceptorReferenceNumber": "ABC12PC" + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC06_01" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4761340000000019", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example158": { + "summary": "6. Auth Bill Retail Keyed AX", + "sample-name": "6. Auth Bill Retail Keyed AX", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu24cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Keyed_AX" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B372425119311008^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "keyed", + "cardPresent": "Y", + "emv": { + "cardSequenceNumber": "123" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_24" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example159": { + "summary": "1. Auth Bill Retail MC DCC", + "sample-name": "1. Auth Bill Retail MC DCC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "17581", + "originalCurrency": "USD", + "originalAmount": "151", + "exchangeRate": "116.4344", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "DCCUSD1", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Retail_MC_DCC_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountdetails": { + "currencyConversion": { + "indicator": "1" + } + } + }, + "pointOfSaleInformation": { + "emv": { + "cardholderVerificationMethodUsed": "2", + "cardSequenceNumber": "123" + }, + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y" + }, + "installmentInformation": { + "sequence": "2", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "020000000005999" + }, + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC01_D12" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "retail", + "paymentSolution": "mpos", + "capture": true + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "DCC-Framework" + }, + "example160": { + "summary": "11. Auth Bill Retail MC Purchase Level 3", + "sample-name": "11. Auth Bill Retail MC Purchase Level 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "401", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "freightAmount": "5.85", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" + } + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Retail_MC_Purchase_Level_3_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC04_02" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5100039901230025", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "merchantInformation": { + "cardAcceptorReferenceNumber": "ABC12#PC", + "salesOrganizationId": "45890500000" + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example161": { + "summary": "Auth Bill Retail Swiped AX", + "sample-name": "Auth Bill Retail Swiped AX", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu18cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_AX" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B372425119311008^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "swiped", + "cardPresent": "Y", + "emv": { + "cardSequenceNumber": "123" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_18" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "paymentInformation": { + "card": { + "type": "003" + } + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example162": { + "summary": "1. Auth Bill Retail Swiped AX Auto Rental", + "sample-name": "1. Auth Bill Retail Swiped AX Auto Rental", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "ONECSW06cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_AX_Auto_Rental" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": ";4111111111111111=33121019761186800000?", + "emv": { + "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" + }, + "entryMode": "contact", + "cardPresent": "Y" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC50000_6" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "auto_rental", + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auto-Rental-Framework" + }, + "example163": { + "summary": "2. Auth Bill Retail Swiped DC Auto Rental", + "sample-name": "2. Auth Bill Retail Swiped DC Auto Rental", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "ONECSW03cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_DC_Auto_Rental" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "swiped", + "cardPresent": "Y" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC50000_3" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "auto_rental", + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auto-Rental-Framework" + }, + "example164": { + "summary": "3. Auth Bill Retail Swiped DI Auto Rental", + "sample-name": "3. Auth Bill Retail Swiped DI Auto Rental", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "ONECSW04cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_DI_Auto_Rental" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "swiped", + "cardPresent": "Y" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC50000_4" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "auto_rental", + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auto-Rental-Framework" + }, + "example165": { + "summary": "8. Auth Bill Retail Swiped Fallback MC", + "sample-name": "8. Auth Bill Retail Swiped Fallback MC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu14cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_Fallback_MC" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B5100039901230025^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "swiped", + "cardPresent": "Y", + "emv": { + "fallback": "Y", + "cardSequenceNumber": "123" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_14" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "paymentInformation": { + "card": { + "type": "002" + } + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example166": { + "summary": "4. Auth Bill Retail Swiped JC Auto Rental", + "sample-name": "4. Auth Bill Retail Swiped JC Auto Rental", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "ONECSW05cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_JC_Auto_Rental" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "swiped", + "cardPresent": "Y" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC50000_5" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "auto_rental", + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auto-Rental-Framework" + }, + "example167": { + "summary": "5. Auth Bill Retail Swiped MC Auto Rental", + "sample-name": "5. Auth Bill Retail Swiped MC Auto Rental", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "ONECSW02cp", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_MC_Auto_Rental" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "swiped", + "cardPresent": "Y" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC50000_2" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "auto_rental", + "commerceIndicator": "retail", + "capture": true + } + }, + "parentTag": "Auto-Rental-Framework" + }, + "example168": { + "summary": "6. Auth Bill Retail Swiped VI Auto Rental", + "sample-name": "6. Auth Bill Retail Swiped VI Auto Rental", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "test", + "country": "US", + "firstName": "ONECSW01cp", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address1": "Auth_Bill_Retail_Swiped_VI_Auto_Rental" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "swiped", + "cardPresent": "Y" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Test City" + } + }, + "senderInformation": { + "locality": "Sender City", + "address1": "Sender Address", + "countryCode": "US" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC50000_1" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "auto_rental", + "commerceIndicator": "retail", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auto-Rental-Framework" + }, + "example169": { + "summary": "2. Auth Bill Retail VI DCC", + "sample-name": "2. Auth Bill Retail VI DCC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "17581", + "originalCurrency": "USD", + "originalAmount": "151", + "exchangeRate": "116.4344", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "00000", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Retail_VI_DCC_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountdetails": { + "currencyConversion": { + "indicator": "1" + } + } + }, + "pointOfSaleInformation": { + "emv": { + "cardholderVerificationMethodUsed": "2", + "cardSequenceNumber": "123" + }, + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y" + }, + "installmentInformation": { + "sequence": "2", + "frequency": "B" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "555555555555555" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC01_D11" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "retail", + "paymentSolution": "mpos", + "capture": true + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "DCC-Framework" + }, + "example170": { + "summary": "12. Auth Bill Retail VI Purchase Level 2", + "sample-name": "12. Auth Bill Retail VI Purchase Level 2", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "400", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "freightAmount": "5.85", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" + } + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Retail_VI_Purchase_Level_2_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC04_01" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4761340000000019", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "merchantInformation": { + "cardAcceptorReferenceNumber": "ABC12#PC" + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example171": { + "summary": "13. Auth Bill Retail VI Purchase Level 3", + "sample-name": "13. Auth Bill Retail VI Purchase Level 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "processingInformation": { + "purchaseLevel": "3", + "commerceIndicator": "retail", + "capture": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "400", + "taxAppliedLevel": "3", + "discountAmount": "4.65", + "freightAmount": "5.85", + "dutyAmount": "12.11", + "nationalTaxIncluded": "1", + "currency": "USD", + "taxAppliedAfterDiscount": "0", + "taxDetails[]": { + "rate": "12.5" + } + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Smith", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "TestStreet2", + "address1": "Auth_Bill_Retail_VI_Purchase_Level_3_Street" + }, + "shippingDetails": { + "shipFromPostalCode": "94404-5674" + }, + "invoiceDetails": { + "vatInvoiceReferenceNumber": "EDFGFd54", + "purchaseOrderNumber": "USERPO1", + "purchaseOrderDate": "140330", + "commodityCode": "aBBa", + "purchaseContactName": "TestContact!" + } + }, + "order": { + "orderDiscountAmountSign": "positive", + "vatTaxAmountSign": "positive" + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC04_01" + }, + "travelInformation": { + "duration": "1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4761340000000019", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "merchantInformation": { + "cardAcceptorReferenceNumber": "ABC12#PC" + } + }, + "parentTag": "Level-2-Level3-Framework" + }, + "example172": { + "summary": "28. Auth Bill VI Install", + "sample-name": "28. Auth Bill VI Install", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "90", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_VI_Install_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "installmentInformation": { + "sequence": "1", + "planId": "1", + "frequency": "M", + "identifier": "1", + "planType": "1" + }, + "clientReferenceInformation": { + "code": "TC01_07" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example173": { + "summary": "3. Auth Bill VI Install AFT", + "sample-name": "3. Auth Bill VI Install AFT", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "1064.00", + "surcharge": { + "amount": "123456.78" + }, + "currency": "USD" + }, + "billTo": { + "email": "null@cybersource.com", + "lastName": "Bird", + "country": "US", + "firstName": "Big", + "postalCode": "48104-20", + "phoneNumber": "999-999-9999", + "locality": "Emerald City", + "administrativeArea": "MI", + "address2": "Test Street 2", + "address1": "Auth_Bill_VI_Install_Street_AFT" + } + }, + "senderInformation": { + "referenceNumber": "1542647653765767", + "locality": "testingcitycharacter25chr", + "personalIdType": "TXIN", + "name": "testingname_name_testing_test1", + "address1": "testingaddresscharacterlength35char", + "firstName": "senderfirstname_senderfirstname_35C", + "middleName": "sendermiddlename_sendermiddlename35", + "administrativeArea": "ss", + "account": { + "number": "1542647653765761265716526751761287" + }, + "type": "B", + "countryCode": "GBR", + "identificationNumber": "12345678910111213223", + "lastName": "senderlastname_senderlastname@@_35D" + }, + "recipientInformation": { + "lastName": "recipientlastnmerecipientlastname35", + "locality": "recipientAddress1_addres2", + "accountId": "98765432112377826427ABCDefgh1235wq", + "middleName": "recipientmiddlename_recipientmid345", + "country": "GBR", + "postalCode": "571216", + "firstName": "recipientfirstnm_recipientfirstname" + }, + "clientReferenceInformation": { + "code": "CP09_AFT_1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2025", + "number": "4111111111111111", + "expirationMonth": "12" + } + }, + "processingInformation": { + "commerceIndicator": "install", + "capture": true, + "authorizationOptions": { + "aftIndicator": "y" + } + } + }, + "parentTag": "AFT-Framework" + }, + "example174": { + "summary": "29. Auth Bill VI Internet", + "sample-name": "29. Auth Bill VI Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9024.3", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_VI_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_13" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "internet", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example175": { + "summary": "30. Auth Bill VI Moto", + "sample-name": "30. Auth Bill VI Moto", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "182", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_VI_Moto_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_114" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4761340000000019", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "moto", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example176": { + "summary": "31. Auth Bill VI Recurring", + "sample-name": "31. Auth Bill VI Recurring", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_VI_Recurring_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountDetails": { + "currency": "USD" + } + }, + "clientReferenceInformation": { + "code": "TC01_107" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "recurring", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example177": { + "summary": "32. Auth Bill VI Recurring Internet", + "sample-name": "32. Auth Bill VI Recurring Internet", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "orderInformation": { + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_VI_Recurring_Internet_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + }, + "amountDetails": { + "currency": "USD" + } + }, + "clientReferenceInformation": { + "code": "TC01_101" + }, + "recurringPaymentInformation": { + "numberOfPayments": "4" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "commerceIndicator": "recurring", + "capture": true + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example178": { + "summary": "9. Auth Bill VI Retail Transit", + "sample-name": "9. Auth Bill VI Retail Transit", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "9850", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Krishnan", + "country": "US", + "firstName": "Raghu1cp", + "postalCode": "00000", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_Bill_VI_Retail_Transit" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "4", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "entryMode": "contactless", + "cardPresent": "Y", + "emv": { + "cardSequenceNumber": "123" + } + }, + "clientReferenceInformation": { + "partner": { + "thirdPartyCertificationNumber": "1.23457E+11" + }, + "code": "TC02_01" + }, + "processingInformation": { + "capture": true, + "authorizationOptions": { + "transportationMode": "01", + "debtRecoveryIndicator": "Y" + }, + "industryDataType": "transit", + "commerceIndicator": "retail" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "paymentInformation": { + "card": { + "type": "001" + } + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + } + }, + "parentTag": "Auth-Bill-Card-Present-Framework" + }, + "example179": { + "summary": "4. Auth Bill VI Retail AFT", + "sample-name": "4. Auth Bill VI Retail AFT", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "1064.00", + "surcharge": { + "amount": "123456.78" + }, + "currency": "USD" + }, + "billTo": { + "email": "null@cybersource.com", + "lastName": "Bird", + "country": "US", + "firstName": "Big", + "postalCode": "48104-20", + "phoneNumber": "999-999-9999", + "locality": "Emerald City", + "administrativeArea": "MI", + "address2": "Test Street 2", + "address1": "Auth_Bill_VI_Retail_Street_AFT" + } + }, + "senderInformation": { + "referenceNumber": "1542647653765767", + "locality": "testingcitycharacter25chr", + "personalIdType": "TXIN", + "name": "testingname_name_testing_test1", + "address1": "testingaddresscharacterlength35char", + "firstName": "senderfirstname_senderfirstname_35C", + "middleName": "sendermiddlename_sendermiddlename35", + "administrativeArea": "ss", + "account": { + "number": "1542647653765761265716526751761287" + }, + "type": "B", + "countryCode": "GBR", + "identificationNumber": "12345678910111213223", + "lastName": "senderlastname_senderlastname@@_35D" + }, + "recipientInformation": { + "lastName": "recipientlastnmerecipientlastname35", + "locality": "recipientAddress1_addres2", + "accountId": "98765432112377826427ABCDefgh1235wq", + "middleName": "recipientmiddlename_recipientmid345", + "country": "GBR", + "postalCode": "571216", + "firstName": "recipientfirstnm_recipientfirstname" + }, + "pointOfSaleInformation": { + "entryMode": "contact", + "cardPresent": "Y", + "trackData": ";4111111111111111=33121019761186800000?", + "emv": { + "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" + } + }, + "clientReferenceInformation": { + "code": "CP09_AFT_1" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2025", + "number": "4111111111111111", + "expirationMonth": "12" + } + }, + "processingInformation": { + "commerceIndicator": "retail", + "capture": true, + "authorizationOptions": { + "aftIndicator": "y" + } + } + }, + "parentTag": "AFT-Framework" + }, + "example180": { + "summary": "33. Auth Bill VI VBV", + "sample-name": "33. Auth Bill VI VBV", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Auth_Bill_VI_VBV_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "vbv" + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example181": { + "summary": "3. Auth DC Internet Lodging Duration 3", + "sample-name": "3. Auth DC Internet Lodging Duration 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "300", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_DC_Internet_Lodging_Duration_3_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B3643899996001600^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N", + "emv": { + "cardSequenceNumber": "1" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC03_05" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "lodging", + "capture": true, + "commerceIndicator": "internet" + } + }, + "parentTag": "Auth-Bill-Lodging-Framework" + }, + "example182": { + "summary": "4. Auth DI Internet Lodging Duration 3", + "sample-name": "4. Auth DI Internet Lodging Duration 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "300", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_DI_Internet_Lodging_Duration_3_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B6011111111111117^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N", + "emv": { + "cardSequenceNumber": "1" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC03_04" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "lodging", + "capture": true, + "commerceIndicator": "internet" + } + }, + "parentTag": "Auth-Bill-Lodging-Framework" + }, + "example183": { + "summary": "5. Auth JC Internet Lodging Duration 3", + "sample-name": "5. Auth JC Internet Lodging Duration 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "300", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_JC_Internet_Lodging_Duration_3_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B3562330041073110^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N", + "emv": { + "cardSequenceNumber": "1" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + } + }, + "clientReferenceInformation": { + "code": "TC03_06" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "lodging", + "capture": true, + "commerceIndicator": "internet" + } + }, + "parentTag": "Auth-Bill-Lodging-Framework" + }, + "example184": { + "summary": "6. Auth MC Internet Lodging Duration 3", + "sample-name": "6. Auth MC Internet Lodging Duration 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "301", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_MC_Internet_Lodging_Duration_3_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B5100039901230025^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N", + "emv": { + "cardSequenceNumber": "1" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC03_02" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5480950023974102", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "lodging", + "capture": true, + "commerceIndicator": "internet" + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + } + }, + "parentTag": "Auth-Bill-Lodging-Framework" + }, + "example185": { + "summary": "34. Auth MC SPA Split Shipment", + "sample-name": "34. Auth MC SPA Split Shipment", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "250.00", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_MC_SPA_Split_Shipment_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "cardPresent": "N" + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "00000123456" + }, + "clientReferenceInformation": { + "code": "TC01_02" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "lodging", + "capture": true, + "commerceIndicator": "spa" + }, + "merchantInformation": { + "salesOrganizationId": "45890500000" + } + }, + "parentTag": "Auth-Bill-Card-Not-Present-Framework" + }, + "example186": { + "summary": "7. Auth VI Retail Lodging Duration 3", + "sample-name": "7. Auth VI Retail Lodging Duration 3", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "300", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "locality": "TestCity", + "phoneNumber": "9999999999", + "administrativeArea": "CA", + "address2": "TestStreet 2", + "address1": "Auth_VI_Retail_Lodging_Duration_3_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "pointOfSaleInformation": { + "terminalCapability": "1", + "catLevel": "1", + "trackData": "%B4761340000000019^TEST/CYBS ^4012121019761100 00868000000?;", + "cardPresent": "N", + "emv": { + "cardSequenceNumber": "1" + } + }, + "aggregatorInformation": { + "subMerchant": { + "id": "ABCDE1234567890" + }, + "aggregatorId": "10046356" + }, + "clientReferenceInformation": { + "code": "TC03_01" + }, + "travelInformation": { + "duration": "3" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4761340000000019", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "processingInformation": { + "industryDataType": "lodging", + "capture": true, + "commerceIndicator": "internet" + } + }, + "parentTag": "Auth-Bill-Lodging-Framework" + }, + "example193": { + "summary": "1. Stand Alone Credit AX", + "sample-name": "1. Stand Alone Credit AX", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Stand_Alone_Credit_AX_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "processingInformation": { + "capture": true, + "japanPaymentOptions": { + "terminalId": "1234567890123" + } + }, + "clientReferenceInformation": { + "code": "TC01_04" + }, + "paymentInformation": { + "card": { + "type": "003", + "expirationYear": "2040", + "number": "377671320002630", + "expirationMonth": "12", + "securityCode": "1234" + } + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "StandAlone-Credit-Framework" + }, + "example194": { + "summary": "2. Stand Alone Credit DC", + "sample-name": "2. Stand Alone Credit DC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Stand_Alone_Credit_DC_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "processingInformation": { + "capture": true, + "japanPaymentOptions": { + "terminalId": "1234567890123" + }, + "commerceIndicator": "internet" + }, + "clientReferenceInformation": { + "code": "TC01_03" + }, + "paymentInformation": { + "card": { + "type": "005", + "expirationYear": "2040", + "number": "3643899996001600", + "expirationMonth": "12", + "securityCode": "123" + } + } + }, + "parentTag": "StandAlone-Credit-Framework" + }, + "example195": { + "summary": "3. Stand Alone Credit JC", + "sample-name": "3. Stand Alone Credit JC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Stand_Alone_Credit_JC_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "10046356" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "processingInformation": { + "capture": true, + "japanPaymentOptions": { + "terminalId": "1234567890123" + } + }, + "clientReferenceInformation": { + "code": "TC01_05" + }, + "paymentInformation": { + "card": { + "type": "007", + "expirationYear": "2040", + "number": "3562330041073110", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "StandAlone-Credit-Framework" + }, + "example196": { + "summary": "4. Stand Alone Credit MC", + "sample-name": "4. Stand Alone Credit MC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Stand_Alone_Credit_MC_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + }, + "aggregatorId": "00000123456" + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + }, + "salesOrganizationId": "45890500000" + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "processingInformation": { + "capture": true, + "japanPaymentOptions": { + "terminalId": "1234567890123" + } + }, + "clientReferenceInformation": { + "code": "TC01_02" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationYear": "2040", + "number": "5188690467086204", + "expirationMonth": "12", + "securityCode": "123" + } + } + }, + "parentTag": "StandAlone-Credit-Framework" + }, + "example197": { + "summary": "5. Stand Alone Credit VI", + "sample-name": "5. Stand Alone Credit VI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Stand_Alone_Credit_VI_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "processingInformation": { + "capture": true, + "japanPaymentOptions": { + "terminalId": "1234567890123" + } + }, + "clientReferenceInformation": { + "code": "TC01_01" + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationYear": "2040", + "number": "4183590332526103", + "expirationMonth": "12", + "securityCode": "123" + } + }, + "consumerAuthenticationInformation": { + "cavv": "ABCDEabcde12345678900987654321abcdeABCDE" + } + }, + "parentTag": "StandAlone-Credit-Framework" + }, + "example198": { + "summary": "6. Stand Alone Credit DI", + "sample-name": "6. Stand Alone Credit DI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "6846.22", + "currency": "USD" + }, + "billTo": { + "email": "test@visa.com", + "lastName": "Doe", + "country": "US", + "firstName": "John", + "postalCode": "96162", + "phoneNumber": "9999999999", + "locality": "TestCity", + "administrativeArea": "CA", + "address2": "Test Street 2", + "address3": "Test Street 3", + "address1": "Stand_Alone_Credit_DI_Street" + }, + "shipTo": { + "postalCode": "94041", + "address2": "Cube 2386", + "address1": "1295 Charleston Rd", + "firstName": "Olivia", + "phoneNumber": "650-965-6000", + "country": "AE", + "locality": "Mountain View" + } + }, + "aggregatorInformation": { + "subMerchant": { + "email": "test_merchant@test.com", + "id": "ABCDE1234567890", + "administrativeArea": "CA" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "contact": "9999999999", + "postalCode": "96162", + "administrativeArea": "CA", + "locality": "Merchant City", + "address1": "Merchant Street" + } + }, + "senderInformation": { + "locality": "Test city", + "name": "John", + "address1": "Sender Address", + "administrativeArea": "CA", + "countryCode": "US" + }, + "processingInformation": { + "capture": true, + "japanPaymentOptions": { + "terminalId": "1234567890123" + }, + "commerceIndicator": "internet" + }, + "clientReferenceInformation": { + "code": "TC01_06" + }, + "paymentInformation": { + "card": { + "type": "004", + "expirationYear": "2040", + "number": "6011111111111117", + "expirationMonth": "12", + "securityCode": "123" + } + } + }, + "parentTag": "StandAlone-Credit-Framework" + }, + "example199": { + "summary": "2. Pin Debit Refund MC Retail Contact", + "sample-name": "2. Pin Debit Refund MC Retail Contact", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "paymentInformation": { + "card": { + "expirationYear": "2025" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "420.00", + "currency": "USD" + }, + "billTo": { + "address1": "Pin_Debit_Refund_MC_Retail_Contact" + } + }, + "clientReferenceInformation": { + "code": "33557799" + }, + "pointOfSaleInformation": { + "cardPresent": "Y", + "terminalCapability": "1", + "encryptedKeySerialNumber": "FFFF1B1D140000000005", + "catLevel": "1", + "entryMode": "contact", + "encryptedPin": "52F20658C04DB351", + "trackData": ";4111111111111111=33121019761186800000?", + "emv": { + "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail" + } + }, + "parentTag": "Pin-Debit-Framework" + }, + "example200": { + "summary": "3. Pin Debit VI Retail Contact", + "sample-name": "3. Pin Debit VI Retail Contact", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "paymentInformation": { + "card": { + "expirationYear": "2025" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "120.00", + "currency": "USD" + }, + "billTo": { + "address1": "Pin_Debit_VI_Retail_Contact" + } + }, + "clientReferenceInformation": { + "code": "33557799" + }, + "pointOfSaleInformation": { + "cardPresent": "Y", + "terminalCapability": "1", + "encryptedKeySerialNumber": "FFFF1B1D140000000005", + "catLevel": "1", + "entryMode": "contact", + "encryptedPin": "52F20658C04DB351", + "trackData": ";4111111111111111=33121019761186800000?", + "emv": { + "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail" + } + }, + "parentTag": "Pin-Debit-Framework" + }, + "example201": { + "summary": "4. Pin Debit Refund VI Retail Contact", + "sample-name": "4. Pin Debit Refund VI Retail Contact", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "paymentInformation": { + "card": { + "expirationYear": "2025" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "220.00", + "currency": "USD" + }, + "billTo": { + "address1": "Pin_Debit_Refund_VI_Retail_Contact" + } + }, + "clientReferenceInformation": { + "code": "33557799" + }, + "pointOfSaleInformation": { + "cardPresent": "Y", + "terminalCapability": "1", + "encryptedKeySerialNumber": "FFFF1B1D140000000005", + "catLevel": "1", + "entryMode": "contact", + "encryptedPin": "52F20658C04DB351", + "trackData": ";4111111111111111=33121019761186800000?", + "emv": { + "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" + } + }, + "processingInformation": { + "capture": true, + "commerceIndicator": "retail" + } + }, + "parentTag": "Pin-Debit-Framework" + } + } + } + }, + "/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", + "isMLEsupported": true + }, + "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" + }, + "transactionId": { + "type": "string", + "maxLength": 30, + "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "authorizationOptions": { + "type": "object", + "properties": { + "initiator": { + "type": "object", + "properties": { + "storedCredentialUsed": { + "type": "boolean", + "description": "Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- **true** means the merchant-initiated transaction came from a card that was already stored on file.\n- **false** means the merchant-initiated transaction came from a card that was not stored on file.\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "additionalAmount": { + "type": "string", + "maxLength": 19, + "description": "Additional charges that have to be authorized against a lodging or auto-rental order.\nThis value cannot be negative. You can include a decimal point (.), but no other special characters.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "transactionLocalDateTime": { + "type": "string", + "maxLength": 14, + "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" + } + } + }, + "travelInformation": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "maxLength": 2, + "description": "Duration for which the vehicle was rented or lodge/hotel was booked.\n" + } + } + } + }, + "example": { + "clientReferenceInformation": { + "code": "TC50171_3" + }, + "processingInformation": { + "authorizationOptions": { + "initiator": { + "storedCredentialUsed": true + } + } + }, + "orderInformation": { + "amountDetails": { + "additionalAmount": "22.49", + "currency": "USD" + } + }, + "merchantInformation": { + "transactionLocalDateTime": 20191002080000 + }, + "travelInformation": { + "duration": "4" + } + } + } + } + ], + "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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" + }, + "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" + }, + "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" + } + } + }, + "merchantRiskPrediction": { + "type": "string", + "maxLength": 150, + "description": "Mastercard is introducing the Merchant Risk Predict Service in the middle East/Africa Region.\nA newly launched service comprised of seven independent artificial intelligence (AI)-powered scores intended to augment existing merchant risk management practices.\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", + "maxLength": 36, + "description": "Indicates whether the transaction is eligible for seller protection. The values returned are described below.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n- `NOT_ELIGIBLE`\n" + }, + "disputeCategories": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of conditions that are covered for the transaction.\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" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" + }, + "transactionId": { + "type": "string", + "maxLength": 30, + "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" + } + } + }, + "reversalInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + }, + "reason": { + "type": "string", + "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" + }, + "linkId": { + "type": "string", + "maxLength": 26, + "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" + }, + "reportGroup": { + "type": "string", + "maxLength": 25, + "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + }, + "issuer": { + "type": "object", + "properties": { + "discretionaryData": { + "type": "string", + "maxLength": 255, + "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" + } + } + }, + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", + "items": { + "type": "string" + } + }, + "transactionTypeIndicator": { + "type": "string", + "maxLength": 3, + "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "serviceFeeAmount": { + "type": "string", + "maxLength": 15, + "description": "Service fee. Required for service fee transactions.\n" + } + } + }, + "lineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + } + } + } + } + } + }, + "pointOfSaleInformation": { + "type": "object", + "properties": { + "emv": { + "type": "object", + "properties": { + "tags": { + "type": "string", + "maxLength": 1998, + "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" + } + } + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier for the payment type\n" + } + } + } + } + } + } + }, + "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" + }, + "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" + }, + "networkTransactionId": { + "type": "string", + "description": "Same value as `processorInformation.transactionId`" + }, + "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" + } + } + }, + "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, + "isMLEsupported": 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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "reversalInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + }, + "reason": { + "type": "string", + "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" + }, + "linkId": { + "type": "string", + "maxLength": 26, + "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" + }, + "reportGroup": { + "type": "string", + "maxLength": 25, + "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + }, + "issuer": { + "type": "object", + "properties": { + "discretionaryData": { + "type": "string", + "maxLength": 255, + "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" + } + } + }, + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", + "items": { + "type": "string" + } + }, + "transactionTypeIndicator": { + "type": "string", + "maxLength": 3, + "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "serviceFeeAmount": { + "type": "string", + "maxLength": 15, + "description": "Service fee. Required for service fee transactions.\n" + } + } + }, + "lineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + } + } + } + } + } + }, + "pointOfSaleInformation": { + "type": "object", + "properties": { + "emv": { + "type": "object", + "properties": { + "tags": { + "type": "string", + "maxLength": 1998, + "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" + } + } + } + } + } + }, + "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" + }, + "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" + }, + "networkTransactionId": { + "type": "string", + "description": "Same value as `processorInformation.transactionId`" + }, + "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" + } + } + }, + "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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" + }, + "linkId": { + "type": "string", + "maxLength": 26, + "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" + }, + "reportGroup": { + "type": "string", + "maxLength": 25, + "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + }, + "purchaseLevel": { + "type": "string", + "maxLength": 1, + "description": "Set this field to 3 to indicate that the request includes Level III data." + }, + "industryDataType": { + "type": "string", + "maxLength": 20, + "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" + }, + "issuer": { + "type": "object", + "properties": { + "discretionaryData": { + "type": "string", + "maxLength": 255, + "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n" + } + } + }, + "authorizationOptions": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "maxLength": 15, + "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" + }, + "verbalAuthCode": { + "type": "string", + "maxLength": 7, + "description": "Authorization code.\n\n#### Forced Capture\nUse this field to send the authorization code you received from a payment that you authorized\noutside the CyberSource system.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit purchase.\n\n#### Verbal Authorization\nUse this field in CAPTURE API to send the verbally received authorization code.\n" + }, + "verbalAuthTransactionId": { + "type": "string", + "maxLength": 15, + "description": "Transaction ID (TID).\n\n#### FDMS South\nThis field is required for verbal authorizations and forced captures with the American Express card type to comply\nwith the CAPN requirements:\n- Forced capture: Obtain the value for this field from the authorization response.\n- Verbal authorization: You cannot obtain a value for this field so CyberSource uses the default value of `000000000000000` (15\nzeros).\n" + } + } + }, + "captureOptions": { + "type": "object", + "properties": { + "captureSequenceNumber": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n" + }, + "totalCaptureCount": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n" + }, + "isFinal": { + "type": "string", + "maxLength": 5, + "description": "Indicates whether to release the authorization hold on the remaining funds. \nPossible Values:\n- `true`\n- `false`\n" + }, + "notes": { + "type": "string", + "maxLength": 255, + "description": "An informational note about this settlement. Appears in both the payer's transaction history and the emails that the payer receives.\n" + }, + "reconciliationIdAlternate": { + "type": "string", + "maxLength": 12, + "description": "Used by Nike merchant to send 12 digit order number" + } + } + }, + "loanOptions": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 20, + "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" + }, + "assetType": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" + } + } + }, + "payByPointsIndicator": { + "type": "boolean", + "description": "Flag that indicates if the transaction is pay by points transaction\ntrue: Transaction uses loyalty points\nfalse: Transaction does not use loyalty points\nDefault: false\n" + }, + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the capture to invoke bundled services along with capture.\n\nPossible values :\n\n - `AP_CAPTURE`: Use this when Alternative Payment Capture service is requested.\n", + "items": { + "type": "string" + } + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "customer": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "card": { + "type": "object", + "properties": { + "sourceAccountType": { + "type": "string", + "maxLength": 20, + "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" + }, + "sourceAccountTypeDetails": { + "type": "string", + "maxLength": 4, + "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" + } + } + }, + "paymentType": { + "type": "object", + "properties": { + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 15, + "description": "Total charges for any import or export duties included in the order.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 13, + "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount for all the items in the order.\n" + }, + "nationalTaxIncluded": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" + }, + "taxAppliedLevel": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 3, + "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" + }, + "freightAmount": { + "type": "string", + "maxLength": 13, + "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" + }, + "foreignAmount": { + "type": "string", + "maxLength": 15, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "foreignCurrency": { + "type": "string", + "maxLength": 5, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "exchangeRate": { + "type": "string", + "maxLength": 13, + "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" + }, + "exchangeRateTimeStamp": { + "type": "string", + "maxLength": 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" + }, + "amount": { + "type": "string", + "maxLength": 12, + "description": "Additional amount. This field is supported only for **American Express Direct**.\n" + } + } + } + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + }, + "serviceFeeAmount": { + "type": "string", + "maxLength": 15, + "description": "Service fee. Required for service fee transactions.\n" + }, + "originalCurrency": { + "type": "string", + "maxLength": 15, + "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" + }, + "cashbackAmount": { + "type": "string", + "maxLength": 13, + "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" + } + } + }, + "billTo": { + "type": "object", + "properties": { + "title": { + "type": "string", + "maxLength": 60, + "description": "Title.\n" + }, + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "middleName": { + "type": "string", + "maxLength": 60, + "description": "Customer's middle name.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + }, + "address1": { + "type": "string", + "maxLength": 40, + "description": "First line in the street address of the company purchasing the product." + }, + "address2": { + "type": "string", + "maxLength": 40, + "description": "Additional address information for the company purchasing the product." + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "City in the address of the company purchasing the product." + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + } + } + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "district": { + "type": "string", + "maxLength": 50, + "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + }, + "county": { + "type": "string", + "maxLength": 50, + "description": "U.S. county if available." + }, + "country": { + "type": "string", + "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 2 + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "email": { + "type": "string", + "description": "Email of the recipient.", + "maxLength": 255 + }, + "county": { + "type": "string", + "description": "U.S. county if available.", + "maxLength": 50 + } + } + }, + "lineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productSku": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "unitOfMeasure": { + "type": "string", + "maxLength": 12, + "description": "Unit of measure, or unit of measure code, for the item.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" + }, + "taxStatusIndicator": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "amountIncludesTax": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "typeOfSupply": { + "type": "string", + "maxLength": 2, + "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountApplied": { + "type": "boolean", + "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 23, + "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + }, + "fulfillmentType": { + "type": "string", + "description": "Information about the product code used for the line item.\nPossible values:\n- `E`: The product code is `electronic_software`.\n- `P`: The product code is not `electronic_software`.\n\nFor details, see the `fulfillmentType` field description in [Business Center Reporting User Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/reporting_and_reconciliation/Reporting_User/html/)\n" + }, + "weight": { + "type": "string", + "maxLength": 9, + "description": "Weight of the item.\n" + }, + "weightIdentifier": { + "type": "string", + "maxLength": 1, + "description": "Type of weight.\n\nPossible values:\n- B: Billed weight\n- N: Actual net weight\n" + }, + "weightUnit": { + "type": "string", + "maxLength": 2, + "description": "Code that specifies the unit of measurement for the weight amount. For example, `OZ` specifies ounce and `LB` specifies pound. The possible values are defined by the ANSI Accredited Standards Committee (ASC).\n" + }, + "referenceDataCode": { + "type": "string", + "maxLength": 150, + "description": "Code that identifies the value of the corresponding `orderInformation.lineItems[].referenceDataNumber` field.\n\nPossible values:\n- AN: Client-defined asset code\n- MG: Manufacturer's part number\n- PO: Purchase order number\n- SK: Supplier stock keeping unit number\n- UP: Universal product code\n- VC: Supplier catalog number\n- VP: Vendor part number\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" + }, + "referenceDataNumber": { + "type": "string", + "maxLength": 30, + "description": "Reference number.\n\nThe meaning of this value is identified by the value of the corresponding `referenceDataCode` field.\nSee Numbered Elements.\n\nThe maximum length for this field depends on the value of the corresponding `referenceDataCode` field:\n- When the code is `PO`, the maximum length for the reference number is 22.\n- When the code is `VC`, the maximum length for the reference number is 20.\n- For all other codes, the maximum length for the reference number is 30.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" + }, + "unitTaxAmount": { + "type": "string", + "maxLength": 15, + "description": "Per-item tax amount of the product.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point.\n" + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." + }, + "giftCardCurrency": { + "type": "integer", + "maxLength": 3, + "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" + }, + "shippingDestinationTypes": { + "type": "string", + "maxLength": 50, + "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" + }, + "gift": { + "type": "boolean", + "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" + }, + "passenger": { + "type": "object", + "description": "Contains travel-related passenger details used by DM service only.", + "properties": { + "type": { + "type": "string", + "maxLength": 32, + "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" + }, + "status": { + "type": "string", + "maxLength": 32, + "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" + }, + "phone": { + "type": "string", + "maxLength": 15, + "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + }, + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Passenger's first name." + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Passenger's last name." + }, + "id": { + "type": "string", + "maxLength": 40, + "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." + }, + "nationality": { + "type": "string", + "maxLength": 2, + "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." + } + } + }, + "allowedExportCountries": { + "type": "array", + "items": { + "type": "string", + "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" + } + }, + "restrictedExportCountries": { + "type": "array", + "items": { + "type": "string", + "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" + } + } + } + } + }, + "invoiceDetails": { + "type": "object", + "properties": { + "purchaseOrderNumber": { + "type": "string", + "maxLength": 50, + "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" + }, + "purchaseOrderDate": { + "type": "string", + "maxLength": 10, + "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" + }, + "purchaseContactName": { + "type": "string", + "maxLength": 36, + "description": "The name of the individual or the company contacted for company authorized purchases.\n" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "vatInvoiceReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "VAT invoice number associated with the transaction.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 4, + "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" + }, + "transactionAdviceAddendum": { + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "maxLength": 40, + "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" + } + } + } + } + } + }, + "shippingDetails": { + "type": "object", + "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" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 20, + "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" + }, + "dateOfBirth": { + "type": "string", + "maxLength": 8, + "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" + }, + "gender": { + "type": "string", + "maxLength": 3, + "description": "Customer's gender. Possible values are F (female), M (male),O (other)." + }, + "language": { + "type": "string", + "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "maxLength": 60, + "description": "DNS resolved hostname from `ipAddress`." + }, + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "userAgent": { + "type": "string", + "maxLength": 40, + "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "alternateName": { + "type": "string", + "maxLength": 13, + "description": "An alternate name for the merchant.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of merchant's address.\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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" + }, + "categoryCode": { + "type": "integer", + "maximum": 9999, + "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" + }, + "serviceFeeDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 22, + "description": "Name of the service provider that is collecting the service fee. The service provider name must consist of\n3, 7, or 12 characters followed by an asterisk (*). This value must also include the words \"Service Fee.\"\n\nWhen you include more than one consecutive space, extra spaces are removed. Use one of the following formats\nfor this value:\n- <3-character name>*Service Fee\n- <7-character name>*Service Fee\n- <12-character name>*Service Fee\n\nWhen payments are made in installments, this value must also include installment information such as\n\"1 of 5\" or \"3 of 7.\" For installment payments, use one of the following formats for this value:\n- <3-character name>*Service Fee* of \n- <7-character name>*Service Fee* of \n- <12-character name>*Service Fee* of \n\nwhere is the payment number and is the total number of payments.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource\naccount.\n\nThis value might be displayed on the cardholder's statement.\n" + }, + "contact": { + "type": "string", + "maxLength": 11, + "description": "Contact information for the service provider that is collecting the service fee. when you include more than one\nconsecutive space, extra spaces are removed.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" + }, + "state": { + "type": "string", + "maxLength": 20, + "description": "State or territory in which the service provider is located.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" + } + } + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" + } + } + }, + "aggregatorInformation": { + "type": "object", + "properties": { + "aggregatorId": { + "type": "string", + "maxLength": 20, + "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "name": { + "type": "string", + "maxLength": 37, + "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "subMerchant": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 37, + "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" + }, + "address1": { + "type": "string", + "maxLength": 38, + "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "locality": { + "type": "string", + "maxLength": 21, + "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "email": { + "type": "string", + "maxLength": 40, + "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" + }, + "id": { + "type": "string", + "maxLength": 20, + "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" + } + } + } + } + }, + "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" + } + } + }, + "merchantDefinedInformation": { + "type": "array", + "description": "The object containing the custom data that the merchant defines.\n", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "maxLength": 50, + "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" + }, + "value": { + "type": "string", + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" + } + } + } + }, + "merchantDefinedSecureInformation": { + "type": "object", + "description": "The object containing the secure data that the merchant defines.\n", + "properties": { + "secure1": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 1.\n" + }, + "secure2": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 2.\n" + }, + "secure3": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 3.\n" + }, + "secure4": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 4.\n" + } + } + }, + "installmentInformation": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "maxLength": 13, + "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n" + }, + "frequency": { + "type": "string", + "maxLength": 1, + "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n" + }, + "planType": { + "type": "string", + "maxLength": 1, + "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" + }, + "sequence": { + "type": "integer", + "maximum": 999, + "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n" + }, + "totalCount": { + "type": "integer", + "maximum": 999, + "description": "Total number of installments when making payments in installments.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "firstInstallmentDate": { + "type": "string", + "maxLength": 6, + "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" + }, + "firstInstallmentAmount": { + "type": "string", + "maxLength": 13, + "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n" + }, + "invoiceData": { + "type": "string", + "maxLength": 20, + "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n" + }, + "paymentType": { + "type": "string", + "maxLength": 1, + "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" + }, + "additionalCosts": { + "type": "string", + "maxLength": 12, + "description": "Additional costs charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 128-139\n- Field: Total Other Costs\n" + }, + "additionalCostsPercentage": { + "type": "string", + "maxLength": 4, + "description": "Additional costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 140-143\n- Field: Percent of Total Other Costs\n" + }, + "amountFunded": { + "type": "string", + "maxLength": 12, + "description": "Amount funded.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 48-59\n- Field: Total Amount Funded\n" + }, + "amountRequestedPercentage": { + "type": "string", + "maxLength": 4, + "description": "Amount requested divided by the amount funded.\n\nFor example:\n- A value of 90.0 specifies 90%.\n- A value of 93.7 specifies 93.7%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 60-63\n- Field: Percent of Amount Requested\n" + }, + "annualFinancingCost": { + "type": "string", + "maxLength": 7, + "description": "Annual cost of financing the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 158-164\n- Field: Annual Total Cost of Financing\n" + }, + "annualInterestRate": { + "type": "string", + "maxLength": 7, + "description": "Annual interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 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\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 64-75\n- Field: Total Expenses\n" + }, + "expensesPercentage": { + "type": "string", + "maxLength": 4, + "description": "Expenses divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 76-79\n- Field: Percent of Total Expenses\n" + }, + "fees": { + "type": "string", + "maxLength": 12, + "description": "Fees charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 80-91\n- Field: Total Fees\n" + }, + "feesPercentage": { + "type": "string", + "maxLength": 4, + "description": "Fees divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 92-95\n- Field: Percent of Total Fees\n" + }, + "insurance": { + "type": "string", + "maxLength": 12, + "description": "Insurance charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 112-123\n- Field: Total Insurance\n" + }, + "insurancePercentage": { + "type": "string", + "maxLength": 4, + "description": "Insurance costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 124-127\n- Field: Percent Of Total Insurance\n" + }, + "monthlyInterestRate": { + "type": "string", + "maxLength": 7, + "description": "Monthly interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 144-150\n- Field: Monthly Interest Rate\n" + }, + "taxes": { + "type": "string", + "maxLength": 12, + "description": "Taxes collected by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 96-107\n- Field: Total Taxes\n" + }, + "taxesPercentage": { + "type": "string", + "maxLength": 4, + "description": "Taxes divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 108-111\n- Field: Percent of Total Taxes\n" + } + } + }, + "travelInformation": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "maxLength": 2, + "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" + }, + "agency": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 8, + "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" + }, + "name": { + "type": "string", + "maxLength": 25, + "description": "Name of travel agency that made the reservation.\n" + } + } + }, + "autoRental": { + "type": "object", + "properties": { + "noShowIndicator": { + "type": "boolean", + "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" + }, + "customerName": { + "type": "string", + "maxLength": 40, + "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" + }, + "vehicleClass": { + "type": "string", + "maxLength": 4, + "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" + }, + "distanceTravelled": { + "type": "string", + "maxLength": 5, + "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" + }, + "distanceUnit": { + "type": "string", + "maxLength": 1, + "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" + }, + "returnDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "rentalDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "maxFreeDistance": { + "type": "string", + "maxLength": 4, + "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" + }, + "insuranceIndicator": { + "type": "boolean", + "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" + }, + "programCode": { + "type": "string", + "maxLength": 2, + "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" + }, + "returnAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City where the auto was returned to the rental agency.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" + }, + "address1": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's street address.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the return address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" + } + } + }, + "rentalAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" + }, + "address1": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "address2": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" + } + } + }, + "agreementNumber": { + "type": "string", + "maxLength": 25, + "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" + }, + "odometerReading": { + "type": "string", + "maxLength": 8, + "description": "Odometer reading at time of vehicle rental.\n" + }, + "vehicleIdentificationNumber": { + "type": "string", + "maxLength": 20, + "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" + }, + "companyId": { + "type": "string", + "maxLength": 12, + "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" + }, + "numberOfAdditionalDrivers": { + "type": "string", + "maxLength": 1, + "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" + }, + "driverAge": { + "type": "string", + "maxLength": 3, + "description": "Age of the driver renting the vehicle.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 2, + "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" + }, + "vehicleMake": { + "type": "string", + "maxLength": 10, + "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" + }, + "vehicleModel": { + "type": "string", + "maxLength": 10, + "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" + }, + "timePeriod": { + "type": "string", + "maxLength": 7, + "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" + }, + "taxDetails": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + }, + "taxType": { + "type": "string", + "maxLength": 10, + "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" + }, + "taxSummary": { + "type": "string", + "maxLength": 12, + "description": "Summary of all tax types\n" + } + } + }, + "insuranceAmount": { + "type": "string", + "maxLength": 12, + "description": "Insurance charges.\nField is conditional and can include decimal point.\n" + }, + "oneWayDropOffAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" + }, + "adjustedAmountIndicator": { + "type": "string", + "maxLength": 1, + "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" + }, + "adjustedAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" + }, + "fuelCharges": { + "type": "string", + "maxLength": 12, + "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "weeklyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" + }, + "dailyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" + }, + "ratePerMile": { + "type": "string", + "maxLength": 12, + "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" + }, + "mileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" + }, + "extraMileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "lateFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" + }, + "towingCharge": { + "type": "string", + "maxLength": 4, + "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" + }, + "extraCharge": { + "type": "string", + "maxLength": 12, + "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" + }, + "gpsCharge": { + "type": "string", + "maxLength": 12, + "description": "Amount charged for renting a Global Positioning Service (GPS).\n" + }, + "phoneCharge": { + "type": "string", + "maxLength": 12, + "description": "Additional charges incurred for phone usage included on the total bill.\n" + }, + "parkingViolationCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" + }, + "otherCharges": { + "type": "string", + "maxLength": 12, + "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" + }, + "companyName": { + "type": "string", + "maxLength": 50, + "description": "Merchant to send their auto rental company name\n" + }, + "affiliateName": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the affiliate name.\n" + } + } + }, + "lodging": { + "type": "object", + "properties": { + "checkInDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "checkOutDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "room": { + "type": "array", + "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", + "items": { + "type": "object", + "properties": { + "dailyRate": { + "type": "string", + "maxLength": 8, + "description": "Daily cost of the room.\n" + }, + "numberOfNights": { + "type": "integer", + "minimum": 1, + "maximum": 9999, + "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" + } + } + } + }, + "smokingPreference": { + "type": "string", + "maxLength": 1, + "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" + }, + "numberOfRooms": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of rooms booked by the cardholder.\n" + }, + "numberOfGuests": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of guests staying in the room.\n" + }, + "roomBedType": { + "type": "string", + "maxLength": 12, + "description": "Type of room, such as queen, king, or two doubles.\n" + }, + "roomTaxType": { + "type": "string", + "maxLength": 10, + "description": "Type of tax, such as tourist or hotel.\n" + }, + "roomRateType": { + "type": "string", + "maxLength": 12, + "description": "Type of rate, such as corporate or senior citizen.\n" + }, + "guestName": { + "type": "string", + "maxLength": 40, + "description": "Name of the guest under which the room is reserved.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Your toll-free customer service phone number.\n" + }, + "corporateClientCode": { + "type": "string", + "maxLength": 17, + "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" + }, + "additionalDiscountAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of an additional coupon or discount.\n" + }, + "roomLocation": { + "type": "string", + "maxLength": 10, + "description": "Location of room, such as lake view or ocean view.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 1, + "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" + }, + "totalTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount.\n" + }, + "prepaidCost": { + "type": "string", + "maxLength": 12, + "description": "Prepaid amount, such as a deposit.\n" + }, + "foodAndBeverageCost": { + "type": "string", + "maxLength": 12, + "description": "Cost for all food and beverages.\n" + }, + "roomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax for the room.\n" + }, + "adjustmentAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" + }, + "phoneCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of telephone services.\n" + }, + "restaurantCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of restaurant purchases\n" + }, + "roomServiceCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of room service.\n" + }, + "miniBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of mini-bar purchases.\n" + }, + "laundryCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of laundry services.\n" + }, + "miscellaneousCost": { + "type": "string", + "maxLength": 12, + "description": "Miscellaneous costs.\n" + }, + "giftShopCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of gift shop purchases.\n" + }, + "movieCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of movies.\n" + }, + "healthClubCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of health club services.\n" + }, + "valetParkingCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of valet parking services.\n" + }, + "cashDisbursementCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of the cash that was disbursed plus any associated service fees\n" + }, + "nonRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of non-room purchases, such as meals and gifts.\n" + }, + "businessCenterCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of business center services.\n" + }, + "loungeBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of lounge and bar purchases.\n" + }, + "transportationCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of transportation services.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 12, + "description": "Gratuity.\n" + }, + "conferenceRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of conference room services.\n" + }, + "audioVisualCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of audio visual services.\n" + }, + "banquestCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of banquet services.\n" + }, + "nonRoomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax on non-room purchases.\n" + }, + "earlyCheckOutCost": { + "type": "string", + "maxLength": 12, + "description": "Service fee for early departure.\n" + }, + "internetAccessCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of Internet access.\n" + }, + "name": { + "type": "string", + "maxLength": 255, + "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" + }, + "hotelName": { + "type": "string", + "description": "The name of the hotel for which the reservation was made.\n" + }, + "checkInDateTime": { + "type": "string", + "description": "The date of the check-in in GMT+8 offset.\n" + }, + "checkOutDateTime": { + "type": "string", + "description": "The date of the check-out in GMT+8 offset.\n" + } + } + }, + "transit": { + "type": "object", + "properties": { + "airline": { + "type": "object", + "properties": { + "isDomestic": { + "type": "string", + "maxLength": 255, + "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" + }, + "bookingReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" + }, + "carrierName": { + "type": "string", + "maxLength": 15, + "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "ticketIssuer": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 4, + "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" + }, + "name": { + "type": "string", + "maxLength": 20, + "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" + }, + "address": { + "type": "string", + "maxLength": 16, + "description": "Address of the company issuing the ticket.\n" + }, + "locality": { + "type": "string", + "maxLength": 18, + "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 18, + "description": "State in which transaction occured.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Zip code of the city in which transaction occured.\n" + }, + "country": { + "type": "string", + "maxLength": 18, + "description": "Country in which transaction occured.\n" + } + } + }, + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "checkDigit": { + "type": "string", + "maxLength": 1, + "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" + }, + "restrictedTicketIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "transactionType": { + "type": "integer", + "maxLength": 2, + "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" + }, + "extendedPaymentCode": { + "type": "string", + "maxLength": 3, + "description": "The field is not currently supported.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 42, + "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" + }, + "customerCode": { + "type": "string", + "maxLength": 40, + "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "documentType": { + "type": "string", + "maxLength": 1, + "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" + }, + "documentNumber": { + "type": "string", + "maxLength": 14, + "description": "The field is not currently supported.\n" + }, + "documentNumberOfParts": { + "type": "integer", + "maxLength": 4, + "description": "The field is not currently supported.\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 25, + "description": "Invoice number for the airline transaction.\n" + }, + "invoiceDate": { + "type": "integer", + "maxLength": 8, + "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" + }, + "additionalCharges": { + "type": "string", + "maxLength": 20, + "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" + }, + "totalFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingSequence": { + "type": "string", + "maxLength": 2, + "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingCount": { + "type": "string", + "maxLength": 2, + "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" + }, + "totalClearingAmount": { + "type": "string", + "maxLength": 20, + "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" + }, + "numberOfPassengers": { + "type": "integer", + "maxLength": 3, + "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationSystemCode": { + "type": "string", + "maxLength": 20, + "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "processIdentifier": { + "type": "string", + "maxLength": 3, + "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" + }, + "ticketIssueDate": { + "type": "string", + "maxLength": 8, + "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" + }, + "electronicTicketIndicator": { + "type": "boolean", + "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" + }, + "originalTicketNumber": { + "type": "string", + "maxLength": 14, + "description": "Original ticket number when the transaction is for a replacement ticket.\n" + }, + "purchaseType": { + "type": "string", + "maxLength": 3, + "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 1, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" + }, + "ticketChangeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" + }, + "planNumber": { + "type": "string", + "maxLength": 1, + "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" + }, + "arrivalDate": { + "type": "string", + "maxLength": 8, + "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" + }, + "restrictedTicketDesciption": { + "type": "string", + "maxLength": 20, + "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" + }, + "exchangeTicketAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" + }, + "exchangeTicketFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationType": { + "type": "string", + "maxLength": 32, + "description": "The field is not currently supported.\n" + }, + "boardingFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Boarding fee.\n" + }, + "legs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "carrierCode": { + "type": "string", + "maxLength": 4, + "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "flightNumber": { + "type": "string", + "maxLength": 6, + "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "originatingAirportCode": { + "type": "string", + "maxLength": 5, + "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "class": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "stopoverIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureDate": { + "type": "integer", + "maxLength": 8, + "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "destinationAirportCode": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "fareBasis": { + "type": "string", + "maxLength": 15, + "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" + }, + "departTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of departure tax for this leg of the trip.\n" + }, + "conjunctionTicket": { + "type": "string", + "maxLength": 25, + "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "exchangeTicketNumber": { + "type": "string", + "maxLength": 25, + "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "couponNumber": { + "type": "string", + "maxLength": 1, + "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "departureTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "arrivalTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "arrivalTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "endorsementsRestrictions": { + "type": "string", + "maxLength": 20, + "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "totalFareAmount": { + "type": "string", + "maxLength": 15, + "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "feeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + } + } + } + }, + "ancillaryInformation": { + "type": "object", + "properties": { + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 20, + "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" + }, + "connectedTicketNumber": { + "type": "string", + "maxLength": 15, + "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 15, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "service": { + "type": "array", + "items": { + "type": "object", + "properties": { + "categoryCode": { + "type": "string", + "maxLength": 4, + "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "subCategoryCode": { + "type": "string", + "maxLength": 4, + "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" + } + } + } + } + } + }, + "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" + }, + "providerResponse": { + "type": "string", + "description": "Processor response to the API request.\n" + }, + "updateTimeUtc": { + "type": "string", + "description": "The date and time when the transaction was last updated, in Internet date and time format.\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.\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" + } + } + }, + "embeddedActions": { + "type": "object", + "properties": { + "ap_capture": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason why the captured payment status is PENDING or DENIED.\nBUYER_COMPLAINT\tThe payer initiated a dispute for this captured payment with processor.\nCHARGEBACK\tThe captured funds were reversed in response to the payer disputing this captured payment with the issuer of the financial instrument used to pay for this captured payment.\nECHECK\tThe payer paid by an eCheck that has not yet cleared.\nINTERNATIONAL_WITHDRAWAL\tVisit your online account. In your Account Overview, accept and deny this payment.\nOTHER\tNo additional specific reason can be provided. For more information about this captured payment, visit your account online or contact processor.\nPENDING_REVIEW\tThe captured payment is pending manual review.\nRECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION\tThe payee has not yet set up appropriate receiving preferences for their account. For more information about how to accept or deny this payment, visit your account online. This reason is typically offered in scenarios such as when the currency of the captured payment is different from the primary holding currency of the payee.\nREFUNDED\tThe captured funds were refunded.\nTRANSACTION_APPROVED_AWAITING_FUNDING\tThe payer must send the funds for this captured payment. This code generally appears for manual EFTs.\nUNILATERAL\tThe payee does not have a processor account.\nVERIFICATION_REQUIRED\tThe payee's processor account is not verified.\nString with values,\n `BUYER_COMPLAINT`\n `CHARGEBACK`\n `ECHECK`\n `INTERNATIONAL_WITHDRAWAL`\n `OTHER`\n `PENDING_REVIEW`\n `RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION`\n `REFUNDED`\n `TRANSACTION_APPROVED_AWAITING_FUNDING`\n `UNILATERAL`\n `VERIFICATION_REQUIRED`\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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", + "items": { + "type": "string" + } + }, + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" + }, + "linkId": { + "type": "string", + "maxLength": 26, + "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" + }, + "reportGroup": { + "type": "string", + "maxLength": 25, + "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + }, + "purchaseLevel": { + "type": "string", + "maxLength": 1, + "description": "Set this field to 3 to indicate that the request includes Level III data." + }, + "recurringOptions": { + "type": "object", + "properties": { + "loanPayment": { + "type": "boolean", + "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", + "default": false + } + } + }, + "industryDataType": { + "type": "string", + "maxLength": 20, + "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" + }, + "paymentType": { + "type": "string", + "description": "Identifier for the payment type" + }, + "refundOptions": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the refund." + } + } + }, + "transactionTypeIndicator": { + "type": "string", + "maxLength": 3, + "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" + } + } + }, + "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" + } + } + }, + "bank": { + "type": "object", + "properties": { + "account": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 1, + "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" + }, + "number": { + "type": "string", + "maxLength": 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" + }, + "checkNumber": { + "type": "string", + "maxLength": 8, + "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" + }, + "checkImageReferenceNumber": { + "type": "string", + "maxLength": 32, + "description": "Image reference number associated with the check. You cannot include any special characters.\n" + } + } + }, + "routingNumber": { + "type": "string", + "maxLength": 9, + "description": "Bank routing number. This is also called the _transit number_.\n" + }, + "iban": { + "type": "string", + "maxLength": 50, + "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" + }, + "swiftCode": { + "type": "string", + "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" + } + } + }, + "tokenizedCard": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "securityCodeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" + }, + "assuranceMethod": { + "type": "string", + "maxLength": 2, + "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" + } + } + }, + "fluidData": { + "type": "object", + "properties": { + "keySerialNumber": { + "type": "string", + "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" + }, + "descriptor": { + "type": "string", + "maxLength": 128, + "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" + }, + "value": { + "type": "string", + "maxLength": 4000, + "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" + }, + "encoding": { + "type": "string", + "maxLength": 6, + "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" + } + } + }, + "customer": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "instrumentIdentifier": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 12, + "maxLength": 32 + } + } + }, + "shippingAddress": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "legacyToken": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + }, + "eWallet": { + "type": "object", + "properties": { + "fundingSource": { + "type": "string", + "maxLength": 30, + "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" + } + } + }, + "paymentAccountReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 32, + "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN.\nIt identifies the card account, not just a card. PAR is a non-payment identifier that can be associated\nto PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single,\nnon-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder\nidentification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\nPAR has a well-defined format (as per the Jan 2016 EMVCo documentation):\n" + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 15, + "description": "Total charges for any import or export duties included in the order.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 13, + "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount for all the items in the order.\n" + }, + "nationalTaxIncluded": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" + }, + "taxAppliedLevel": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 3, + "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" + }, + "freightAmount": { + "type": "string", + "maxLength": 13, + "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" + }, + "foreignAmount": { + "type": "string", + "maxLength": 15, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "foreignCurrency": { + "type": "string", + "maxLength": 5, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "exchangeRate": { + "type": "string", + "maxLength": 13, + "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" + }, + "exchangeRateTimeStamp": { + "type": "string", + "maxLength": 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" + }, + "amount": { + "type": "string", + "maxLength": 12, + "description": "Additional amount. This field is supported only for **American Express Direct**.\n" + } + } + } + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + }, + "serviceFeeAmount": { + "type": "string", + "maxLength": 15, + "description": "Service fee. Required for service fee transactions.\n" + }, + "originalCurrency": { + "type": "string", + "maxLength": 15, + "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" + }, + "cashbackAmount": { + "type": "string", + "maxLength": 13, + "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" + } + } + }, + "billTo": { + "type": "object", + "properties": { + "title": { + "type": "string", + "maxLength": 60, + "description": "Title.\n" + }, + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "middleName": { + "type": "string", + "maxLength": 60, + "description": "Customer's middle name.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + }, + "address1": { + "type": "string", + "maxLength": 40, + "description": "First line in the street address of the company purchasing the product." + }, + "address2": { + "type": "string", + "maxLength": 40, + "description": "Additional address information for the company purchasing the product." + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "City in the address of the company purchasing the product." + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + } + } + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "district": { + "type": "string", + "maxLength": 50, + "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + }, + "county": { + "type": "string", + "maxLength": 50, + "description": "U.S. county if available." + }, + "country": { + "type": "string", + "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 2 + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "email": { + "type": "string", + "description": "Email of the recipient.", + "maxLength": 255 + }, + "county": { + "type": "string", + "description": "U.S. county if available.", + "maxLength": 50 + } + } + }, + "lineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productSku": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "unitOfMeasure": { + "type": "string", + "maxLength": 12, + "description": "Unit of measure, or unit of measure code, for the item.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" + }, + "taxStatusIndicator": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "amountIncludesTax": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "typeOfSupply": { + "type": "string", + "maxLength": 2, + "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountApplied": { + "type": "boolean", + "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 23, + "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + } + } + } + }, + "invoiceDetails": { + "type": "object", + "properties": { + "purchaseOrderNumber": { + "type": "string", + "maxLength": 50, + "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" + }, + "purchaseOrderDate": { + "type": "string", + "maxLength": 10, + "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" + }, + "purchaseContactName": { + "type": "string", + "maxLength": 36, + "description": "The name of the individual or the company contacted for company authorized purchases.\n" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "vatInvoiceReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "VAT invoice number associated with the transaction.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 4, + "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" + }, + "transactionAdviceAddendum": { + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "maxLength": 40, + "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" + } + } + } + } + } + }, + "shippingDetails": { + "type": "object", + "properties": { + "shipFromPostalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 20, + "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" + }, + "dateOfBirth": { + "type": "string", + "maxLength": 8, + "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" + }, + "gender": { + "type": "string", + "maxLength": 3, + "description": "Customer's gender. Possible values are F (female), M (male),O (other)." + }, + "language": { + "type": "string", + "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "maxLength": 60, + "description": "DNS resolved hostname from `ipAddress`." + }, + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "userAgent": { + "type": "string", + "maxLength": 40, + "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "alternateName": { + "type": "string", + "maxLength": 13, + "description": "An alternate name for the merchant.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of merchant's address.\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" + }, + "cardAcceptorReferenceNumber": { + "type": "string", + "maxLength": 25, + "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" + } + } + }, + "aggregatorInformation": { + "type": "object", + "properties": { + "aggregatorId": { + "type": "string", + "maxLength": 20, + "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "name": { + "type": "string", + "maxLength": 37, + "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "subMerchant": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 37, + "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" + }, + "address1": { + "type": "string", + "maxLength": 38, + "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "locality": { + "type": "string", + "maxLength": 21, + "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "email": { + "type": "string", + "maxLength": 40, + "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" + }, + "id": { + "type": "string", + "maxLength": 20, + "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" + } + } + } + } + }, + "pointOfSaleInformation": { + "type": "object", + "properties": { + "emv": { + "type": "object", + "properties": { + "tags": { + "type": "string", + "maxLength": 1998, + "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" + }, + "fallback": { + "type": "boolean", + "maxLength": 5, + "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" + } + } + }, + "terminalCategory": { + "type": "string", + "maxLength": 3, + "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" + } + } + }, + "merchantDefinedInformation": { + "type": "array", + "description": "The object containing the custom data that the merchant defines.\n", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "maxLength": 50, + "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" + }, + "value": { + "type": "string", + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" + } + } + } + }, + "travelInformation": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "maxLength": 2, + "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" + }, + "agency": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 8, + "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" + }, + "name": { + "type": "string", + "maxLength": 25, + "description": "Name of travel agency that made the reservation.\n" + } + } + }, + "autoRental": { + "type": "object", + "properties": { + "noShowIndicator": { + "type": "boolean", + "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" + }, + "customerName": { + "type": "string", + "maxLength": 40, + "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" + }, + "vehicleClass": { + "type": "string", + "maxLength": 4, + "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" + }, + "distanceTravelled": { + "type": "string", + "maxLength": 5, + "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" + }, + "distanceUnit": { + "type": "string", + "maxLength": 1, + "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" + }, + "returnDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "rentalDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "maxFreeDistance": { + "type": "string", + "maxLength": 4, + "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" + }, + "insuranceIndicator": { + "type": "boolean", + "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" + }, + "programCode": { + "type": "string", + "maxLength": 2, + "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" + }, + "returnAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City where the auto was returned to the rental agency.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" + }, + "address1": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's street address.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the return address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" + } + } + }, + "rentalAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" + }, + "address1": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "address2": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" + } + } + }, + "agreementNumber": { + "type": "string", + "maxLength": 25, + "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" + }, + "odometerReading": { + "type": "string", + "maxLength": 8, + "description": "Odometer reading at time of vehicle rental.\n" + }, + "vehicleIdentificationNumber": { + "type": "string", + "maxLength": 20, + "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" + }, + "companyId": { + "type": "string", + "maxLength": 12, + "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" + }, + "numberOfAdditionalDrivers": { + "type": "string", + "maxLength": 1, + "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" + }, + "driverAge": { + "type": "string", + "maxLength": 3, + "description": "Age of the driver renting the vehicle.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 2, + "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" + }, + "vehicleMake": { + "type": "string", + "maxLength": 10, + "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" + }, + "vehicleModel": { + "type": "string", + "maxLength": 10, + "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" + }, + "timePeriod": { + "type": "string", + "maxLength": 7, + "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" + }, + "taxDetails": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + }, + "taxType": { + "type": "string", + "maxLength": 10, + "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" + }, + "taxSummary": { + "type": "string", + "maxLength": 12, + "description": "Summary of all tax types\n" + } + } + }, + "insuranceAmount": { + "type": "string", + "maxLength": 12, + "description": "Insurance charges.\nField is conditional and can include decimal point.\n" + }, + "oneWayDropOffAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" + }, + "adjustedAmountIndicator": { + "type": "string", + "maxLength": 1, + "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" + }, + "adjustedAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" + }, + "fuelCharges": { + "type": "string", + "maxLength": 12, + "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "weeklyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" + }, + "dailyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" + }, + "ratePerMile": { + "type": "string", + "maxLength": 12, + "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" + }, + "mileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" + }, + "extraMileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "lateFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" + }, + "towingCharge": { + "type": "string", + "maxLength": 4, + "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" + }, + "extraCharge": { + "type": "string", + "maxLength": 12, + "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" + }, + "gpsCharge": { + "type": "string", + "maxLength": 12, + "description": "Amount charged for renting a Global Positioning Service (GPS).\n" + }, + "phoneCharge": { + "type": "string", + "maxLength": 12, + "description": "Additional charges incurred for phone usage included on the total bill.\n" + }, + "parkingViolationCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" + }, + "otherCharges": { + "type": "string", + "maxLength": 12, + "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" + }, + "companyName": { + "type": "string", + "maxLength": 50, + "description": "Merchant to send their auto rental company name\n" + }, + "affiliateName": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the affiliate name.\n" + } + } + }, + "lodging": { + "type": "object", + "properties": { + "checkInDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "checkOutDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "room": { + "type": "array", + "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", + "items": { + "type": "object", + "properties": { + "dailyRate": { + "type": "string", + "maxLength": 8, + "description": "Daily cost of the room.\n" + }, + "numberOfNights": { + "type": "integer", + "minimum": 1, + "maximum": 9999, + "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" + } + } + } + }, + "smokingPreference": { + "type": "string", + "maxLength": 1, + "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" + }, + "numberOfRooms": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of rooms booked by the cardholder.\n" + }, + "numberOfGuests": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of guests staying in the room.\n" + }, + "roomBedType": { + "type": "string", + "maxLength": 12, + "description": "Type of room, such as queen, king, or two doubles.\n" + }, + "roomTaxType": { + "type": "string", + "maxLength": 10, + "description": "Type of tax, such as tourist or hotel.\n" + }, + "roomRateType": { + "type": "string", + "maxLength": 12, + "description": "Type of rate, such as corporate or senior citizen.\n" + }, + "guestName": { + "type": "string", + "maxLength": 40, + "description": "Name of the guest under which the room is reserved.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Your toll-free customer service phone number.\n" + }, + "corporateClientCode": { + "type": "string", + "maxLength": 17, + "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" + }, + "additionalDiscountAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of an additional coupon or discount.\n" + }, + "roomLocation": { + "type": "string", + "maxLength": 10, + "description": "Location of room, such as lake view or ocean view.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 1, + "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" + }, + "totalTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount.\n" + }, + "prepaidCost": { + "type": "string", + "maxLength": 12, + "description": "Prepaid amount, such as a deposit.\n" + }, + "foodAndBeverageCost": { + "type": "string", + "maxLength": 12, + "description": "Cost for all food and beverages.\n" + }, + "roomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax for the room.\n" + }, + "adjustmentAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" + }, + "phoneCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of telephone services.\n" + }, + "restaurantCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of restaurant purchases\n" + }, + "roomServiceCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of room service.\n" + }, + "miniBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of mini-bar purchases.\n" + }, + "laundryCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of laundry services.\n" + }, + "miscellaneousCost": { + "type": "string", + "maxLength": 12, + "description": "Miscellaneous costs.\n" + }, + "giftShopCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of gift shop purchases.\n" + }, + "movieCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of movies.\n" + }, + "healthClubCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of health club services.\n" + }, + "valetParkingCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of valet parking services.\n" + }, + "cashDisbursementCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of the cash that was disbursed plus any associated service fees\n" + }, + "nonRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of non-room purchases, such as meals and gifts.\n" + }, + "businessCenterCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of business center services.\n" + }, + "loungeBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of lounge and bar purchases.\n" + }, + "transportationCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of transportation services.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 12, + "description": "Gratuity.\n" + }, + "conferenceRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of conference room services.\n" + }, + "audioVisualCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of audio visual services.\n" + }, + "banquestCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of banquet services.\n" + }, + "nonRoomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax on non-room purchases.\n" + }, + "earlyCheckOutCost": { + "type": "string", + "maxLength": 12, + "description": "Service fee for early departure.\n" + }, + "internetAccessCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of Internet access.\n" + }, + "name": { + "type": "string", + "maxLength": 255, + "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" + }, + "hotelName": { + "type": "string", + "description": "The name of the hotel for which the reservation was made.\n" + }, + "checkInDateTime": { + "type": "string", + "description": "The date of the check-in in GMT+8 offset.\n" + }, + "checkOutDateTime": { + "type": "string", + "description": "The date of the check-out in GMT+8 offset.\n" + } + } + }, + "transit": { + "type": "object", + "properties": { + "airline": { + "type": "object", + "properties": { + "isDomestic": { + "type": "string", + "maxLength": 255, + "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" + }, + "bookingReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" + }, + "carrierName": { + "type": "string", + "maxLength": 15, + "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "ticketIssuer": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 4, + "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" + }, + "name": { + "type": "string", + "maxLength": 20, + "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" + }, + "address": { + "type": "string", + "maxLength": 16, + "description": "Address of the company issuing the ticket.\n" + }, + "locality": { + "type": "string", + "maxLength": 18, + "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 18, + "description": "State in which transaction occured.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Zip code of the city in which transaction occured.\n" + }, + "country": { + "type": "string", + "maxLength": 18, + "description": "Country in which transaction occured.\n" + } + } + }, + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "checkDigit": { + "type": "string", + "maxLength": 1, + "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" + }, + "restrictedTicketIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "transactionType": { + "type": "integer", + "maxLength": 2, + "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" + }, + "extendedPaymentCode": { + "type": "string", + "maxLength": 3, + "description": "The field is not currently supported.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 42, + "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" + }, + "customerCode": { + "type": "string", + "maxLength": 40, + "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "documentType": { + "type": "string", + "maxLength": 1, + "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" + }, + "documentNumber": { + "type": "string", + "maxLength": 14, + "description": "The field is not currently supported.\n" + }, + "documentNumberOfParts": { + "type": "integer", + "maxLength": 4, + "description": "The field is not currently supported.\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 25, + "description": "Invoice number for the airline transaction.\n" + }, + "invoiceDate": { + "type": "integer", + "maxLength": 8, + "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" + }, + "additionalCharges": { + "type": "string", + "maxLength": 20, + "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" + }, + "totalFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingSequence": { + "type": "string", + "maxLength": 2, + "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingCount": { + "type": "string", + "maxLength": 2, + "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" + }, + "totalClearingAmount": { + "type": "string", + "maxLength": 20, + "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" + }, + "numberOfPassengers": { + "type": "integer", + "maxLength": 3, + "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationSystemCode": { + "type": "string", + "maxLength": 20, + "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "processIdentifier": { + "type": "string", + "maxLength": 3, + "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" + }, + "ticketIssueDate": { + "type": "string", + "maxLength": 8, + "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" + }, + "electronicTicketIndicator": { + "type": "boolean", + "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" + }, + "originalTicketNumber": { + "type": "string", + "maxLength": 14, + "description": "Original ticket number when the transaction is for a replacement ticket.\n" + }, + "purchaseType": { + "type": "string", + "maxLength": 3, + "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 1, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" + }, + "ticketChangeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" + }, + "planNumber": { + "type": "string", + "maxLength": 1, + "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" + }, + "arrivalDate": { + "type": "string", + "maxLength": 8, + "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" + }, + "restrictedTicketDesciption": { + "type": "string", + "maxLength": 20, + "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" + }, + "exchangeTicketAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" + }, + "exchangeTicketFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationType": { + "type": "string", + "maxLength": 32, + "description": "The field is not currently supported.\n" + }, + "boardingFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Boarding fee.\n" + }, + "legs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "carrierCode": { + "type": "string", + "maxLength": 4, + "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "flightNumber": { + "type": "string", + "maxLength": 6, + "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "originatingAirportCode": { + "type": "string", + "maxLength": 5, + "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "class": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "stopoverIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureDate": { + "type": "integer", + "maxLength": 8, + "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "destinationAirportCode": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "fareBasis": { + "type": "string", + "maxLength": 15, + "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" + }, + "departTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of departure tax for this leg of the trip.\n" + }, + "conjunctionTicket": { + "type": "string", + "maxLength": 25, + "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "exchangeTicketNumber": { + "type": "string", + "maxLength": 25, + "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "couponNumber": { + "type": "string", + "maxLength": 1, + "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "departureTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "arrivalTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "arrivalTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "endorsementsRestrictions": { + "type": "string", + "maxLength": 20, + "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "totalFareAmount": { + "type": "string", + "maxLength": 15, + "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "feeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + } + } + } + }, + "ancillaryInformation": { + "type": "object", + "properties": { + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 20, + "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" + }, + "connectedTicketNumber": { + "type": "string", + "maxLength": 15, + "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 15, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "service": { + "type": "array", + "items": { + "type": "object", + "properties": { + "categoryCode": { + "type": "string", + "maxLength": 4, + "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "subCategoryCode": { + "type": "string", + "maxLength": 4, + "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" + } + } + } + } + } + }, + "flightType": { + "type": "string", + "maxLength": 2, + "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" + }, + "insuranceAmount": { + "type": "string", + "maxLength": 255, + "description": "The total cost of the flight insurance. Example: 10000.00\n" + }, + "frequentFlyerNumber": { + "type": "string", + "maxLength": 255, + "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" + }, + "thirdPartyStatus": { + "type": "string", + "maxLength": 255, + "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" + }, + "passengerType": { + "type": "string", + "maxLength": 50, + "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" + }, + "totalInsuranceAmount": { + "type": "string", + "maxLength": 50, + "description": "Total insurance amount. We have per leg and not total\n" + } + } + } + } + }, + "vehicleData": { + "type": "object", + "properties": { + "connectorType": { + "type": "string", + "maxLength": 3, + "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" + }, + "chargingReasonCode": { + "type": "string", + "maxLength": 3, + "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" + } + } + } + } + }, + "promotionInformation": { + "type": "object", + "properties": { + "additionalCode": { + "type": "string", + "maxLength": 12, + "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" + }, + "code": { + "type": "string", + "maxLength": 12, + "description": "Code for a promotion or discount.\n" + } + } + } + }, + "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.\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": { + "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" + }, + "achVerification": { + "type": "object", + "properties": { + "resultCode": { + "type": "string", + "maxLength": 2, + "description": "Results from the ACH verification service.\n" + }, + "resultCodeRaw": { + "type": "string", + "maxLength": 10, + "description": "Raw results from the ACH verification service.\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" + }, + "updateTimeUtc": { + "type": "string", + "description": "The date and time when the transaction was last updated, in Internet date and time format.\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" + }, + "foreignAmount": { + "type": "string", + "maxLength": 15, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "foreignCurrency": { + "type": "string", + "maxLength": 5, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + } + } + }, + "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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", + "items": { + "type": "string" + } + }, + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" + }, + "linkId": { + "type": "string", + "maxLength": 26, + "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" + }, + "reportGroup": { + "type": "string", + "maxLength": 25, + "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + }, + "purchaseLevel": { + "type": "string", + "maxLength": 1, + "description": "Set this field to 3 to indicate that the request includes Level III data." + }, + "recurringOptions": { + "type": "object", + "properties": { + "loanPayment": { + "type": "boolean", + "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", + "default": false + } + } + }, + "industryDataType": { + "type": "string", + "maxLength": 20, + "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" + }, + "paymentType": { + "type": "string", + "description": "Identifier for the payment type" + }, + "refundOptions": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the refund." + } + } + }, + "transactionTypeIndicator": { + "type": "string", + "maxLength": 3, + "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n" + } + } + }, + "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" + } + } + }, + "bank": { + "type": "object", + "properties": { + "account": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 1, + "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" + }, + "number": { + "type": "string", + "maxLength": 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" + }, + "checkNumber": { + "type": "string", + "maxLength": 8, + "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" + }, + "checkImageReferenceNumber": { + "type": "string", + "maxLength": 32, + "description": "Image reference number associated with the check. You cannot include any special characters.\n" + } + } + }, + "routingNumber": { + "type": "string", + "maxLength": 9, + "description": "Bank routing number. This is also called the _transit number_.\n" + }, + "iban": { + "type": "string", + "maxLength": 50, + "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" + }, + "swiftCode": { + "type": "string", + "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" + } + } + }, + "tokenizedCard": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "securityCodeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" + }, + "assuranceMethod": { + "type": "string", + "maxLength": 2, + "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" + } + } + }, + "fluidData": { + "type": "object", + "properties": { + "keySerialNumber": { + "type": "string", + "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" + }, + "descriptor": { + "type": "string", + "maxLength": 128, + "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" + }, + "value": { + "type": "string", + "maxLength": 4000, + "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" + }, + "encoding": { + "type": "string", + "maxLength": 6, + "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" + } + } + }, + "customer": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "instrumentIdentifier": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 12, + "maxLength": 32 + } + } + }, + "shippingAddress": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "legacyToken": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + }, + "eWallet": { + "type": "object", + "properties": { + "fundingSource": { + "type": "string", + "maxLength": 30, + "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" + } + } + }, + "paymentAccountReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 32, + "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN.\nIt identifies the card account, not just a card. PAR is a non-payment identifier that can be associated\nto PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single,\nnon-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder\nidentification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\nPAR has a well-defined format (as per the Jan 2016 EMVCo documentation):\n" + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 15, + "description": "Total charges for any import or export duties included in the order.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 13, + "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount for all the items in the order.\n" + }, + "nationalTaxIncluded": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" + }, + "taxAppliedLevel": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 3, + "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" + }, + "freightAmount": { + "type": "string", + "maxLength": 13, + "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" + }, + "foreignAmount": { + "type": "string", + "maxLength": 15, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "foreignCurrency": { + "type": "string", + "maxLength": 5, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "exchangeRate": { + "type": "string", + "maxLength": 13, + "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" + }, + "exchangeRateTimeStamp": { + "type": "string", + "maxLength": 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" + }, + "amount": { + "type": "string", + "maxLength": 12, + "description": "Additional amount. This field is supported only for **American Express Direct**.\n" + } + } + } + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + }, + "serviceFeeAmount": { + "type": "string", + "maxLength": 15, + "description": "Service fee. Required for service fee transactions.\n" + }, + "originalCurrency": { + "type": "string", + "maxLength": 15, + "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" + }, + "cashbackAmount": { + "type": "string", + "maxLength": 13, + "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" + } + } + }, + "billTo": { + "type": "object", + "properties": { + "title": { + "type": "string", + "maxLength": 60, + "description": "Title.\n" + }, + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "middleName": { + "type": "string", + "maxLength": 60, + "description": "Customer's middle name.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + }, + "address1": { + "type": "string", + "maxLength": 40, + "description": "First line in the street address of the company purchasing the product." + }, + "address2": { + "type": "string", + "maxLength": 40, + "description": "Additional address information for the company purchasing the product." + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "City in the address of the company purchasing the product." + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + } + } + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "district": { + "type": "string", + "maxLength": 50, + "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + }, + "county": { + "type": "string", + "maxLength": 50, + "description": "U.S. county if available." + }, + "country": { + "type": "string", + "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 2 + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "email": { + "type": "string", + "description": "Email of the recipient.", + "maxLength": 255 + }, + "county": { + "type": "string", + "description": "U.S. county if available.", + "maxLength": 50 + } + } + }, + "lineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productSku": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "unitOfMeasure": { + "type": "string", + "maxLength": 12, + "description": "Unit of measure, or unit of measure code, for the item.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" + }, + "taxStatusIndicator": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "amountIncludesTax": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "typeOfSupply": { + "type": "string", + "maxLength": 2, + "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountApplied": { + "type": "boolean", + "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 23, + "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + } + } + } + }, + "invoiceDetails": { + "type": "object", + "properties": { + "purchaseOrderNumber": { + "type": "string", + "maxLength": 50, + "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" + }, + "purchaseOrderDate": { + "type": "string", + "maxLength": 10, + "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" + }, + "purchaseContactName": { + "type": "string", + "maxLength": 36, + "description": "The name of the individual or the company contacted for company authorized purchases.\n" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "vatInvoiceReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "VAT invoice number associated with the transaction.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 4, + "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" + }, + "transactionAdviceAddendum": { + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "maxLength": 40, + "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" + } + } + } + } + } + }, + "shippingDetails": { + "type": "object", + "properties": { + "shipFromPostalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 20, + "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" + }, + "dateOfBirth": { + "type": "string", + "maxLength": 8, + "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" + }, + "gender": { + "type": "string", + "maxLength": 3, + "description": "Customer's gender. Possible values are F (female), M (male),O (other)." + }, + "language": { + "type": "string", + "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "maxLength": 60, + "description": "DNS resolved hostname from `ipAddress`." + }, + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "userAgent": { + "type": "string", + "maxLength": 40, + "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "alternateName": { + "type": "string", + "maxLength": 13, + "description": "An alternate name for the merchant.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of merchant's address.\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" + }, + "cardAcceptorReferenceNumber": { + "type": "string", + "maxLength": 25, + "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" + } + } + }, + "aggregatorInformation": { + "type": "object", + "properties": { + "aggregatorId": { + "type": "string", + "maxLength": 20, + "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "name": { + "type": "string", + "maxLength": 37, + "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "subMerchant": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 37, + "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" + }, + "address1": { + "type": "string", + "maxLength": 38, + "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "locality": { + "type": "string", + "maxLength": 21, + "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "email": { + "type": "string", + "maxLength": 40, + "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" + }, + "id": { + "type": "string", + "maxLength": 20, + "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" + } + } + } + } + }, + "pointOfSaleInformation": { + "type": "object", + "properties": { + "emv": { + "type": "object", + "properties": { + "tags": { + "type": "string", + "maxLength": 1998, + "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" + }, + "fallback": { + "type": "boolean", + "maxLength": 5, + "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" + } + } + }, + "terminalCategory": { + "type": "string", + "maxLength": 3, + "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" + } + } + }, + "merchantDefinedInformation": { + "type": "array", + "description": "The object containing the custom data that the merchant defines.\n", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "maxLength": 50, + "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" + }, + "value": { + "type": "string", + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" + } + } + } + }, + "travelInformation": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "maxLength": 2, + "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" + }, + "agency": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 8, + "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" + }, + "name": { + "type": "string", + "maxLength": 25, + "description": "Name of travel agency that made the reservation.\n" + } + } + }, + "autoRental": { + "type": "object", + "properties": { + "noShowIndicator": { + "type": "boolean", + "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" + }, + "customerName": { + "type": "string", + "maxLength": 40, + "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" + }, + "vehicleClass": { + "type": "string", + "maxLength": 4, + "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" + }, + "distanceTravelled": { + "type": "string", + "maxLength": 5, + "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" + }, + "distanceUnit": { + "type": "string", + "maxLength": 1, + "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" + }, + "returnDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "rentalDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "maxFreeDistance": { + "type": "string", + "maxLength": 4, + "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" + }, + "insuranceIndicator": { + "type": "boolean", + "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" + }, + "programCode": { + "type": "string", + "maxLength": 2, + "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" + }, + "returnAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City where the auto was returned to the rental agency.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" + }, + "address1": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's street address.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the return address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" + } + } + }, + "rentalAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" + }, + "address1": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "address2": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" + } + } + }, + "agreementNumber": { + "type": "string", + "maxLength": 25, + "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" + }, + "odometerReading": { + "type": "string", + "maxLength": 8, + "description": "Odometer reading at time of vehicle rental.\n" + }, + "vehicleIdentificationNumber": { + "type": "string", + "maxLength": 20, + "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" + }, + "companyId": { + "type": "string", + "maxLength": 12, + "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" + }, + "numberOfAdditionalDrivers": { + "type": "string", + "maxLength": 1, + "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" + }, + "driverAge": { + "type": "string", + "maxLength": 3, + "description": "Age of the driver renting the vehicle.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 2, + "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" + }, + "vehicleMake": { + "type": "string", + "maxLength": 10, + "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" + }, + "vehicleModel": { + "type": "string", + "maxLength": 10, + "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" + }, + "timePeriod": { + "type": "string", + "maxLength": 7, + "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" + }, + "taxDetails": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + }, + "taxType": { + "type": "string", + "maxLength": 10, + "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" + }, + "taxSummary": { + "type": "string", + "maxLength": 12, + "description": "Summary of all tax types\n" + } + } + }, + "insuranceAmount": { + "type": "string", + "maxLength": 12, + "description": "Insurance charges.\nField is conditional and can include decimal point.\n" + }, + "oneWayDropOffAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" + }, + "adjustedAmountIndicator": { + "type": "string", + "maxLength": 1, + "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" + }, + "adjustedAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" + }, + "fuelCharges": { + "type": "string", + "maxLength": 12, + "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "weeklyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" + }, + "dailyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" + }, + "ratePerMile": { + "type": "string", + "maxLength": 12, + "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" + }, + "mileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" + }, + "extraMileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "lateFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" + }, + "towingCharge": { + "type": "string", + "maxLength": 4, + "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" + }, + "extraCharge": { + "type": "string", + "maxLength": 12, + "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" + }, + "gpsCharge": { + "type": "string", + "maxLength": 12, + "description": "Amount charged for renting a Global Positioning Service (GPS).\n" + }, + "phoneCharge": { + "type": "string", + "maxLength": 12, + "description": "Additional charges incurred for phone usage included on the total bill.\n" + }, + "parkingViolationCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" + }, + "otherCharges": { + "type": "string", + "maxLength": 12, + "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" + }, + "companyName": { + "type": "string", + "maxLength": 50, + "description": "Merchant to send their auto rental company name\n" + }, + "affiliateName": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the affiliate name.\n" + } + } + }, + "lodging": { + "type": "object", + "properties": { + "checkInDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "checkOutDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "room": { + "type": "array", + "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", + "items": { + "type": "object", + "properties": { + "dailyRate": { + "type": "string", + "maxLength": 8, + "description": "Daily cost of the room.\n" + }, + "numberOfNights": { + "type": "integer", + "minimum": 1, + "maximum": 9999, + "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" + } + } + } + }, + "smokingPreference": { + "type": "string", + "maxLength": 1, + "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" + }, + "numberOfRooms": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of rooms booked by the cardholder.\n" + }, + "numberOfGuests": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of guests staying in the room.\n" + }, + "roomBedType": { + "type": "string", + "maxLength": 12, + "description": "Type of room, such as queen, king, or two doubles.\n" + }, + "roomTaxType": { + "type": "string", + "maxLength": 10, + "description": "Type of tax, such as tourist or hotel.\n" + }, + "roomRateType": { + "type": "string", + "maxLength": 12, + "description": "Type of rate, such as corporate or senior citizen.\n" + }, + "guestName": { + "type": "string", + "maxLength": 40, + "description": "Name of the guest under which the room is reserved.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Your toll-free customer service phone number.\n" + }, + "corporateClientCode": { + "type": "string", + "maxLength": 17, + "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" + }, + "additionalDiscountAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of an additional coupon or discount.\n" + }, + "roomLocation": { + "type": "string", + "maxLength": 10, + "description": "Location of room, such as lake view or ocean view.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 1, + "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" + }, + "totalTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount.\n" + }, + "prepaidCost": { + "type": "string", + "maxLength": 12, + "description": "Prepaid amount, such as a deposit.\n" + }, + "foodAndBeverageCost": { + "type": "string", + "maxLength": 12, + "description": "Cost for all food and beverages.\n" + }, + "roomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax for the room.\n" + }, + "adjustmentAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" + }, + "phoneCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of telephone services.\n" + }, + "restaurantCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of restaurant purchases\n" + }, + "roomServiceCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of room service.\n" + }, + "miniBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of mini-bar purchases.\n" + }, + "laundryCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of laundry services.\n" + }, + "miscellaneousCost": { + "type": "string", + "maxLength": 12, + "description": "Miscellaneous costs.\n" + }, + "giftShopCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of gift shop purchases.\n" + }, + "movieCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of movies.\n" + }, + "healthClubCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of health club services.\n" + }, + "valetParkingCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of valet parking services.\n" + }, + "cashDisbursementCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of the cash that was disbursed plus any associated service fees\n" + }, + "nonRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of non-room purchases, such as meals and gifts.\n" + }, + "businessCenterCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of business center services.\n" + }, + "loungeBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of lounge and bar purchases.\n" + }, + "transportationCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of transportation services.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 12, + "description": "Gratuity.\n" + }, + "conferenceRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of conference room services.\n" + }, + "audioVisualCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of audio visual services.\n" + }, + "banquestCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of banquet services.\n" + }, + "nonRoomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax on non-room purchases.\n" + }, + "earlyCheckOutCost": { + "type": "string", + "maxLength": 12, + "description": "Service fee for early departure.\n" + }, + "internetAccessCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of Internet access.\n" + }, + "name": { + "type": "string", + "maxLength": 255, + "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" + }, + "hotelName": { + "type": "string", + "description": "The name of the hotel for which the reservation was made.\n" + }, + "checkInDateTime": { + "type": "string", + "description": "The date of the check-in in GMT+8 offset.\n" + }, + "checkOutDateTime": { + "type": "string", + "description": "The date of the check-out in GMT+8 offset.\n" + } + } + }, + "transit": { + "type": "object", + "properties": { + "airline": { + "type": "object", + "properties": { + "isDomestic": { + "type": "string", + "maxLength": 255, + "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" + }, + "bookingReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" + }, + "carrierName": { + "type": "string", + "maxLength": 15, + "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "ticketIssuer": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 4, + "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" + }, + "name": { + "type": "string", + "maxLength": 20, + "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" + }, + "address": { + "type": "string", + "maxLength": 16, + "description": "Address of the company issuing the ticket.\n" + }, + "locality": { + "type": "string", + "maxLength": 18, + "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 18, + "description": "State in which transaction occured.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Zip code of the city in which transaction occured.\n" + }, + "country": { + "type": "string", + "maxLength": 18, + "description": "Country in which transaction occured.\n" + } + } + }, + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "checkDigit": { + "type": "string", + "maxLength": 1, + "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" + }, + "restrictedTicketIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "transactionType": { + "type": "integer", + "maxLength": 2, + "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" + }, + "extendedPaymentCode": { + "type": "string", + "maxLength": 3, + "description": "The field is not currently supported.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 42, + "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" + }, + "customerCode": { + "type": "string", + "maxLength": 40, + "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "documentType": { + "type": "string", + "maxLength": 1, + "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" + }, + "documentNumber": { + "type": "string", + "maxLength": 14, + "description": "The field is not currently supported.\n" + }, + "documentNumberOfParts": { + "type": "integer", + "maxLength": 4, + "description": "The field is not currently supported.\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 25, + "description": "Invoice number for the airline transaction.\n" + }, + "invoiceDate": { + "type": "integer", + "maxLength": 8, + "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" + }, + "additionalCharges": { + "type": "string", + "maxLength": 20, + "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" + }, + "totalFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingSequence": { + "type": "string", + "maxLength": 2, + "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingCount": { + "type": "string", + "maxLength": 2, + "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" + }, + "totalClearingAmount": { + "type": "string", + "maxLength": 20, + "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" + }, + "numberOfPassengers": { + "type": "integer", + "maxLength": 3, + "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationSystemCode": { + "type": "string", + "maxLength": 20, + "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "processIdentifier": { + "type": "string", + "maxLength": 3, + "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" + }, + "ticketIssueDate": { + "type": "string", + "maxLength": 8, + "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" + }, + "electronicTicketIndicator": { + "type": "boolean", + "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" + }, + "originalTicketNumber": { + "type": "string", + "maxLength": 14, + "description": "Original ticket number when the transaction is for a replacement ticket.\n" + }, + "purchaseType": { + "type": "string", + "maxLength": 3, + "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 1, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" + }, + "ticketChangeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" + }, + "planNumber": { + "type": "string", + "maxLength": 1, + "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" + }, + "arrivalDate": { + "type": "string", + "maxLength": 8, + "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" + }, + "restrictedTicketDesciption": { + "type": "string", + "maxLength": 20, + "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" + }, + "exchangeTicketAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" + }, + "exchangeTicketFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationType": { + "type": "string", + "maxLength": 32, + "description": "The field is not currently supported.\n" + }, + "boardingFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Boarding fee.\n" + }, + "legs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "carrierCode": { + "type": "string", + "maxLength": 4, + "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "flightNumber": { + "type": "string", + "maxLength": 6, + "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "originatingAirportCode": { + "type": "string", + "maxLength": 5, + "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "class": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "stopoverIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureDate": { + "type": "integer", + "maxLength": 8, + "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "destinationAirportCode": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "fareBasis": { + "type": "string", + "maxLength": 15, + "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" + }, + "departTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of departure tax for this leg of the trip.\n" + }, + "conjunctionTicket": { + "type": "string", + "maxLength": 25, + "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "exchangeTicketNumber": { + "type": "string", + "maxLength": 25, + "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "couponNumber": { + "type": "string", + "maxLength": 1, + "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "departureTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "arrivalTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "arrivalTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "endorsementsRestrictions": { + "type": "string", + "maxLength": 20, + "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "totalFareAmount": { + "type": "string", + "maxLength": 15, + "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "feeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + } + } + } + }, + "ancillaryInformation": { + "type": "object", + "properties": { + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 20, + "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" + }, + "connectedTicketNumber": { + "type": "string", + "maxLength": 15, + "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 15, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "service": { + "type": "array", + "items": { + "type": "object", + "properties": { + "categoryCode": { + "type": "string", + "maxLength": 4, + "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "subCategoryCode": { + "type": "string", + "maxLength": 4, + "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" + } + } + } + } + } + }, + "flightType": { + "type": "string", + "maxLength": 2, + "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" + }, + "insuranceAmount": { + "type": "string", + "maxLength": 255, + "description": "The total cost of the flight insurance. Example: 10000.00\n" + }, + "frequentFlyerNumber": { + "type": "string", + "maxLength": 255, + "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" + }, + "thirdPartyStatus": { + "type": "string", + "maxLength": 255, + "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" + }, + "passengerType": { + "type": "string", + "maxLength": 50, + "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" + }, + "totalInsuranceAmount": { + "type": "string", + "maxLength": 50, + "description": "Total insurance amount. We have per leg and not total\n" + } + } + } + } + }, + "vehicleData": { + "type": "object", + "properties": { + "connectorType": { + "type": "string", + "maxLength": 3, + "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" + }, + "chargingReasonCode": { + "type": "string", + "maxLength": 3, + "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" + } + } + } + } + }, + "promotionInformation": { + "type": "object", + "properties": { + "additionalCode": { + "type": "string", + "maxLength": 12, + "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" + }, + "code": { + "type": "string", + "maxLength": 12, + "description": "Code for a promotion or discount.\n" + } + } + } + }, + "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.\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": { + "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" + }, + "achVerification": { + "type": "object", + "properties": { + "resultCode": { + "type": "string", + "maxLength": 2, + "description": "Results from the ACH verification service.\n" + }, + "resultCodeRaw": { + "type": "string", + "maxLength": 10, + "description": "Raw results from the ACH verification service.\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" + }, + "updateTimeUtc": { + "type": "string", + "description": "The date and time when the transaction was last updated, in Internet date and time format.\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" + }, + "foreignAmount": { + "type": "string", + "maxLength": 15, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "foreignCurrency": { + "type": "string", + "maxLength": 5, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + } + } + }, + "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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "commerceIndicator": { + "type": "string", + "maxLength": 20, + "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" + }, + "processorId": { + "type": "string", + "maxLength": 3, + "description": "Value that identifies the processor/acquirer to use for the transaction. This value is supported only for\n**CyberSource through VisaNet**.\n\nContact CyberSource Customer Support to get the value for this field.\n" + }, + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" + }, + "linkId": { + "type": "string", + "maxLength": 26, + "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n" + }, + "reportGroup": { + "type": "string", + "maxLength": 25, + "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + }, + "purchaseLevel": { + "type": "string", + "maxLength": 1, + "description": "Set this field to 3 to indicate that the request includes Level III data." + }, + "industryDataType": { + "type": "string", + "maxLength": 20, + "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" + }, + "walletType": { + "type": "string", + "maxLength": 5, + "description": "This field carries the wallet type in authorization requests and credit requests. Possible value are:\n- `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.\n- `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.\n- `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.\n- `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.\n- `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.\n- `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.\n- `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.\nFor all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nMasterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer's checkout information.\n\nVisa Checkout:\nThis field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.\nFor Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring\nSolutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nFor incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.\nPayment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.\n\nCyberSource through VisaNet\nWhen the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90, Field: Mastercard Wallet Identifier.\nWhen the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.\n" + }, + "nationalNetDomesticData": { + "type": "string", + "maxLength": 123, + "description": "Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.\nFor transactions on CyberSource through VisaNet in countries that subscribe to NNSS:\nVisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.\nVisaNet settles transactions in the local pricing currency through a local financial institution.\nThis field is supported only on CyberSource through VisaNet for domestic data in Colombia\n" + }, + "networkRoutingOrder": { + "type": "string", + "maxLength": 30, + "description": "On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority.\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference.\nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,\nVisaNet makes a selection based on the acquirer's routing priorities.\n\n#### PIN debit\nPriority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:\n\n| Network | Code |\n| --- | --- |\n| Accel | E |\n| AFFN | U |\n| Alaska Option | 3 |\n| CU24 | C |\n| Interlink | G |\n| Maestro | 8 |\n| NETS | P |\n| NYCE | F |\n| Pulse | H |\n| Shazam | 7 |\n| Star | M |\n| Visa | V |\n\nFor example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.\n\nWhen you do not include this value in your PIN debit request, the list of network codes from your account is used.\n**Note** This field is supported only for businesses located in the U.S.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" + }, + "recurringOptions": { + "type": "object", + "properties": { + "loanPayment": { + "type": "boolean", + "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n", + "default": false + } + } + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "customerMemo": { + "type": "string", + "maxLength": 80, + "description": "Payment related information.\n\nThis information is included on the customer's statement.\n" + }, + "secCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n" + }, + "terminalCity": { + "type": "string", + "maxLength": 4, + "description": "City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" + }, + "terminalState": { + "type": "string", + "maxLength": 2, + "description": "State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" + }, + "effectiveDate": { + "type": "string", + "maxLength": 8, + "description": "Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not\ninclude this value, CyberSource sets the effective date to the next business day.\n\nFormat: `MMDDYYYY`\n\nSupported only for the CyberSource ACH Service.\n" + }, + "partialPaymentId": { + "type": "string", + "maxLength": 25, + "description": "Identifier for a partial payment or partial credit.\n\nThe value for each debit request or credit request must be unique within the scope of the order.\n" + }, + "settlementMethod": { + "type": "string", + "maxLength": 1, + "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n" + } + } + }, + "purchaseOptions": { + "type": "object", + "properties": { + "isElectronicBenefitsTransfer": { + "type": "boolean", + "description": "Flag that indicates whether this transaction is an EBT transaction. Possible values:\n- `true`\n- `false`\n\n#### PIN debit\nRequired field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" + } + } + }, + "electronicBenefitsTransfer": { + "type": "object", + "properties": { + "category": { + "type": "string", + "maxLength": 4, + "description": "Flag that specifies the category for the EBT transaction.\n\nPossible values:\n- `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.\n- `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.\n\n#### PIN debit\nRequired field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" + } + } + }, + "loanOptions": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 20, + "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" + }, + "assetType": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" + } + } + }, + "japanPaymentOptions": { + "type": "object", + "properties": { + "paymentMethod": { + "type": "string", + "maxLength": 2, + "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" + }, + "installments": { + "type": "string", + "maximum": 99, + "description": "Number of Installments.\n" + } + } + }, + "refundOptions": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Must be set to `pow` for Mastercard Gaming Payment of Winnings tranactions." + } + } + } + } + }, + "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" + } + } + }, + "bank": { + "type": "object", + "properties": { + "account": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 1, + "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" + }, + "number": { + "type": "string", + "maxLength": 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" + }, + "checkNumber": { + "type": "string", + "maxLength": 8, + "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" + }, + "checkImageReferenceNumber": { + "type": "string", + "maxLength": 32, + "description": "Image reference number associated with the check. You cannot include any special characters.\n" + } + } + }, + "routingNumber": { + "type": "string", + "maxLength": 9, + "description": "Bank routing number. This is also called the _transit number_.\n" + }, + "iban": { + "type": "string", + "maxLength": 50, + "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" + }, + "swiftCode": { + "type": "string", + "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" + } + } + }, + "tokenizedCard": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "securityCodeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" + }, + "assuranceMethod": { + "type": "string", + "maxLength": 2, + "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" + } + } + }, + "fluidData": { + "type": "object", + "properties": { + "keySerialNumber": { + "type": "string", + "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" + }, + "descriptor": { + "type": "string", + "maxLength": 128, + "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" + }, + "value": { + "type": "string", + "maxLength": 4000, + "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" + }, + "encoding": { + "type": "string", + "maxLength": 6, + "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" + } + } + }, + "customer": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "instrumentIdentifier": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 12, + "maxLength": 32 + } + } + }, + "shippingAddress": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "legacyToken": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + }, + "eWallet": { + "type": "object", + "properties": { + "fundingSource": { + "type": "string", + "maxLength": 30, + "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" + } + } + }, + "paymentAccountReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 32, + "description": "A Payment Account Reference number (PAR) is a unique reference value associated with a specific card holder PAN.\nIt identifies the card account, not just a card. PAR is a non-payment identifier that can be associated\nto PANs and tokens, as defined by EMVCo. PAR allows all participants in the payments chain to have a single,\nnon-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder\nidentification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\nPAR has a well-defined format (as per the Jan 2016 EMVCo documentation):\n" + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 15, + "description": "Total charges for any import or export duties included in the order.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 13, + "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount for all the items in the order.\n" + }, + "nationalTaxIncluded": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" + }, + "taxAppliedLevel": { + "type": "string", + "maxLength": 1, + "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 3, + "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" + }, + "freightAmount": { + "type": "string", + "maxLength": 13, + "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" + }, + "foreignAmount": { + "type": "string", + "maxLength": 15, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "foreignCurrency": { + "type": "string", + "maxLength": 5, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "exchangeRate": { + "type": "string", + "maxLength": 13, + "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" + }, + "exchangeRateTimeStamp": { + "type": "string", + "maxLength": 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" + }, + "amount": { + "type": "string", + "maxLength": 12, + "description": "Additional amount. This field is supported only for **American Express Direct**.\n" + } + } + } + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + }, + "serviceFeeAmount": { + "type": "string", + "maxLength": 15, + "description": "Service fee. Required for service fee transactions.\n" + }, + "originalCurrency": { + "type": "string", + "maxLength": 15, + "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" + }, + "cashbackAmount": { + "type": "string", + "maxLength": 13, + "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" + } + } + }, + "billTo": { + "type": "object", + "properties": { + "title": { + "type": "string", + "maxLength": 60, + "description": "Title.\n" + }, + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "middleName": { + "type": "string", + "maxLength": 60, + "description": "Customer's middle name.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + }, + "address1": { + "type": "string", + "maxLength": 40, + "description": "First line in the street address of the company purchasing the product." + }, + "address2": { + "type": "string", + "maxLength": 40, + "description": "Additional address information for the company purchasing the product." + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "City in the address of the company purchasing the product." + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + } + } + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "district": { + "type": "string", + "maxLength": 50, + "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + }, + "county": { + "type": "string", + "maxLength": 50, + "description": "U.S. county if available." + }, + "country": { + "type": "string", + "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 2 + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "email": { + "type": "string", + "description": "Email of the recipient.", + "maxLength": 255 + }, + "county": { + "type": "string", + "description": "U.S. county if available.", + "maxLength": 50 + } + } + }, + "lineItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productSku": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "unitOfMeasure": { + "type": "string", + "maxLength": 12, + "description": "Unit of measure, or unit of measure code, for the item.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "taxAppliedAfterDiscount": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" + }, + "taxStatusIndicator": { + "type": "string", + "maxLength": 1, + "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" + }, + "taxTypeCode": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "amountIncludesTax": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "typeOfSupply": { + "type": "string", + "maxLength": 2, + "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountApplied": { + "type": "boolean", + "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 23, + "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" + }, + "taxDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "code": { + "type": "string", + "maxLength": 4, + "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + } + } + } + } + } + } + }, + "invoiceDetails": { + "type": "object", + "properties": { + "purchaseOrderNumber": { + "type": "string", + "maxLength": 50, + "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n" + }, + "purchaseOrderDate": { + "type": "string", + "maxLength": 10, + "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n" + }, + "purchaseContactName": { + "type": "string", + "maxLength": 36, + "description": "The name of the individual or the company contacted for company authorized purchases.\n" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "vatInvoiceReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "VAT invoice number associated with the transaction.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 4, + "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n" + }, + "transactionAdviceAddendum": { + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "maxLength": 40, + "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" + } + } + } + } + } + }, + "shippingDetails": { + "type": "object", + "properties": { + "shipFromPostalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 20, + "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" + }, + "dateOfBirth": { + "type": "string", + "maxLength": 8, + "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" + }, + "gender": { + "type": "string", + "maxLength": 3, + "description": "Customer's gender. Possible values are F (female), M (male),O (other)." + }, + "language": { + "type": "string", + "maxLength": 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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "maxLength": 60, + "description": "DNS resolved hostname from `ipAddress`." + }, + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "userAgent": { + "type": "string", + "maxLength": 40, + "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "alternateName": { + "type": "string", + "maxLength": 13, + "description": "An alternate name for the merchant.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of merchant's address.\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" + }, + "cardAcceptorReferenceNumber": { + "type": "string", + "maxLength": 25, + "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n" + }, + "taxId": { + "type": "string", + "maxLength": 15, + "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n" + } + } + }, + "aggregatorInformation": { + "type": "object", + "properties": { + "aggregatorId": { + "type": "string", + "maxLength": 20, + "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "name": { + "type": "string", + "maxLength": 37, + "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "subMerchant": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 37, + "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" + }, + "address1": { + "type": "string", + "maxLength": 38, + "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "locality": { + "type": "string", + "maxLength": 21, + "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "email": { + "type": "string", + "maxLength": 40, + "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" + }, + "id": { + "type": "string", + "maxLength": 20, + "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" + } + } + } + } + }, + "pointOfSaleInformation": { + "type": "object", + "properties": { + "terminalId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" + }, + "terminalSerialNumber": { + "type": "string", + "maxLength": 32, + "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" + }, + "cardholderVerificationMethodUsed": { + "type": "integer", + "description": "Method that was used to verify the cardholder's identity. Possible values:\n\n - `0`: No verification\n - `1`: Signature\n - `2`: PIN\n - `3`: Cardholder device CVM\n - `4`: Biometric\n - `5`: OTP\n" + }, + "laneNumber": { + "type": "string", + "maxLength": 8, + "description": "Identifier for an alternate terminal at your retail location. You define the value for this field.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global. Otherwise, this field is not used by all other processors.\nUse the `terminalId` field to identify the main terminal at your retail location. If your retail location has multiple terminals,\nuse this `laneNumber` field to identify the terminal used for the transaction.\n\nThis field is a pass-through, which means that the value is not checked or modified in any way before sending it to the processor.\n\nOptional field.\n\n#### Card present reply messaging\nIdentifier for an alternate terminal at your retail location. You defined the value for this field in the request\nmessage. This value must be printed on the receipt.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global.\n" + }, + "catLevel": { + "type": "integer", + "minimum": 1, + "maximum": 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 Visa and Mastercard transactions. To enable this feature please call support.\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing. \n\nPIN debit processing is available only on CyberSource through VisaNet and FDC Nashville Global.\n\n#### Used by\nAuthorization: Optional\nPIN Debit processing: Optional\n\n#### GPX\n\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" + }, + "fallback": { + "type": "boolean", + "maxLength": 5, + "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" + }, + "fallbackCondition": { + "type": "integer", + "description": "Reason for the EMV fallback transaction. An EMV fallback transaction occurs when an EMV transaction fails for\none of these reasons:\n\n - Technical failure: the EMV terminal or EMV card cannot read and process chip data.\n - Empty candidate list failure: the EMV terminal does not have any applications in common with the EMV card.\n EMV terminals are coded to determine whether the terminal and EMV card have any applications in common.\n EMV terminals provide this information to you.\n\nPossible values:\n\n - `1`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal either used information from a successful chip read or it was not a chip transaction.\n - `2`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal was an EMV fallback transaction because the attempted chip read was unsuccessful.\n\nThis field is supported only on **GPN** and **JCN Gateway**.\n**NOTE**: This field is required when an EMV transaction fails for a technical reason. Do not include this field\nwhen the EMV terminal does not have any applications in common with the EMV card.\n" + }, + "isRepeat": { + "type": "boolean", + "description": "#### Visa Platform Connect\nValue \"true\" indicates this transaction is intentionally duplicated . The field contains value \"true\" which\nindicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending\na duplicate auth request for a single tap txn because the issuer requested a PIN.\n" + } + } + }, + "amexCapnData": { + "type": "string", + "maxLength": 15, + "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n" + }, + "trackData": { + "type": "string", + "description": "Card's track 1 and 2 data. For all processors except FDMS Nashville, this value consists of\none of the following:\n\n - Track 1 data\n - Track 2 data\n - Data for both tracks 1 and 2\n\nFor FDMS Nashville, this value consists of one of the following:\n - Track 1 data\n - Data for both tracks 1 and 2\n\nExample: %B4111111111111111^SMITH/JOHN ^1612101976110000868000000?;4111111111111111=16121019761186800000?\n\n#### Used by\n**Authorization**\nRequired for Chase Paymentech Solutions, Credit Mutuel-CIC, CyberSource through VisaNet, FDC Nashville Global,\nJCN Gateway, OmniPay Direct, and SIX if `pointOfSaleInformation.entryMode` is equal to one of these values:\n- `contact`\n- `contactless`\n- `msd`\n- `swiped`\nOtherwise, this field not used.\n\nRequired for all other processors if `pointOfSaleInformation.entryMode=swiped`; otherwise, this field is not used.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### PIN debit\nTrack 2 data from the debit card. The sentinels are required.\nRequired field for a PIN debit purchase and a PIN debit credit.\n" + }, + "storeAndForwardIndicator": { + "type": "string", + "maxLength": 1, + "description": "When connectivity is unavailable, the client software that is installed on the POS terminal can store a\ntransaction in its memory and send it for authorization when connectivity is restored. This value is provided by\nthe client software that is installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\nPossible values:\n- `Y`: Transaction was stored and then forwarded.\n- `N` (default): Transaction was not stored and then forwarded.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "cardholderVerificationMethod": { + "type": "array", + "items": { + "type": "string", + "example": [ + "PIN", + "Signature", + "pinOnGlass" + ] + }, + "description": "Complete list of cardholder verification methods (CVMs) supported by the terminal.\nOptional field.\nPossible values:\n- `PIN`: For terminals with a PIN Pad\n- `Signature`: For terminals capable of receiving a signature\n- `pinOnGlass`: For terminals where PIN is entered on a glass-based capture mechanism\n\n**EXAMPLE**: [\"PIN\",\"Signature\"]; [\"pinOnGlass\",\"Signature\"]\n" + }, + "terminalCategory": { + "type": "string", + "maxLength": 3, + "description": "Indicates the type of terminal. \n\nPossible values:\n- `AFD`: Automated Fuel Dispenser\n" + }, + "terminalInputCapability": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Complete list of card input methods supported by the terminal.\n\nPossible values:\n- `Keyed`: Terminal can accept card data that is entered manually.\n- `Swiped`: Terminal can accept card data from a magnetic stripe reader.\n- `Contact`: Terminal can accept card data in EMV contact mode (\"dipping a card\").\n- `Contactless`: Terminal can accept card data in EMV contactless mode (\"tapping a card\").\n- `BarCode`: Terminal can read bar codes.\n- `QRcode`: Terminal can read or scan QR codes.\n- `OCR`: Terminal can perform optical character recognition (OCT) on the card.\n\n**EXAMPLE**: [\"Keyed\",\"Swiped\",\"Contact\",\"Contactless\"]\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" + }, + "terminalCardCaptureCapability": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether the terminal can capture the card.\n\nPossible values:\n- `1`: Terminal can capture card.\n- `0`: Terminal cannot capture card.\n\nFor authorizations and credits, this field is supported only by these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n\nOptional field.\n" + }, + "terminalOutputCapability": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether the terminal can print or display messages.\n\nPossible values:\n- 1: Neither\n- 2: Print only\n- 3: Display only\n- 4: Print and display\n- 5: Merchant terminal supports purchase only approvals\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n- VisaNet\n\nOptional field.\n" + }, + "terminalPinCapability": { + "type": "integer", + "description": "Maximum PIN length that the terminal can capture.\n\nPossible values:\n- 0: No PIN capture capability\n- 1: PIN capture capability unknown\n- 2: PIN Pad down\n- 4: Four characters\n- 5: Five characters\n- 6: Six characters\n- 7: Seven characters\n- 8: Eight characters\n- 9: Nine characters\n- 10: Ten characters\n- 11: Eleven characters\n- 12: Twelve characters\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n- SIX\n- Visa Platform Connect\n\nRequired field for authorization or credit of PIN transactions.\n" + }, + "pinEntrySolution": { + "type": "string", + "description": "This field will contain the type of Pin Pad the terminal has.\n\nPossible values:\n- PCI-SPoC: Where the pin is being put on screen\n- PCI-PTS: Where the pin is being put on actual hardware pin pad\n" + }, + "deviceId": { + "type": "string", + "maxLength": 32, + "description": "Value created by the client software that uniquely identifies the POS device. This value is provided by the\nclient software that is installed on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" + }, + "pinBlockEncodingFormat": { + "type": "integer", + "maximum": 9, + "description": "Format that is used to encode the PIN block. This value is provided by the client software that is installed on\nthe POS terminal.\n\nPossible values:\n- `0`: ISO 9564 format 0\n- `1`: ISO 9564 format 1\n- `2`: ISO 9564 format 2\n- `3`: ISO 9564 format 3\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also supported by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n\n#### GPX\nFor chip and online PIN transactions for authorization, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Offline PIN\n- Chip and Signature\n\nFor PIN Debit Purchase and Credit Service transactions, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Online PIN\n" + }, + "encryptedPin": { + "type": "string", + "maxLength": 16, + "description": "Encrypted PIN.\n\nThis value is provided by the client software that is installed on the POS terminal.\n\n#### Used by\n**Authorization, PIN Debit**\nRequired when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\nRequired for PIN debit credit or PIN debit purchase.\nRequired for online PIN transactions.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" + }, + "encryptedKeySerialNumber": { + "type": "string", + "maxLength": 20, + "description": "Combination of the device's unique identifier and a transaction counter that is used in the process of\ndecrypting the encrypted PIN. The entity that injected the PIN encryption keys into the terminal decrypts the\nencrypted PIN and creates this value.\n\nFor all terminals that are using derived unique key per transaction (DUKPT) encryption, this is generated as a\nsingle number within the terminal.\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n- Required for online PIN transactions\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" + }, + "partnerSdkVersion": { + "type": "string", + "maxLength": 32, + "description": "Version of the software installed on the POS terminal. This value is provided by the client software that is\ninstalled on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" + }, + "emvApplicationIdentifierAndDedicatedFileName": { + "type": "string", + "maxLength": 32, + "description": "This 32 byte length-maximum EBCDIC-K value is used to identify which chip application was performed between the terminal and the chip product.\nThe included values are the Application Identifier (AID) and the Dedicated File (DF) name. It is available to early- or full-option VSDC issuers.\nOnly single byte Katakana characters that can map to the EBCDIC-K table expected in the name.\n" + }, + "terminalCompliance": { + "type": "string", + "maxLength": 2, + "description": "Flag that indicates whether the terminal is compliant with standards mandated by the Reserve Bank of India for card-present domestic transactions in India.\n\nFormat:\n- First character indicates whether the terminal supports terminal line encryption (TLE). Possible values:\n - 1: Not certified\n - 2: Certified\n- Second character indicates whether the terminal supports Unique Key Per Transaction (UKPT) and Derived Unique Key Per Transaction (DUKPT). Possible values:\n - 1: Not certified\n - 2: Certified\n\n**Example** `21` indicates that the terminal supports TLE but does not support UKPT/DUKPT.\n\nYou and the terminal vendors are responsible for terminal certification. If you have questions, contact your acquirer.\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 92-93\n- Field: Mastercard Terminal Compliance Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n\n#### Used by\n**Authorization**\nRequired for card-present transactions in India. Otherwise, not used.\n" + }, + "isDedicatedHardwareTerminal": { + "type": "string", + "maxLength": 1, + "description": "Type of mPOS device. Possible values:\n- 0: Dongle\n- 1: Phone or tablet\n\nThis optional field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 141\n- Field: Mastercard mPOS Transaction\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's\nacquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" + }, + "terminalModel": { + "type": "string", + "maxLength": 32, + "description": "This is the model name of the reader which is used to accept the payment.\nPossible values:\n - E3555\n - P400\n - A920\n" + }, + "terminalMake": { + "type": "string", + "maxLength": 32, + "description": "This is the manufacturer name of the reader which is used to accept the payment.\nPossible values:\n - PAX\n - Verifone\n - Ingenico\n" + }, + "serviceCode": { + "type": "string", + "maxLength": 3, + "description": "#### Visa Platform Connect\nMastercard service code that is included in the track data. This field is supported only for Mastercard on Visa Platform Connect. \nYou can extract the service code from the track data and provide it in this API field. \n\nWhen not provided it will be extracted from:\n - Track2Data for MSR transactions\n - EMV tag 5F30 for EMV transactions\n\nTo enable this feature please call support.\n" + } + } + }, + "merchantDefinedInformation": { + "type": "array", + "description": "The object containing the custom data that the merchant defines.\n", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "maxLength": 50, + "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" + }, + "value": { + "type": "string", + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" + } + } + } + }, + "merchantDefinedSecureInformation": { + "type": "object", + "description": "The object containing the secure data that the merchant defines.\n", + "properties": { + "secure1": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 1.\n" + }, + "secure2": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 2.\n" + }, + "secure3": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 3.\n" + }, + "secure4": { + "type": "string", + "maxLength": 2048, + "description": "The value you assign for your merchant-secure data field 4.\n" + } + } + }, + "installmentInformation": { + "type": "object", + "properties": { + "planType": { + "type": "string", + "maxLength": 1, + "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" + } + } + }, + "travelInformation": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "maxLength": 2, + "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" + }, + "agency": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 8, + "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" + }, + "name": { + "type": "string", + "maxLength": 25, + "description": "Name of travel agency that made the reservation.\n" + } + } + }, + "autoRental": { + "type": "object", + "properties": { + "noShowIndicator": { + "type": "boolean", + "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" + }, + "customerName": { + "type": "string", + "maxLength": 40, + "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" + }, + "vehicleClass": { + "type": "string", + "maxLength": 4, + "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" + }, + "distanceTravelled": { + "type": "string", + "maxLength": 5, + "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" + }, + "distanceUnit": { + "type": "string", + "maxLength": 1, + "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" + }, + "returnDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "rentalDateTime": { + "type": "string", + "maxLength": 21, + "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" + }, + "maxFreeDistance": { + "type": "string", + "maxLength": 4, + "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" + }, + "insuranceIndicator": { + "type": "boolean", + "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" + }, + "programCode": { + "type": "string", + "maxLength": 2, + "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" + }, + "returnAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City where the auto was returned to the rental agency.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" + }, + "address1": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's street address.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the return address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" + } + } + }, + "rentalAddress": { + "type": "object", + "properties": { + "city": { + "type": "string", + "maxLength": 25, + "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" + }, + "state": { + "type": "string", + "maxLength": 3, + "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" + }, + "locationId": { + "type": "string", + "maxLength": 10, + "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" + }, + "address1": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "address2": { + "type": "string", + "maxLength": 13, + "description": "Address from where the vehicle was rented.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the rental address's postal code.\n" + }, + "location": { + "type": "string", + "maxLength": 38, + "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" + } + } + }, + "agreementNumber": { + "type": "string", + "maxLength": 25, + "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" + }, + "odometerReading": { + "type": "string", + "maxLength": 8, + "description": "Odometer reading at time of vehicle rental.\n" + }, + "vehicleIdentificationNumber": { + "type": "string", + "maxLength": 20, + "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" + }, + "companyId": { + "type": "string", + "maxLength": 12, + "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" + }, + "numberOfAdditionalDrivers": { + "type": "string", + "maxLength": 1, + "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" + }, + "driverAge": { + "type": "string", + "maxLength": 3, + "description": "Age of the driver renting the vehicle.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 2, + "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" + }, + "vehicleMake": { + "type": "string", + "maxLength": 10, + "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" + }, + "vehicleModel": { + "type": "string", + "maxLength": 10, + "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" + }, + "timePeriod": { + "type": "string", + "maxLength": 7, + "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" + }, + "commodityCode": { + "type": "string", + "maxLength": 15, + "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" + }, + "taxDetails": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + }, + "applied": { + "type": "boolean", + "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" + }, + "exemptionCode": { + "type": "string", + "maxLength": 1, + "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" + }, + "taxType": { + "type": "string", + "maxLength": 10, + "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" + }, + "taxSummary": { + "type": "string", + "maxLength": 12, + "description": "Summary of all tax types\n" + } + } + }, + "insuranceAmount": { + "type": "string", + "maxLength": 12, + "description": "Insurance charges.\nField is conditional and can include decimal point.\n" + }, + "oneWayDropOffAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" + }, + "adjustedAmountIndicator": { + "type": "string", + "maxLength": 1, + "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" + }, + "adjustedAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" + }, + "fuelCharges": { + "type": "string", + "maxLength": 12, + "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "weeklyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" + }, + "dailyRentalRate": { + "type": "string", + "maxLength": 12, + "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" + }, + "ratePerMile": { + "type": "string", + "maxLength": 12, + "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" + }, + "mileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" + }, + "extraMileageCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" + }, + "lateFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" + }, + "towingCharge": { + "type": "string", + "maxLength": 4, + "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" + }, + "extraCharge": { + "type": "string", + "maxLength": 12, + "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" + }, + "gpsCharge": { + "type": "string", + "maxLength": 12, + "description": "Amount charged for renting a Global Positioning Service (GPS).\n" + }, + "phoneCharge": { + "type": "string", + "maxLength": 12, + "description": "Additional charges incurred for phone usage included on the total bill.\n" + }, + "parkingViolationCharge": { + "type": "string", + "maxLength": 12, + "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" + }, + "otherCharges": { + "type": "string", + "maxLength": 12, + "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" + }, + "companyName": { + "type": "string", + "maxLength": 50, + "description": "Merchant to send their auto rental company name\n" + }, + "affiliateName": { + "type": "string", + "maxLength": 50, + "description": "When merchant wants to send the affiliate name.\n" + } + } + }, + "lodging": { + "type": "object", + "properties": { + "checkInDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "checkOutDate": { + "type": "string", + "maxLength": 6, + "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" + }, + "room": { + "type": "array", + "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", + "items": { + "type": "object", + "properties": { + "dailyRate": { + "type": "string", + "maxLength": 8, + "description": "Daily cost of the room.\n" + }, + "numberOfNights": { + "type": "integer", + "minimum": 1, + "maximum": 9999, + "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" + } + } + } + }, + "smokingPreference": { + "type": "string", + "maxLength": 1, + "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" + }, + "numberOfRooms": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of rooms booked by the cardholder.\n" + }, + "numberOfGuests": { + "type": "integer", + "minimum": 1, + "maximum": 99, + "description": "Number of guests staying in the room.\n" + }, + "roomBedType": { + "type": "string", + "maxLength": 12, + "description": "Type of room, such as queen, king, or two doubles.\n" + }, + "roomTaxType": { + "type": "string", + "maxLength": 10, + "description": "Type of tax, such as tourist or hotel.\n" + }, + "roomRateType": { + "type": "string", + "maxLength": 12, + "description": "Type of rate, such as corporate or senior citizen.\n" + }, + "guestName": { + "type": "string", + "maxLength": 40, + "description": "Name of the guest under which the room is reserved.\n" + }, + "customerServicePhoneNumber": { + "type": "string", + "maxLength": 17, + "description": "Your toll-free customer service phone number.\n" + }, + "corporateClientCode": { + "type": "string", + "maxLength": 17, + "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" + }, + "additionalDiscountAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of an additional coupon or discount.\n" + }, + "roomLocation": { + "type": "string", + "maxLength": 10, + "description": "Location of room, such as lake view or ocean view.\n" + }, + "specialProgramCode": { + "type": "string", + "maxLength": 1, + "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" + }, + "totalTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount.\n" + }, + "prepaidCost": { + "type": "string", + "maxLength": 12, + "description": "Prepaid amount, such as a deposit.\n" + }, + "foodAndBeverageCost": { + "type": "string", + "maxLength": 12, + "description": "Cost for all food and beverages.\n" + }, + "roomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax for the room.\n" + }, + "adjustmentAmount": { + "type": "string", + "maxLength": 12, + "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" + }, + "phoneCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of telephone services.\n" + }, + "restaurantCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of restaurant purchases\n" + }, + "roomServiceCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of room service.\n" + }, + "miniBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of mini-bar purchases.\n" + }, + "laundryCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of laundry services.\n" + }, + "miscellaneousCost": { + "type": "string", + "maxLength": 12, + "description": "Miscellaneous costs.\n" + }, + "giftShopCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of gift shop purchases.\n" + }, + "movieCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of movies.\n" + }, + "healthClubCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of health club services.\n" + }, + "valetParkingCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of valet parking services.\n" + }, + "cashDisbursementCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of the cash that was disbursed plus any associated service fees\n" + }, + "nonRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of non-room purchases, such as meals and gifts.\n" + }, + "businessCenterCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of business center services.\n" + }, + "loungeBarCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of lounge and bar purchases.\n" + }, + "transportationCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of transportation services.\n" + }, + "gratuityAmount": { + "type": "string", + "maxLength": 12, + "description": "Gratuity.\n" + }, + "conferenceRoomCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of conference room services.\n" + }, + "audioVisualCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of audio visual services.\n" + }, + "banquestCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of banquet services.\n" + }, + "nonRoomTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax on non-room purchases.\n" + }, + "earlyCheckOutCost": { + "type": "string", + "maxLength": 12, + "description": "Service fee for early departure.\n" + }, + "internetAccessCost": { + "type": "string", + "maxLength": 12, + "description": "Cost of Internet access.\n" + }, + "name": { + "type": "string", + "maxLength": 255, + "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" + }, + "hotelName": { + "type": "string", + "description": "The name of the hotel for which the reservation was made.\n" + }, + "checkInDateTime": { + "type": "string", + "description": "The date of the check-in in GMT+8 offset.\n" + }, + "checkOutDateTime": { + "type": "string", + "description": "The date of the check-out in GMT+8 offset.\n" + } + } + }, + "transit": { + "type": "object", + "properties": { + "airline": { + "type": "object", + "properties": { + "isDomestic": { + "type": "string", + "maxLength": 255, + "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" + }, + "bookingReferenceNumber": { + "type": "string", + "maxLength": 15, + "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" + }, + "carrierName": { + "type": "string", + "maxLength": 15, + "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "ticketIssuer": { + "type": "object", + "properties": { + "code": { + "type": "string", + "maxLength": 4, + "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" + }, + "name": { + "type": "string", + "maxLength": 20, + "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" + }, + "address": { + "type": "string", + "maxLength": 16, + "description": "Address of the company issuing the ticket.\n" + }, + "locality": { + "type": "string", + "maxLength": 18, + "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 18, + "description": "State in which transaction occured.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Zip code of the city in which transaction occured.\n" + }, + "country": { + "type": "string", + "maxLength": 18, + "description": "Country in which transaction occured.\n" + } + } + }, + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "checkDigit": { + "type": "string", + "maxLength": 1, + "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" + }, + "restrictedTicketIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "transactionType": { + "type": "integer", + "maxLength": 2, + "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" + }, + "extendedPaymentCode": { + "type": "string", + "maxLength": 3, + "description": "The field is not currently supported.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 42, + "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" + }, + "customerCode": { + "type": "string", + "maxLength": 40, + "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "documentType": { + "type": "string", + "maxLength": 1, + "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" + }, + "documentNumber": { + "type": "string", + "maxLength": 14, + "description": "The field is not currently supported.\n" + }, + "documentNumberOfParts": { + "type": "integer", + "maxLength": 4, + "description": "The field is not currently supported.\n" + }, + "invoiceNumber": { + "type": "string", + "maxLength": 25, + "description": "Invoice number for the airline transaction.\n" + }, + "invoiceDate": { + "type": "integer", + "maxLength": 8, + "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" + }, + "additionalCharges": { + "type": "string", + "maxLength": 20, + "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" + }, + "totalFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingSequence": { + "type": "string", + "maxLength": 2, + "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" + }, + "clearingCount": { + "type": "string", + "maxLength": 2, + "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" + }, + "totalClearingAmount": { + "type": "string", + "maxLength": 20, + "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" + }, + "numberOfPassengers": { + "type": "integer", + "maxLength": 3, + "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationSystemCode": { + "type": "string", + "maxLength": 20, + "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" + }, + "processIdentifier": { + "type": "string", + "maxLength": 3, + "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" + }, + "ticketIssueDate": { + "type": "string", + "maxLength": 8, + "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" + }, + "electronicTicketIndicator": { + "type": "boolean", + "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" + }, + "originalTicketNumber": { + "type": "string", + "maxLength": 14, + "description": "Original ticket number when the transaction is for a replacement ticket.\n" + }, + "purchaseType": { + "type": "string", + "maxLength": 3, + "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 1, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" + }, + "ticketChangeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" + }, + "planNumber": { + "type": "string", + "maxLength": 1, + "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" + }, + "arrivalDate": { + "type": "string", + "maxLength": 8, + "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" + }, + "restrictedTicketDesciption": { + "type": "string", + "maxLength": 20, + "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" + }, + "exchangeTicketAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" + }, + "exchangeTicketFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" + }, + "reservationType": { + "type": "string", + "maxLength": 32, + "description": "The field is not currently supported.\n" + }, + "boardingFeeAmount": { + "type": "string", + "maxLength": 12, + "description": "Boarding fee.\n" + }, + "legs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "carrierCode": { + "type": "string", + "maxLength": 4, + "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "flightNumber": { + "type": "string", + "maxLength": 6, + "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "originatingAirportCode": { + "type": "string", + "maxLength": 5, + "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "class": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "stopoverIndicator": { + "type": "integer", + "maxLength": 1, + "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureDate": { + "type": "integer", + "maxLength": 8, + "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "destinationAirportCode": { + "type": "string", + "maxLength": 3, + "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "fareBasis": { + "type": "string", + "maxLength": 15, + "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" + }, + "departTaxAmount": { + "type": "string", + "maxLength": 12, + "description": "Amount of departure tax for this leg of the trip.\n" + }, + "conjunctionTicket": { + "type": "string", + "maxLength": 25, + "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "exchangeTicketNumber": { + "type": "string", + "maxLength": 25, + "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "couponNumber": { + "type": "string", + "maxLength": 1, + "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "departureTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "departureTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "arrivalTime": { + "type": "integer", + "maxLength": 4, + "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "arrivalTimeMeridian": { + "type": "string", + "maxLength": 1, + "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" + }, + "endorsementsRestrictions": { + "type": "string", + "maxLength": 20, + "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "totalFareAmount": { + "type": "string", + "maxLength": 15, + "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "feeAmount": { + "type": "string", + "maxLength": 12, + "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" + } + } + } + }, + "ancillaryInformation": { + "type": "object", + "properties": { + "ticketNumber": { + "type": "string", + "maxLength": 15, + "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "passengerName": { + "type": "string", + "maxLength": 20, + "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" + }, + "connectedTicketNumber": { + "type": "string", + "maxLength": 15, + "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "creditReasonIndicator": { + "type": "string", + "maxLength": 15, + "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" + }, + "service": { + "type": "array", + "items": { + "type": "object", + "properties": { + "categoryCode": { + "type": "string", + "maxLength": 4, + "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" + }, + "subCategoryCode": { + "type": "string", + "maxLength": 4, + "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" + } + } + } + } + } + }, + "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.\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" + } + } + }, + "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" + }, + "achVerification": { + "type": "object", + "properties": { + "resultCode": { + "type": "string", + "maxLength": 2, + "description": "Results from the ACH verification service.\n" + }, + "resultCodeRaw": { + "type": "string", + "maxLength": 10, + "description": "Raw results from the ACH verification service.\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" + }, + "updateTimeUtc": { + "type": "string", + "description": "The date and time when the transaction was last updated, in Internet date and time format.\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" + } + } + }, + "correctedRoutingNumber": { + "type": "string", + "maxLength": 9, + "description": "Corrected account number from the ACH verification service.\n" + } + } + }, + "customer": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "instrumentIdentifier": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 12, + "maxLength": 32 + }, + "state": { + "type": "string", + "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" + } + } + }, + "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" + }, + "foreignAmount": { + "type": "string", + "maxLength": 15, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + }, + "foreignCurrency": { + "type": "string", + "maxLength": 5, + "description": "Set this field to the converted amount that was returned by the DCC provider.\n" + } + } + }, + "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" + }, + "example12": { + "summary": "1. OCT AX", + "sample-name": "1. OCT AX", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "12345678" + }, + "paymentInformation": { + "card": { + "number": "377678000174340", + "expirationMonth": "12", + "expirationYear": "2040", + "type": "003" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "200", + "currency": "usd" + }, + "billTo": { + "firstName": "John", + "lastName": "Deo", + "address1": "900 Metro Center Blvd", + "locality": "Foster City", + "administrativeArea": "CA", + "postalCode": "48104-2201", + "country": "US", + "email": "test@cybs.com", + "phoneNumber": "9321499232" + } + } + }, + "parentTag": "OCT-Framework" + }, + "example13": { + "summary": "2. OCT MC", + "sample-name": "2. OCT MC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "12345678" + }, + "paymentInformation": { + "card": { + "number": "5100039901230025", + "expirationMonth": "12", + "expirationYear": "2040", + "type": "002" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "200", + "currency": "usd" + }, + "billTo": { + "firstName": "John", + "lastName": "Deo", + "address1": "900 Metro Center Blvd", + "locality": "Foster City", + "administrativeArea": "CA", + "postalCode": "48104-2201", + "country": "US", + "email": "test@cybs.com", + "phoneNumber": "9321499232" + } + } + }, + "parentTag": "OCT-Framework" + }, + "example14": { + "summary": "3. OCT DC", + "sample-name": "3. OCT DC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "12345678" + }, + "paymentInformation": { + "card": { + "number": "3643899996001600", + "expirationMonth": "12", + "expirationYear": "2040", + "type": "005" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "200", + "currency": "usd" + }, + "billTo": { + "firstName": "John", + "lastName": "Deo", + "address1": "900 Metro Center Blvd", + "locality": "Foster City", + "administrativeArea": "CA", + "postalCode": "48104-2201", + "country": "US", + "email": "test@cybs.com", + "phoneNumber": "9321499232" + } + } + }, + "parentTag": "OCT-Framework" + }, + "example15": { + "summary": "4. OCT DI", + "sample-name": "4. OCT DI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "12345678" + }, + "paymentInformation": { + "card": { + "number": "6011111111111117", + "expirationMonth": "12", + "expirationYear": "2040", + "type": "004" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "200", + "currency": "usd" + }, + "billTo": { + "firstName": "John", + "lastName": "Deo", + "address1": "900 Metro Center Blvd", + "locality": "Foster City", + "administrativeArea": "CA", + "postalCode": "48104-2201", + "country": "US", + "email": "test@cybs.com", + "phoneNumber": "9321499232" + } + } + }, + "parentTag": "OCT-Framework" + }, + "example16": { + "summary": "5. OCT JC", + "sample-name": "5. OCT JC", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "12345678" + }, + "paymentInformation": { + "card": { + "number": "3562330041073110", + "expirationMonth": "12", + "expirationYear": "2040", + "type": "007" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "200", + "currency": "usd" + }, + "billTo": { + "firstName": "John", + "lastName": "Deo", + "address1": "900 Metro Center Blvd", + "locality": "Foster City", + "administrativeArea": "CA", + "postalCode": "48104-2201", + "country": "US", + "email": "test@cybs.com", + "phoneNumber": "9321499232" + } + } + }, + "parentTag": "OCT-Framework" + }, + "example17": { + "summary": "6. OCT VI", + "sample-name": "6. OCT VI", + "batchable": true, + "processor-type": [ + "Visa Platform Connect Certification Testing" + ], + "value": { + "clientReferenceInformation": { + "code": "12345678" + }, + "paymentInformation": { + "card": { + "number": "4761340000000019", + "expirationMonth": "12", + "expirationYear": "2040", + "type": "001" + } + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "200", + "currency": "usd" + }, + "billTo": { + "firstName": "John", + "lastName": "Deo", + "address1": "900 Metro Center Blvd", + "locality": "Foster City", + "administrativeArea": "CA", + "postalCode": "48104-2201", + "country": "US", + "email": "test@cybs.com", + "phoneNumber": "9321499232" + } + } + }, + "parentTag": "OCT-Framework" + } + } + } + }, + "/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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" + }, + "transactionId": { + "type": "string", + "maxLength": 30, + "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + } + } + }, + "agreementInformation": { + "type": "object", + "properties": { + "agreementId": { + "type": "string", + "maxLength": 50, + "description": "Value of the returned in the billing agreement service response.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "transactionLocalDateTime": { + "type": "string", + "maxLength": 16, + "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", + "items": { + "type": "string" + } + } + } + } + }, + "example": { + "clientReferenceInformation": { + "transactionId": "" + } + } + } + }, + { + "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" + }, + "transactionId": { + "type": "string", + "maxLength": 30, + "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + } + } + }, + "agreementInformation": { + "type": "object", + "properties": { + "agreementId": { + "type": "string", + "maxLength": 50, + "description": "Value of the returned in the billing agreement service response.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "transactionLocalDateTime": { + "type": "string", + "maxLength": 16, + "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", + "items": { + "type": "string" + } + } + } + } + }, + "example": { + "clientReferenceInformation": { + "transactionId": "" + } + } + } + }, + { + "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" + }, + "transactionId": { + "type": "string", + "maxLength": 30, + "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + } + } + }, + "agreementInformation": { + "type": "object", + "properties": { + "agreementId": { + "type": "string", + "maxLength": 50, + "description": "Value of the returned in the billing agreement service response.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "transactionLocalDateTime": { + "type": "string", + "maxLength": 16, + "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", + "items": { + "type": "string" + } + } + } + } + }, + "example": { + "clientReferenceInformation": { + "transactionId": "" + } + } + } + }, + { + "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" + }, + "transactionId": { + "type": "string", + "maxLength": 30, + "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + } + } + }, + "agreementInformation": { + "type": "object", + "properties": { + "agreementId": { + "type": "string", + "maxLength": 50, + "description": "Value of the returned in the billing agreement service response.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "transactionLocalDateTime": { + "type": "string", + "maxLength": 16, + "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", + "items": { + "type": "string" + } + } + } + } + }, + "example": { + "clientReferenceInformation": { + "transactionId": "" + } + } + } + }, + { + "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "subTypeName": { + "type": "string", + "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentId": { + "type": "string", + "maxLength": 28, + "description": "This field is to accept the id of credit/capture in the body of the requests so the type of void can be identified and processed correctly." + } + } + } + }, + "example": { + "clientReferenceInformation": { + "transactionId": "" + } + } + } + } + ], + "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.\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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 date and time search range to get a list of Batch Files ready for settlement", + "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": "This API provides details like upload date, completion date, transaction count and accepted and rejected transaction count of the individual batch file using the batch id", + "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/v1/transaction-batch-upload": { + "post": { + "summary": "Upload a Batch File", + "description": "This endpoint enables the upload of a batch file containing transactions for processing.", + "tags": [ + "TransactionBatches" + ], + "operationId": "uploadTransactionBatch", + "x-devcenter-metaData": { + "categoryTag": "Transaction_Batches", + "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "multipart/form-data" + ], + "parameters": [ + { + "in": "formData", + "name": "file", + "type": "file", + "description": "The file to upload.", + "required": true + } + ], + "responses": { + "201": { + "description": "Batch File uploaded successfully" + }, + "400": { + "description": "Bad Request", + "schema": { + "title": "400UploadBatchFileResponse", + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "403": { + "description": "Not Authorized", + "schema": { + "title": "403UploadBatchFileResponse", + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "500": { + "description": "Bad Gateway", + "schema": { + "title": "500UploadBatchFileResponse", + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + } + } + }, + "/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", + "isMLEsupported": true + }, + "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" + } + } + }, + "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\n - `AP_ORDER_STATUS`: Use this when Alternative Payment check status service for order status request.\n\n - `AP_AUTH_STATUS`: Use this when Alternative Payment check status service for auth status request.\n\n - `AP_CAPTURE_STATUS`: Use this when Alternative Payment check status service for capture status request.\n\n - `AP_REFUND_STATUS`: Use this when Alternative Payment check status service for refund status request.\n", + "items": { + "type": "string" + } + } + } + } + } + } + } + ], + "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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", + "maxLength": 255, + "description": "This field is set to the value of failure reason returned by the processor.\n" + }, + "rawResponseLocal": { + "type": "string", + "maxLength": 255, + "description": "This field is set to the value of failure reason returned by the processor in the local language of the processor.\n" + }, + "responseDetails": { + "type": "string", + "maxLength": 255, + "description": "This field might contain information about a decline.\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", + "maxLength": 36, + "description": "Indicates whether the transaction is eligible for seller protection. The values returned are described below.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n- `NOT_ELIGIBLE`\n" + }, + "disputeCategories": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of conditions that are covered for the transaction.\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" + } + } + } + } + }, + "eWallet": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 30, + "description": "Valid Values:\n- CreditCard\n- BankTransfer\n- MobileTransfer\n- KakaoMoney\n- NaverPayPoint\n" + }, + "fundingSource": { + "type": "string", + "maxLength": 30, + "description": "Valid Values:\n- PAYCO\n- Kakaopay\n- NaverPay\n- SSG Pay\n- L.Pay\n- Apple Pay\n- TOSS Pay\n- Samsung Pay\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" + } + } + }, + "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": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + }, + "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\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": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 2 + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Phone number associated with the shipping address." + } + } + }, + "amountDetails": { + "type": "object", + "properties": { + "refundBalance": { + "type": "string", + "maxLength": 15, + "description": "This field will carry the remaning amount which can be refunded.\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" + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 20, + "description": "Name of the card issuer provided by the processor.\n" + }, + "code": { + "type": "string", + "maxLength": 10, + "description": "Unique code for card issuer provided by the processor.\n" + } + } + }, + "errorInformation": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason of the status.\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason listed above." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "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", + "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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "aggregatorInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 37, + "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "subMerchant": { + "type": "object", + "properties": { + "cardAcceptorId": { + "type": "string", + "maxLength": 15, + "description": "Unique identifier assigned by the payment card company to the sub-merchant." + }, + "id": { + "type": "string", + "maxLength": 20, + "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" + }, + "name": { + "type": "string", + "maxLength": 37, + "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" + }, + "address1": { + "type": "string", + "maxLength": 38, + "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "locality": { + "type": "string", + "maxLength": 21, + "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "region": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "email": { + "type": "string", + "maxLength": 40, + "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" + } + } + } + } + }, + "consumerAuthenticationInformation": { + "type": "object", + "properties": { + "authenticationTransactionContextId": { + "type": "string", + "maxLength": 30, + "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" + }, + "cavv": { + "type": "string", + "maxLength": 255, + "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" + }, + "transactionToken": { + "type": "string", + "maxLength": 256, + "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" + }, + "xid": { + "type": "string", + "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "httpAcceptBrowserValue": { + "type": "string", + "maxLength": 255, + "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" + }, + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "userAgentBrowserValue": { + "type": "string", + "maxLength": 255, + "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" + } + } + }, + "installmentInformation": { + "type": "object", + "properties": { + "alertPreference": { + "type": "string", + "maxLength": 5, + "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" + }, + "firstInstallmentDate": { + "type": "string", + "maxLength": 6, + "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" + }, + "identifier": { + "type": "string", + "maximum": 60, + "description": "Standing Instruction/Installment identifier.\n" + }, + "lastInstallmentDate": { + "type": "string", + "maxLength": 8, + "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "maxAmount": { + "type": "string", + "maxLength": 12, + "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "minAmount": { + "type": "string", + "maxLength": 12, + "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "paymentType": { + "type": "string", + "maxLength": 1, + "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" + }, + "preferredDay": { + "type": "string", + "maxLength": 2, + "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" + }, + "sequence": { + "type": "integer", + "maximum": 999, + "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "postalCode": { + "type": "string", + "maxLength": 14, + "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + } + } + }, + "categoryCode": { + "type": "integer", + "maximum": 9999, + "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "administrativeArea": { + "type": "string", + "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" + }, + "transactionLocalDateTime": { + "type": "string", + "maxLength": 14, + "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" + }, + "cancelUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + }, + "successUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + }, + "failureUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + }, + "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\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" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + }, + "transactionType": { + "type": "string", + "maxLength": 1, + "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" + }, + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "dateOfBirth": { + "type": "string", + "maxLength": 8, + "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" + }, + "gender": { + "type": "string", + "maxLength": 1, + "description": "Customer's gender. Possible values are F (female), M (male), O (other)." + }, + "language": { + "type": "string", + "maxLength": 5, + "description": "language setting of the user" + } + } + } + }, + "example": { + "agreementInformation": { + "id": "G8UD2OKG49UW", + "dateSigned": "20181109" + }, + "clientReferenceInformation": { + "code": "TC84105-1" + }, + "buyerInformation": { + "merchantCustomerId": "123456", + "dateOfBirth": "19990101", + "gender": "F", + "language": "en" + }, + "deviceInformation": { + "httpAcceptBrowserValue": "http", + "userAgentBrowserValue": "safari", + "ipAddress": "10.10.10.10" + }, + "consumerAuthenticationInformation": { + "transactionFlowIndicator": "2" + }, + "processingInformation": { + "commerceIndicator": "rpy", + "actionList": [ + "CONSUMER_AUTHENTICATION" + ] + }, + "aggregatorInformation": { + "subMerchant": { + "name": "rupay" + }, + "name": "aggregatorname" + }, + "orderInformation": { + "billTo": { + "country": "IN", + "firstName": "Krishna", + "middleName": "Foster", + "lastName": "CYBS", + "phoneNumber": "9999999999", + "address1": "201 S. Division St.", + "address2": "Suite A101", + "district": "BLR", + "county": "San Francisco", + "postalCode": "560048", + "locality": "NPCI", + "company": "Visa", + "administrativeArea": "MI", + "email": "test@cybs.com", + "title": "Senior Buyer" + }, + "amountDetails": { + "totalAmount": "0.00", + "currency": "INR" + } + }, + "merchantInformation": { + "cancelUrl": "https://www.valid.merchant.redirect.url.from.request.html?actioncancel", + "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess", + "failureUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionfailure", + "transactionLocalDateTime": "20211216124549", + "categoryCode": "1234", + "merchantDescriptor": { + "country": "IN", + "contact": "1234567890", + "postalCode": "213213", + "locality": "local", + "administrativeArea": "TN" + } + }, + "paymentInformation": { + "paymentType": { + "method": { + "name": "SENTENIAL" + }, + "name": "directDebitBacs" + }, + "bank": { + "account": { + "number": "1234567890ABCDEFGHIJ0123456789" + }, + "iban": "NL51ABNC1122334455", + "swiftCode": "ABNCNL2AGMK", + "scheme": "bacs" + }, + "card": { + "expirationYear": "2031", + "number": "6080906188079", + "securityCode": "123", + "expirationMonth": "12", + "type": "061" + } + }, + "installmentInformation": { + "minAmount": "10", + "sequence": "2", + "firstInstallmentDate": "01122023", + "alertPreference": "SMS", + "lastInstallmentDate": "01012025", + "preferredDay": "05", + "maxAmount": "100", + "totalCount": "24", + "frequency": "1", + "paymentType": "1" + } + } + } + } + ], + "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", + "isMLEsupported": true + }, + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "aggregatorInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 37, + "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n" + }, + "subMerchant": { + "type": "object", + "properties": { + "cardAcceptorId": { + "type": "string", + "maxLength": 15, + "description": "Unique identifier assigned by the payment card company to the sub-merchant." + }, + "id": { + "type": "string", + "maxLength": 20, + "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" + }, + "name": { + "type": "string", + "maxLength": 37, + "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" + }, + "address1": { + "type": "string", + "maxLength": 38, + "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "locality": { + "type": "string", + "maxLength": 21, + "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "region": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 15, + "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "country": { + "type": "string", + "maxLength": 3, + "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" + }, + "email": { + "type": "string", + "maxLength": 40, + "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" + } + } + } + } + }, + "consumerAuthenticationInformation": { + "type": "object", + "properties": { + "authenticationTransactionContextId": { + "type": "string", + "maxLength": 30, + "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" + }, + "cavv": { + "type": "string", + "maxLength": 255, + "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" + }, + "transactionToken": { + "type": "string", + "maxLength": 256, + "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" + }, + "xid": { + "type": "string", + "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "httpAcceptBrowserValue": { + "type": "string", + "maxLength": 255, + "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" + }, + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "userAgentBrowserValue": { + "type": "string", + "maxLength": 255, + "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" + } + } + }, + "installmentInformation": { + "type": "object", + "properties": { + "alertPreference": { + "type": "string", + "maxLength": 5, + "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" + }, + "firstInstallmentDate": { + "type": "string", + "maxLength": 6, + "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" + }, + "identifier": { + "type": "string", + "maximum": 60, + "description": "Standing Instruction/Installment identifier.\n" + }, + "lastInstallmentDate": { + "type": "string", + "maxLength": 8, + "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "maxAmount": { + "type": "string", + "maxLength": 12, + "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "minAmount": { + "type": "string", + "maxLength": 12, + "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "paymentType": { + "type": "string", + "maxLength": 1, + "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" + }, + "preferredDay": { + "type": "string", + "maxLength": 2, + "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" + }, + "sequence": { + "type": "integer", + "maximum": 999, + "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "postalCode": { + "type": "string", + "maxLength": 14, + "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + } + } + }, + "categoryCode": { + "type": "integer", + "maximum": 9999, + "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "administrativeArea": { + "type": "string", + "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" + }, + "transactionLocalDateTime": { + "type": "string", + "maxLength": 14, + "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" + }, + "cancelUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + }, + "successUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + }, + "failureUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + }, + "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\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" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + }, + "transactionType": { + "type": "string", + "maxLength": 1, + "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" + }, + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "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" + } } } } } }, - "/reporting/v3/report-subscriptions/{reportName}": { - "get": { + "/pts/v2/billing-agreements/{id}/intimations": { + "post": { + "summary": "Standing Instruction intimation", + "description": "Standing Instruction with or without Token.", "tags": [ - "Report Subscriptions" + "billingAgreements" ], - "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", + "operationId": "billingAgreementsIntimation", "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" - } - ] + "categoryTag": "Payments", + "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-payments/GettingStarted.html", + "isMLEsupported": true }, - "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": "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "originalTransactionId": { + "type": "string", + "maxLength": 32, + "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" + }, + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + }, + "thirdPartyCertificationNumber": { + "type": "string", + "maxLength": 12, + "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "installmentInformation": { + "type": "object", + "properties": { + "alertPreference": { + "type": "string", + "maxLength": 5, + "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" + }, + "firstInstallmentDate": { + "type": "string", + "maxLength": 6, + "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" + }, + "identifier": { + "type": "string", + "maximum": 60, + "description": "Standing Instruction/Installment identifier.\n" + }, + "lastInstallmentDate": { + "type": "string", + "maxLength": 8, + "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "maxAmount": { + "type": "string", + "maxLength": 12, + "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "minAmount": { + "type": "string", + "maxLength": 12, + "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" + }, + "paymentType": { + "type": "string", + "maxLength": 1, + "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n" + }, + "preferredDay": { + "type": "string", + "maxLength": 2, + "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" + }, + "sequence": { + "type": "integer", + "maximum": 999, + "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "postalCode": { + "type": "string", + "maxLength": 14, + "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + } + } + }, + "categoryCode": { + "type": "integer", + "maximum": 9999, + "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "administrativeArea": { + "type": "string", + "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" + }, + "transactionLocalDateTime": { + "type": "string", + "maxLength": 14, + "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" + }, + "cancelUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + }, + "successUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + }, + "failureUrl": { + "type": "string", + "maxLength": 255, + "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + }, + "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\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" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + }, + "transactionType": { + "type": "string", + "maxLength": 1, + "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" + }, + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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": "reportName", + "name": "id", "in": "path", - "description": "Name of the Report to Retrieve", "required": true, "type": "string", - "maxLength": 80, - "minLength": 1, - "pattern": "[a-zA-Z0-9-_+]+" + "description": "ID for intimation of Billing Agreement" } ], "responses": { - "200": { - "description": "Ok", + "201": { + "description": "Successful response.", "schema": { - "title": "reportingV3ReportsSubscriptionsNameGet200Response", + "title": "ptsV2CreditsPost201Response", "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": { + "id": { "type": "string", - "description": "Report Name", - "example": "My Transaction Request Detail Report" + "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" }, - "timezone": { + "submitTimeUtc": { "type": "string", - "description": "Time Zone", - "example": "America/Chicago" + "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" }, - "startTime": { + "status": { "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" - } + "description": "The status of the submitted transaction." }, - "reportFilters": { + "processorInformation": { "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" + "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\n" } - }, - "description": "List of filters to apply", - "example": { - "Application.Name": [ - "ics_auth", - "ics_bill" - ] } }, - "reportPreferences": { + "installmentInformation": { "type": "object", - "description": "Report Preferences", "properties": { - "signedAmounts": { - "type": "boolean", - "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" - }, - "fieldNameConvention": { + "identifier": { "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" + "maxLength": 100, + "description": "Identifier\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" + "example": { + "id": "6853506446826005503878", + "installmentInformation": { + "identifier": "1000000000" }, - "message": { - "type": "string", - "description": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "processorInformation": { + "responseCode": "00" }, - "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" + "status": "SUCCESS", + "submitTimeUtc": "2023-05-29T08:57:25Z" + } } - ] - }, - "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", + "description": "Invalid request.", "schema": { - "title": "reportingV3ReportSubscriptionsNameDelete400Response", + "title": "ptsV2CreditsPost400Response", "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": { + "id": { "type": "string", - "description": "Documented reason code\n", - "example": "INVALID_DATA" + "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": { + "submitTimeUtc": { "type": "string", - "description": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "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" }, - "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": { + "status": { "type": "string", - "format": "date-time", - "description": "Time of request in UTC. \n", - "example": "2016-08-11T22:47:57Z" + "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", - "description": "Documented reason code\n", - "example": "INVALID_DATA" + "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": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "description": "The detail message related to the status and reason listed above." }, "details": { "type": "array", - "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", - "description": "Field in request that caused an error\n" + "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "reason": { "type": "string", - "description": "Documented reason code\n" + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } - }, - "description": "Provides failed validation input field detail\n" + } } } }, - "description": "HTTP status code for client application" + "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" + } + ] + } } - } - } - } - }, - "/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, + "502": { + "description": "Unexpected system error or system timeout.", "schema": { + "title": "ptsV2CreditsPost502Response", "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": { + "id": { "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" + "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" }, - "reportInterval": { + "submitTimeUtc": { "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" + "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" }, - "timezone": { + "status": { "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" + "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" }, - "startTime": { + "reason": { "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." + "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" }, - "subscriptionStatus": { + "message": { "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" + "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." } } } - ], - "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" - } + }, + "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" } }, - "description": "Error Bean" - } - } - }, - "x-example": { - "example0": { - "summary": "Create Classic/Standard Report Subscription", - "value": { - "reportDefinitionName": "TransactionRequestClass", - "subscriptionType": "CLASSIC" + "installmentInformation": { + "identifier": "1000000000", + "minAmount": "100", + "sequence": "2", + "firstInstallmentDate": "2111", + "alertPreference": "SMS", + "lastInstallmentDate": "3110", + "preferredDay": "1", + "maxAmount": "1000", + "paymentType": "1" + } } } } } }, - "/reporting/v3/notification-of-changes": { - "get": { + "/pts/v2/payment-references/{id}/intents": { + "post": { + "summary": "Create a Payment Order Request", + "description": "Create a Payment Order Request", "tags": [ - "Notification Of Changes" + "payments" ], - "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", + "operationId": "createOrderRequest", "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" + "categoryTag": "Payments", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html", + "isMLEsupported": true }, - "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", + "name": "OrderPaymentRequest", + "in": "body", "required": true, - "type": "string", - "format": "date-time" + "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": "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", + "name": "id", + "in": "path", + "description": "Request identifier number for the order request.\n", "required": true, - "type": "string", - "format": "date-time" + "type": "string" } ], "responses": { - "200": { - "description": "Ok", + "201": { + "description": "Successful response.", "schema": { - "title": "reportingV3NotificationofChangesGet200Response", + "title": "ptsV2PaymentsOrderPost201Response", "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" + "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \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": 32, + "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" + } + } + } + } + }, + "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" + }, + "userName": { + "type": "string", + "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\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 -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" + }, + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + } + } } + } + } + }, + "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" }, - "description": "Notification Of Change" + "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", + "description": "Invalid request.", "schema": { - "title": "reportingV3NotificationofChangesGet400Response", "type": "object", - "required": [ - "submitTimeUtc", - "reason", - "message", - "details" - ], + "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", - "format": "date-time", - "description": "Time of request in UTC. \n", - "example": "2016-08-11T22:47:57Z" + "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": "Documented reason code\n", - "example": "INVALID_DATA" + "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": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "description": "The detail message related to the status and reason listed above." }, "details": { "type": "array", - "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", - "description": "Field in request that caused an error\n" + "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "reason": { "type": "string", - "description": "Documented reason code\n" + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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", + "502": { + "description": "Unexpected system error or system timeout.", "schema": { - "title": "reportingV3NotificationofChangesGet404Response", + "title": "ptsV2PaymentsPost502Response", "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" + "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": "Documented reason code\n", - "example": "INVALID_DATA" + "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" }, "message": { "type": "string", - "description": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "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" }, - "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" + "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", + "isMLEsupported": true + }, + "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" + } + } + }, + "bank": { + "type": "object", + "properties": { + "swiftCode": { + "type": "string", + "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" + }, + "account": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 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" + } + } + } + } + }, + "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" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "district": { + "type": "string", + "maxLength": 50, + "description": "Neighborhood, community, or region within a city or municipality." + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount for all the items in the order.\n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 15, + "description": "Total charges for any import or export duties included in the order.\n" + }, + "exchangeRate": { + "type": "string", + "maxLength": 13, + "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" + }, + "exchangeRateTimeStamp": { + "type": "string", + "maxLength": 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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." + } + } } }, - "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" + "invoiceDetails": { + "type": "object", + "properties": { + "costCenter": { + "type": "string", + "description": "Cost centre of the merchant." + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." + } } }, - "description": "Provides failed validation input field detail\n" + "shippingDetails": { + "type": "object", + "properties": { + "shippingMethod": { + "type": "string", + "maxLength": 32, + "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" + } + } + } } - } - }, - "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" - } + "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" }, - "description": "Request Info Section" + "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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + } + } + } + } } }, - "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" - } + "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" } } }, - "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" + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "alternateName": { + "type": "string", + "maxLength": 13, + "description": "An alternate name for the merchant.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of merchant's address.\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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" + } } }, - "description": "Authorization Info Values" + "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." + } } }, - "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)" - } + "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" }, - "description": "Fee Funding Section" + "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 + } + } + } } }, - "others": { + "merchantDefinedInformation": { "type": "array", - "description": "List of Other Info values", + "description": "The object containing the custom data that the merchant defines.\n", "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": { + "key": { "type": "string", - "example": "First Name", - "description": "First Name" + "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" }, - "lastName": { + "value": { "type": "string", - "example": "Last Name", - "description": "Last Name" + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } + } + } + }, + "agreementInformation": { + "type": "object", + "properties": { + "indicator": { + "type": "string", + "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" }, - "description": "Other Merchant Details Values." + "description": { + "type": "string", + "description": "Description of the billing agreement" + } } }, - "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" + "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" + } } - }, - "description": "Settlement Status Section Values." + } } } + } + } + } + ], + "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" + } }, - "description": "PurchaseAndRefundDetails" + "paymentInformation": { + "paymentType": { + "method": { + "name": "KLARNA" + }, + "name": "invoice" + } + } } - }, - "400": { - "description": "Invalid request", + } + }, + "responses": { + "201": { + "description": "Successful response.", "schema": { - "title": "reportingV3PurchaseRefundDetailsGet400Response", + "title": "ptsV2PaymentsPost201Response", "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" + "_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." + } } }, - "description": "Provides failed validation input field detail\n" + "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." + } + } + } } - } - }, - "description": "HTTP status code for client application" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "title": "reportingV3PurchaseRefundDetailsGet401Response", - "type": "object", - "required": [ - "submitTimeUtc", - "reason", - "message", - "details" - ], - "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", - "format": "date-time", - "description": "Time of request in UTC. \n", - "example": "2016-08-11T22:47:57Z" + "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" }, - "reason": { + "status": { "type": "string", - "description": "Documented reason code\n", - "example": "INVALID_DATA" + "description": "Status of the sessions request.\nPossible values:\n\uf06e Created\n\uf06e Failed\n" }, - "message": { + "reconciliationId": { "type": "string", - "description": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "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" }, - "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" + "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" }, - "description": "Provides failed validation input field detail\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" + } } - } - }, - "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" + "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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" + } + } }, - "message": { - "type": "string", - "description": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "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" + } + } + } + } }, - "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" + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + } } - }, - "description": "Provides failed validation input field detail\n" + } } } - }, - "description": "HTTP status code for client application" + } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Invalid request.", "schema": { - "title": "reportingV3PurchaseRefundDetailsGet500Response", "type": "object", - "required": [ - "submitTimeUtc", - "reason", - "message", - "details" - ], + "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", - "format": "date-time", - "description": "Time of request in UTC. \n", - "example": "2016-08-11T22:47:57Z" + "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": "Documented reason code\n", - "example": "INVALID_DATA" + "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": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "description": "The detail message related to the status and reason listed above." }, "details": { "type": "array", - "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", - "description": "Field in request that caused an error\n" + "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "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" + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } @@ -94438,2021 +42525,4710 @@ } } }, - "400": { - "description": "Invalid request", + "502": { + "description": "Unexpected system error or system timeout.", "schema": { - "title": "reportingV3PaymentBatchSummariesGet200Response", + "title": "ptsV2PaymentsPost502Response", "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" + "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": "Documented reason code\n", - "example": "INVALID_DATA" + "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" }, "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": "The detail message related to the status and reason listed above." } - }, - "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" + "/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", + "isMLEsupported": true + }, "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", + "name": "createSessionRequest", + "in": "body", "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 + "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" + } } }, - "endTime": { - "type": "string", - "format": "date-time", - "example": "2017-10-01T10:10:10+05:00", - "xml": { - "name": "ReportEndDate", - "attribute": true + "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" + } + } } }, - "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" + "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } - }, - "reviewerComments": { - "type": "string", - "description": "Comments of the reviewer", - "example": "Verified order.", - "xml": { - "name": "ReviewerComments" + } + }, + "bank": { + "type": "object", + "properties": { + "swiftCode": { + "type": "string", + "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" + }, + "account": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 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" + } + } } - }, - "queue": { - "type": "string", - "description": "Name of the queue", - "example": "Review Queue", - "xml": { - "name": "Queue" + } + }, + "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" } - }, - "profile": { - "type": "string", - "description": "Name of the profile", - "example": "Test Profile", - "xml": { - "name": "Profile" + } + }, + "options": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 255, + "description": "Identifier for a PayPal credit transaction.\nValue: Credit\n" } - }, - "notes": { - "type": "array", - "items": { + } + }, + "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": { - "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": { + "name": { "type": "string", - "description": "Note added by reviewer", - "example": "testuserId", - "xml": { - "name": "AddedBy", - "attribute": true - } + "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" }, - "comments": { + "type": { "type": "string", - "description": "Comments given by the reviewer", - "example": "Verified the order and accepted.", - "xml": { - "name": "Comment", - "attribute": true - } + "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" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "district": { + "type": "string", + "maxLength": 50, + "description": "Neighborhood, community, or region within a city or municipality." + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 12, + "description": "Total tax amount for all the items in the order.\n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 15, + "description": "Total charges for any import or export duties included in the order.\n" + }, + "exchangeRate": { + "type": "string", + "maxLength": 13, + "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n" + }, + "exchangeRateTimeStamp": { + "type": "string", + "maxLength": 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#### 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" }, - "xml": { - "name": "Note" + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." } + } + } + }, + "invoiceDetails": { + "type": "object", + "properties": { + "costCenter": { + "type": "string", + "description": "Cost centre of the merchant." }, - "xml": { - "name": "Notes" + "productDescription": { + "type": "string", + "description": "Brief description of item." } } }, - "xml": { - "name": "Conversion" + "shippingDetails": { + "type": "object", + "properties": { + "shippingMethod": { + "type": "string", + "maxLength": 32, + "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" + } + } } } - } - }, - "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" - } + "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" }, - "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" - } + "gender": { + "type": "string", + "maxLength": 3, + "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, - "xml": { - "name": "NetFundingSummary" + "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. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + } + } + } } - }, - "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" - } + "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" }, - "xml": { - "name": "Amount" + "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" } - }, - "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" + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "alternateName": { + "type": "string", + "maxLength": 13, + "description": "An alternate name for the merchant.\n" + }, + "contact": { + "type": "string", + "maxLength": 14, + "description": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of merchant's address.\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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" + } } }, - "xml": { - "name": "Amount" + "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." } - }, - "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" + "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 + } } - }, - "xml": { - "name": "Amount" } - }, - "xml": { - "name": "totalFees", - "wrapped": true } }, - "totalChargebacks": { + "merchantDefinedInformation": { "type": "array", - "description": "List of total chargebacks currency wise", + "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", - "required": [ - "currency", - "value" - ], "properties": { - "currency": { + "key": { "type": "string", - "description": "Valid ISO 4217 ALPHA-3 currency code", - "example": "USD" + "maxLength": 50, + "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n" }, "value": { "type": "string", - "example": "10.01" + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } + } + } + }, + "agreementInformation": { + "type": "object", + "properties": { + "indicator": { + "type": "string", + "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" }, - "xml": { - "name": "Amount" + "description": { + "type": "string", + "description": "Description of the billing agreement" } - }, - "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" + "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" + } } - }, - "xml": { - "name": "Amount" } - }, - "xml": { - "name": "netTotal", - "wrapped": true } } } } }, - "400": { - "description": "Invalid request", + { + "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": "reportingV3NetFundingsGet400Response", + "title": "ptsV2PaymentsPost201Response", "type": "object", - "required": [ - "submitTimeUtc", - "reason", - "message", - "details" - ], "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", - "format": "date-time", - "description": "Time of request in UTC. \n", - "example": "2016-08-11T22:47:57Z" + "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" }, - "reason": { + "status": { "type": "string", - "description": "Documented reason code\n", - "example": "INVALID_DATA" + "description": "Status of the sessions request.\nPossible values:\n\uf06e Created\n\uf06e Failed\n" }, - "message": { + "reconciliationId": { "type": "string", - "description": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "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" }, - "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" + "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" }, - "description": "Provides failed validation input field detail\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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\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" - ], + "400": { + "description": "Invalid request.", + "schema": { + "type": "object", + "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", - "format": "date-time", - "description": "Time of request in UTC. \n", - "example": "2016-08-11T22:47:57Z" + "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": "Documented reason code\n", - "example": "INVALID_DATA" + "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": "Short descriptive message to the user.\n", - "example": "One or more fields contains invalid data" + "description": "The detail message related to the status and reason listed above." }, "details": { "type": "array", - "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", - "description": "Field in request that caused an error\n" + "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "reason": { "type": "string", - "description": "Documented reason code\n" + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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" + "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." + } + } + } } } } }, - "/reporting/v3/xsds/{reportDefinitionNameVersion}": { - "get": { + "/pts/v2/intents": { + "post": { + "summary": "Create an Order", + "description": "A create order request enables you to send the itemized details along with the order. This API can be used by merchants initiating their transactions with the create order API. \n", "tags": [ - "Download XSD" + "orders" ], - "summary": "Download XSD for Report", - "description": "Used to download XSDs for reports on no-auth.", - "operationId": "getXSDV2", + "operationId": "createOrder", "x-devcenter-metaData": { - "categoryTag": "Reporting", - "isClientSideApi": true + "categoryTag": "Payments" }, - "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", + "name": "createOrderRequest", + "in": "body", "required": true, - "type": "string" + "schema": { + "type": "object", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "processingInstruction": { + "type": "string", + "maxLength": 36, + "description": "The instruction to process an order.\n- default value: 'NO_INSTRUCTION'\n- 'ORDER_SAVED_EXPLICITLY'\n" + }, + "authorizationOptions": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "maxLength": 15, + "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" + } + } + }, + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the order to invoke bundled services along with order.\nPossible values:\n- `AP_ORDER`: Use this when Alternative Payment Order service is requested.\n", + "items": { + "type": "string" + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "email": { + "type": "string", + "maxLength": 254, + "description": "Email address of the merchant." + } + } + }, + "cancelUrl": { + "type": "string", + "maxLength": 255, + "description": "customer would be redirected to this url based on the decision of the transaction" + }, + "successUrl": { + "type": "string", + "maxLength": 255, + "description": "customer would be redirected to this url based on the decision of the transaction" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n#### Via PayPal ptsV2CreateOrderPost201Response\n - 'payPal'\n - 'venmo'\n" + } + } + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 32, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 32, + "description": "Discount amount for the transaction. \n" + }, + "shippingAmount": { + "type": "string", + "maxLength": 32, + "description": "Aggregate shipping charges for the transactions.\n" + }, + "shippingDiscountAmount": { + "type": "string", + "maxLength": 32, + "description": "Shipping discount amount for the transaction. \n" + }, + "taxAmount": { + "type": "string", + "maxLength": 32, + "description": "Total tax amount. \n" + }, + "insuranceAmount": { + "type": "string", + "maxLength": 32, + "description": "Amount being charged for the insurance fee. \n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 32, + "description": "Amount being charged as duty amount. \n" + } + } + }, + "billTo": { + "type": "object", + "properties": { + "email": { + "type": "string", + "minLength": 3, + "maxLength": 254, + "description": "Email address of the PayPal account holder.\n" + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 2 + }, + "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", + "maxItems": 10, + "items": { + "type": "object", + "properties": { + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." + }, + "productSku": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "typeOfSupply": { + "type": "string", + "maxLength": 2, + "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + } + } + } + }, + "invoiceDetails": { + "type": "object", + "properties": { + "productDescription": { + "type": "string", + "description": "Brief description of item." + } + } + } + } + } + }, + "example": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102.21", + "currency": "USD" + }, + "shipTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS" + }, + "invoiceDescription": { + "productDescription": "Description of the product invoice" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "name": "Merchant1", + "email": "merchant1@gmail.com" + } + }, + "processingInformation": { + "processingInstruction": "NO_INSTRUCTION", + "authorizationOptions": { + "authType": "AUTHORIZE" + }, + "actionList": "AP_ORDER" + }, + "paymentInformation": { + "paymentType": { + "method": { + "name": "payPal" + }, + "name": "ewallet" + } + } + } + } } ], "responses": { - "200": { - "description": "Ok" + "201": { + "description": "Successful response.", + "schema": { + "title": "ptsV2CreateOrderPost201Response", + "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" + }, + "updateTimeUtc": { + "type": "string", + "description": "The date and time when the request was last updated.\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\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" + }, + "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": { + "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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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`" + }, + "paymentUrl": { + "type": "string", + "maxLength": 15, + "description": "Direct the customer to this URL to complete the payment." + } + } + }, + "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" + }, + "userName": { + "type": "string", + "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\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" + } + } + } + }, + "example": { + "submitTimeUtc": "2024-06-01T071957Z", + "updateTimeUtc": "2024-06-01T071957Z", + "status": "CREATED", + "reconciliationId": "39570726X3E1LBQR", + "clientReferenceInformation": { + "code": "DEFAULT" + }, + "processorInformation": { + "transactionId": "1234qwerty1234" + } + } + } }, "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", + "description": "Invalid request.", "schema": { - "title": "reportingV3ChargebackSummariesGet200Response", "type": "object", + "title": "ptsV2CreateOrderPost400Response", "properties": { - "organizationId": { + "submitTimeUtc": { "type": "string", - "description": "Organization Id", - "example": "testrest", - "xml": { - "name": "MerchantId", - "attribute": true - } + "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" }, - "startTime": { + "status": { "type": "string", - "description": "Report Start Date", - "example": "2017-10-01T10:10:10+05:00", - "format": "date-time", - "xml": { - "name": "ReportStartDate", - "attribute": true - } + "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, - "endTime": { + "message": { "type": "string", - "description": "Report Start Date", - "example": "2017-10-01T10:10:10+05:00", - "xml": { - "name": "ReportEndDate", - "attribute": true - } + "description": "The detail message related to the status and reason listed above." }, - "chargebackSummaries": { + "details": { "type": "array", - "description": "List of Summary values", "items": { "type": "object", "properties": { - "count": { - "type": "number", - "description": "Chargeback summary list count", - "example": "8" - }, - "time": { + "field": { "type": "string", - "description": "Summary Date", - "example": "2018-01-04T11:33:06.000-0800", - "format": "date-time" + "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, - "accountId": { + "reason": { "type": "string", - "description": "Account Id", - "example": "testrest_acct" + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } - }, - "xml": { - "name": "Request", - "wrapped": true } } } + } + } + }, + "502": { + "description": "Unexpected system error or system timeout.", + "schema": { + "title": "ptsV2CreateOrderPost502Response", + "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 Order", + "sample-name": "Create Order", + "value": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102.21", + "currency": "USD" + }, + "shipTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS" + } }, - "xml": { - "name": "Report", - "wrapped": true + "merchantInformation": { + "merchantDescriptor": { + "name": "Merchant1", + "email": "merchant1@gmail.com" + } + }, + "processingInformation": { + "processingInstruction": "NO_INSTRUCTION", + "authorizationOptions": { + "authType": "AUTHORIZE" + }, + "actionList": "AP_ORDER" + }, + "paymentInformation": { + "paymentType": { + "method": { + "name": "payPal" + }, + "name": "ewallet" + } } } } } } }, - "/reporting/v3/chargeback-details": { - "get": { + "/pts/v2/intents/{id}": { + "patch": { + "summary": "Update an Order", + "description": "This API can be used in two flavours - for updating the order as well as saving the order.\n", "tags": [ - "Chargeback Details" + "orders" ], - "summary": "Get Chargeback Details", - "description": "Chargeback Detail Report Description", - "operationId": "getChargebackDetails", + "operationId": "updateOrder", "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" + "categoryTag": "Payments" }, - "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", + "name": "id", + "in": "path", + "description": "The ID returned from the original create order response.", "required": true, - "type": "string", - "format": "date-time" + "type": "string" }, { - "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", + "name": "updateOrderRequest", + "in": "body", "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 + "schema": { + "type": "object", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 32, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 32, + "description": "Discount amount for the transaction. \n" + }, + "shippingAmount": { + "type": "string", + "maxLength": 32, + "description": "Aggregate shipping charges for the transactions.\n" + }, + "shippingDiscountAmount": { + "type": "string", + "maxLength": 32, + "description": "Shipping discount amount for the transaction. \n" + }, + "taxAmount": { + "type": "string", + "maxLength": 32, + "description": "Total tax amount. \n" + }, + "insuranceAmount": { + "type": "string", + "maxLength": 32, + "description": "Amount being charged for the insurance fee. \n" + }, + "dutyAmount": { + "type": "string", + "maxLength": 32, + "description": "Amount being charged as duty amount. \n" + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 2 + }, + "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", + "maxItems": 10, + "items": { + "type": "object", + "properties": { + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." + }, + "productSku": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "typeOfSupply": { + "type": "string", + "maxLength": 2, + "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + } + } + } + }, + "invoiceDetails": { + "type": "object", + "properties": { + "productDescription": { + "type": "string", + "description": "Brief description of item." + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "email": { + "type": "string", + "maxLength": 254, + "description": "Email address of the merchant." + } + } + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "paymentType": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" + }, + "method": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n#### Via PayPal ptsV2CreateOrderPost201Response\n - 'payPal'\n - 'venmo'\n" + } + } + } + } + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "actionList": { + "type": "array", + "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_UPDATE_ORDER`: Use this when Alternative Payment Update order service is requested.\n- `AP_EXTEND_ORDER`: Use this when Alternative Payment extend order service is requested.\n", + "items": { + "type": "string" + } + } + } + } + }, + "example": { + "orderInformation": { + "amountDetails": { + "totalAmount": "102.21", + "currency": "USD" + }, + "shipTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS" + }, + "invoiceDescription": { + "productDescription": "Description of the product invoice" + } + }, + "merchantInformation": { + "merchantDescriptor": { + "name": "Merchant1", + "email": "merchant1@gmail.com" + } + }, + "paymentInformation": { + "paymentType": { + "method": { + "name": "payPal" + }, + "name": "ewallet" + } + } + } + } } ], "responses": { - "200": { - "description": "Ok", + "201": { + "description": "Successful response.", "schema": { - "title": "reportingV3ChargebackDetailsGet200Response", + "title": "ptsV2UpdateOrderPatch201Response", "type": "object", "properties": { - "organizationId": { + "status": { "type": "string", - "description": "Organization Id", - "example": "testrest", - "xml": { - "name": "MerchantId", - "attribute": true + "description": "The status of the submitted transaction.\nPossible values:\n - CREATED\n - SAVED\n - APPROVED\n - VOIDED\n - COMPLETED\n - PAYER_ACTION_REQUIRED\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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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`" + }, + "paymentUrl": { + "type": "string", + "maxLength": 15, + "description": "Direct the customer to this URL to complete the payment." + } } + } + }, + "example": { + "status": "COMPLETED", + "processorInformation": { + "transactionId": "1234qwerty1234", + "networkTransactionId": "123qwerty123" + } + } + } + }, + "400": { + "description": "Invalid request.", + "schema": { + "type": "object", + "title": "ptsV2UpdateOrderPatch400Response", + "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" }, - "startTime": { + "status": { "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 - } + "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, - "endTime": { + "message": { "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 - } + "description": "The detail message related to the status and reason listed above." }, - "chargebackDetails": { + "details": { "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": { + "field": { "type": "string", - "description": "Event Request Date", - "example": "2017-10-01T10:10:10+05:00", - "format": "date-time" + "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, - "preDisputeFlag": { + "reason": { "type": "string", - "description": "Pre Dispute Flag", - "example": "N" + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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", + "502": { + "description": "Unexpected system error or system timeout.", "schema": { - "title": "reportingV3RetrievalSummariesGet200Response", + "title": "ptsV2UpdateOrderPatch502Response", "type": "object", "properties": { - "organizationId": { + "submitTimeUtc": { "type": "string", - "description": "Organization Id", - "example": "testrest", - "xml": { - "name": "MerchantId", - "attribute": true - } + "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" }, - "startTime": { + "status": { "type": "string", - "description": "Report Start Date", - "example": "2017-10-01T10:10:10+05:00", - "format": "date-time", - "xml": { - "name": "ReportStartDate", - "attribute": true - } + "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" }, - "endTime": { + "reason": { "type": "string", - "description": "Report Start Date", - "example": "2017-10-01T10:10:10+05:00", - "xml": { - "name": "ReportEndDate", - "attribute": true - } + "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" }, - "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 - } + "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 } } }, - "xml": { - "name": "Report", - "wrapped": true + "orderInformation": { + "amountDetails": { + "additionalAmount": "22.49", + "currency": "USD" + } + }, + "merchantInformation": { + "transactionLocalDateTime": 20191002080000 + }, + "travelInformation": { + "duration": "4" } } } } } }, - "/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" - ], + "/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": "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, + "name": "profile-id", + "in": "header", + "description": "The Id of a profile containing user specific TMS configuration.", + "required": false, "type": "string", - "format": "date-time" + "minLength": 36, + "maxLength": 36, + "x-hide-field": true }, { - "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", + "name": "postCustomerRequest", + "in": "body", "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": { + "_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", - "description": "Organization Id", - "example": "testrest", - "xml": { - "name": "MerchantId", - "attribute": true + "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 + } } }, - "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 + "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" + } } }, - "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 + "clientReferenceInformation": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Client-generated order reference or tracking number.\n", + "maxLength": 50 + } } }, - "retrievalDetails": { + "merchantDefinedInformation": { "type": "array", - "description": "List of Retrieval Details list.", + "description": "Object containing the custom data that the merchant defines.\n", "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": { + "name": { "type": "string", - "description": "ICS Request Applications", - "example": "ics_auth" + "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" }, - "eventRequestedTime": { + "value": { "type": "string", - "description": "Event Request Date", - "example": "2017-10-01T10:10:10+05:00", - "format": "date-time" + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", + "maxLength": 100 + } + } + } + }, + "defaultPaymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The Id of the Customers default Payment Instrument\n" + } + } + }, + "defaultShippingAddress": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The Id of the Customers default Shipping Address\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { + "type": "string", + "readOnly": true, + "description": "The creator of the Customer.\n" + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "description": "Additional resources for the Customer.\n", + "properties": { + "defaultPaymentInstrument": { + "readOnly": true, + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Payment Instrument.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" + } + } + }, + "customer": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Customer.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" + } + } + } + } + }, + "id": { + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Payment Instrument Token." + }, + "object": { + "type": "string", + "readOnly": true, + "example": "paymentInstrument", + "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" + }, + "default": { + "type": "boolean", + "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" + }, + "bankAccount": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 18, + "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" + } + } + }, + "card": { + "type": "object", + "properties": { + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" + }, + "issueNumber": { + "type": "string", + "maxLength": 2, + "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" + }, + "startMonth": { + "type": "string", + "maxLength": 2, + "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "startYear": { + "type": "string", + "maxLength": 4, + "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "useAs": { + "type": "string", + "example": "pinless debit", + "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" + }, + "hash": { + "type": "string", + "minLength": 32, + "maxLength": 34, + "readOnly": true, + "description": "Hash value representing the card.\n" + }, + "tokenizedInformation": { + "type": "object", + "properties": { + "requestorID": { + "type": "string", + "maxLength": 11, + "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" + }, + "transactionType": { + "type": "string", + "maxLength": 1, + "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "companyTaxID": { + "type": "string", + "maxLength": 9, + "description": "Company's tax identifier. This is only used for eCheck service.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } } }, - "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": { + "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", - "example": "A" + "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" }, - "applicationName": { + "value": { "type": "string", - "example": "ics_auth" + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", + "maxLength": 100 + } + } + } + }, + "defaultPaymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The Id of the Customers default Payment Instrument\n" + } + } + }, + "defaultShippingAddress": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The Id of the Customers default Shipping Address\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { + "type": "string", + "readOnly": true, + "description": "The creator of the Customer.\n" + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "description": "Additional resources for the Customer.\n", + "properties": { + "defaultPaymentInstrument": { + "readOnly": true, + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Payment Instrument.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" + } + } + }, + "customer": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Customer.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" + } + } + } + } + }, + "id": { + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Payment Instrument Token." + }, + "object": { + "type": "string", + "readOnly": true, + "example": "paymentInstrument", + "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" + }, + "default": { + "type": "boolean", + "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" + }, + "bankAccount": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 18, + "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" + } + } + }, + "card": { + "type": "object", + "properties": { + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" + }, + "issueNumber": { + "type": "string", + "maxLength": 2, + "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" + }, + "startMonth": { + "type": "string", + "maxLength": 2, + "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "startYear": { + "type": "string", + "maxLength": 4, + "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "useAs": { + "type": "string", + "example": "pinless debit", + "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" + }, + "hash": { + "type": "string", + "minLength": 32, + "maxLength": 34, + "readOnly": true, + "description": "Hash value representing the card.\n" + }, + "tokenizedInformation": { + "type": "object", + "properties": { + "requestorID": { + "type": "string", + "maxLength": 11, + "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" + }, + "transactionType": { + "type": "string", + "maxLength": 1, + "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "companyTaxID": { + "type": "string", + "maxLength": 9, + "description": "Company's tax identifier. This is only used for eCheck service.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } } }, - "xml": { - "name": "Request" + "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." + } + } + } + } } } } - }, - "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", + "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": { - "title": "V1FileDetailsGet200Response", "type": "object", + "readOnly": true, "properties": { - "fileDetails": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "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": { "type": "string", - "format": "date", - "description": "Date and time for the file in PST", - "example": "2017-10-05" + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, - "mimeType": { + "message": { "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" + "readOnly": true, + "description": "The detailed message related to the type." }, - "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" + "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." + } } } } @@ -96460,1670 +47236,3102 @@ } } } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ + { + "type": "invalidRequest", + "message": "Invalid HTTP Body" + } + ] + } } }, - "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": { + "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", - "description": "Error fields List", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "path": { + "type": { "type": "string", - "description": "Path of the failed property" + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", - "description": "Error description about validation failed field" - }, - "localizationKey": { - "type": "string", - "description": "Localized Key Name" + "readOnly": true, + "description": "The detailed message related to the type." } - }, - "description": "Provide validation failed input field details" + } } } - }, - "description": "Error Bean" + } }, "examples": { "application/json": { - "code": "VALIDATION_ERROR", - "correlationId": null, - "detail": null, - "fields": [ + "errors": [ { - "path": "startTime", - "message": "Start date should not precede 18 months from current time in GMT", - "localizationKey": null + "type": "forbidden", + "message": "Request not permitted" } - ], - "localizationKey": "cybsapi.validation.errors", - "message": "Field validation errors" + ] } } }, - "401": { - "description": "Ok", + "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": { - "title": "V1FileDetailsGet401Response", "type": "object", - "required": [ - "code", - "message" - ], + "readOnly": true, "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": { + "errors": { "type": "array", - "description": "Error fields List", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "path": { + "type": { "type": "string", - "description": "Path of the failed property" + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", - "description": "Error description about validation failed field" - }, - "localizationKey": { - "type": "string", - "description": "Localized Key Name" + "readOnly": true, + "description": "The detailed message related to the type." } - }, - "description": "Provide validation failed input field details" + } } } - }, - "description": "Error Bean" + } }, "examples": { "application/json": { - "code": "VALIDATION_ERROR", - "correlationId": null, - "detail": null, - "fields": [ + "errors": [ { - "path": "organizationId", - "message": "Organization doesn't has access to File details", - "localizationKey": null + "type": "conflict", + "message": "Action cannot be performed as the PaymentInstrument is the customers default" } - ], - "localizationKey": "cybsapi.validation.errors", - "message": "Field validation errors" + ] } } }, - "404": { - "description": "Files Info not found", + "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": { - "title": "V1FileDetailsGet404Response", "type": "object", - "required": [ - "code", - "message" - ], + "readOnly": true, "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": { + "errors": { "type": "array", - "description": "Error fields List", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "path": { + "type": { "type": "string", - "description": "Path of the failed property" + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", - "description": "Error description about validation failed field" - }, - "localizationKey": { - "type": "string", - "description": "Localized Key Name" + "readOnly": true, + "description": "The detailed message related to the type." } - }, - "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" + "errors": [ + { + "type": "notFound", + "message": "Profile not found" + } + ] } } }, "500": { - "description": "Internal Server Error", + "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": { - "title": "V1FileDetailsGet500Response", "type": "object", - "required": [ - "code", - "message" - ], + "readOnly": true, "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": { + "errors": { "type": "array", - "description": "Error fields List", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "path": { + "type": { "type": "string", - "description": "Path of the failed property" + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", - "description": "Error description about validation failed field" - }, - "localizationKey": { - "type": "string", - "description": "Localized Key Name" + "readOnly": true, + "description": "The detailed message related to the type." } - }, - "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" } } } + }, + "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" + } + ] + } + } } } }, - "/sfs/v1/files/{fileId}": { + "/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": [ - "SecureFileShare" + "Customer" ], - "summary": "Download a File with File Identifier", - "description": "Download a file for the given file identifier", - "operationId": "getFile", - "x-streaming": true, + "operationId": "getCustomer", "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" + "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": "/sfs/v1/file-details", - "verb": "get", - "exampleId": "Get list of files" + "path": "/tms/v2/customers", + "verb": "post", + "exampleId": "example0" }, "fieldMapping": [ { - "sourceField": "fileDetails[0].fileId", - "destinationField": "fileId", + "sourceField": "id", + "destinationField": "customerId", "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", + "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", - "required": [ - "code", - "message" - ], "properties": { - "code": { - "type": "string", - "description": "Error code" + "_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" + } + } + } + } }, - "message": { + "id": { "type": "string", - "description": "Error message" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Customer Token." }, - "localizationKey": { - "type": "string", - "description": "Localization Key Name" + "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 + } + } }, - "correlationId": { - "type": "string", - "description": "Correlation Id" + "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" + } + } }, - "detail": { - "type": "string", - "description": "Error Detail" + "clientReferenceInformation": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Client-generated order reference or tracking number.\n", + "maxLength": 50 + } + } }, - "fields": { + "merchantDefinedInformation": { "type": "array", - "description": "Error fields List", + "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { - "path": { - "type": "string", - "description": "Path of the failed property" - }, - "message": { + "name": { "type": "string", - "description": "Error description about validation failed field" + "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" }, - "localizationKey": { + "value": { "type": "string", - "description": "Localized Key Name" + "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 } - }, - "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": { + }, + "defaultPaymentInstrument": { "type": "object", - "description": "Contains all of the customer-related fields for the invoice.", "properties": { - "name": { + "id": { "type": "string", - "maxLength": 100, - "description": "Payer name for the invoice." - }, - "email": { + "description": "The Id of the Customers default Payment Instrument\n" + } + } + }, + "defaultShippingAddress": { + "type": "object", + "properties": { + "id": { "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "merchantCustomerId": { + "description": "The Id of the Customers default Shipping Address\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "company": { + "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": { - "name": { + "_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", - "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" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Payment Instrument Token." + }, + "object": { + "type": "string", + "readOnly": true, + "example": "paymentInstrument", + "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" + }, + "default": { + "type": "boolean", + "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" + }, + "bankAccount": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 18, + "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" + } + } + }, + "card": { + "type": "object", + "properties": { + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" + }, + "issueNumber": { + "type": "string", + "maxLength": 2, + "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" + }, + "startMonth": { + "type": "string", + "maxLength": 2, + "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "startYear": { + "type": "string", + "maxLength": 4, + "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "useAs": { + "type": "string", + "example": "pinless debit", + "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" + }, + "hash": { + "type": "string", + "minLength": 32, + "maxLength": 34, + "readOnly": true, + "description": "Hash value representing the card.\n" + }, + "tokenizedInformation": { + "type": "object", + "properties": { + "requestorID": { + "type": "string", + "maxLength": 11, + "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" + }, + "transactionType": { + "type": "string", + "maxLength": 1, + "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "companyTaxID": { + "type": "string", + "maxLength": 9, + "description": "Company's tax identifier. This is only used for eCheck service.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\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": { + "defaultShippingAddress": { + "readOnly": true, "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + "_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" + } + } + } + } }, - "discountAmount": { + "id": { "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." + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Shipping Address Token." }, - "minimumPartialAmount": { - "type": "number", - "description": "The minimum partial amount required to pay the invoice." + "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" }, - "taxDetails": { + "shipTo": { "type": "object", - "description": "Contains all of the tax-related fields for the invoice.", "properties": { - "type": { + "firstName": { "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" + "maxLength": 60, + "description": "First name of the recipient.\n" }, - "amount": { + "lastName": { "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" + "maxLength": 60, + "description": "Last name of the recipient.\n" }, - "rate": { + "company": { "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - } - } - }, - "freight": { - "type": "object", - "description": "Contains all of the shipping-related fields for the invoice.", - "properties": { - "amount": { + "maxLength": 60, + "description": "Company associated with the shipping address.\n" + }, + "address1": { "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" + "maxLength": 60, + "description": "First line of the shipping address.\n" }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\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", + "locality": { "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - } - } - } - } - } - } - }, - "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- PENDING\n" - }, - "customerInformation": { - "type": "object", - "description": "Contains all of the customer-related fields for the invoice.", - "properties": { - "name": { - "type": "string", - "maxLength": 100, - "description": "Payer name for the invoice." - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "company": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" - } - } - } - } - }, - "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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": { + "maxLength": 50, + "description": "City of the shipping address.\n" + }, + "administrativeArea": { "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" + "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" }, - "amount": { + "postalCode": { "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" + "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" }, - "rate": { + "country": { "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" + "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" } } }, - "freight": { + "metadata": { "type": "object", - "description": "Contains all of the shipping-related fields for the invoice.", + "readOnly": true, "properties": { - "amount": { - "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "taxRate": { - "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "creator": { "type": "string", - "maxLength": 7 + "readOnly": true, + "description": "The creator of the Shipping Address." } } } } - }, - "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - } - } - } } } } - }, - "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.", + "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": { - "title": "invoicingV2InvoicesPost202Response", "type": "object", + "readOnly": true, "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- PENDING\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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "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." + } + } + } } } } } - }, - "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." + } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ + { + "type": "invalidRequest", + "message": "Invalid HTTP Body" + } + ] } } }, - "400": { - "description": "Invalid request.", + "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": { - "title": "invoicingV2InvoicesPost400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ + } + }, + "examples": { + "application/json": { + "errors": [ { - "field": "customerInformation.email", - "reason": "Invalid email" + "type": "forbidden", + "message": "Request not permitted" } ] } } }, "404": { - "description": "The specified resource is not found.", + "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": { - "title": "invoicingV2InvoicesPost404Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "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": [ + }, + "examples": { + "application/json": { + "errors": [ { - "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" + "type": "notFound", + "message": "Token not found" } ] } } }, - "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" + "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" }, - "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 + "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." + } + } } - }, - "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" + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." } ] } } }, - "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" + "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" }, - "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 + "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." + } + } } - }, - "lineItems": [ + } + } + }, + "examples": { + "application/json": { + "errors": [ { - "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" + "type": "notFound", + "message": "Profile not found" } ] } } }, - "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" + "500": { + "description": "Unexpected error.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" }, - "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": [ + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "examples": { + "application/json": { + "errors": [ { - "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" + "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." + } + } + } + } + } } } } }, - "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" - ], + "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": "offset", - "in": "query", - "type": "integer", - "required": true, - "description": "Page offset number." + "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": "limit", - "in": "query", - "type": "integer", + "name": "customerId", + "in": "path", + "description": "The Id of a Customer.", "required": true, - "description": "Maximum number of items you would like returned." + "type": "string", + "minLength": 1, + "maxLength": 32 }, { - "name": "status", - "in": "query", - "type": "string", + "name": "if-match", + "in": "header", + "description": "Contains an ETag value from a GET request to make the request conditional.", "required": false, - "description": "The status of the invoice.\n\nPossible values:\n - DRAFT\n - CREATED\n - SENT\n - PARTIAL\n - PAID\n - CANCELED\n - PENDING\n" - } - ], - "responses": { - "200": { - "description": "OK.", + "type": "string", + "minLength": 1, + "maxLength": 32 + }, + { + "name": "patchCustomerRequest", + "in": "body", + "required": true, "schema": { - "title": "invoicingV2InvoicesAllGet200Response", "type": "object", "properties": { "_links": { "type": "object", + "readOnly": true, "properties": { "self": { "type": "object", + "readOnly": true, "properties": { "href": { "type": "string", - "description": "This is the endpoint of the resource that was created by the successful request." + "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" + } + } + } + } }, - "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." + "buyerInformation": { + "type": "object", + "properties": { + "companyTaxID": { + "type": "string", + "maxLength": 9, + "description": "Company's tax identifier. This is only used for eCheck service.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } }, - "method": { - "type": "string", - "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource." + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } } } }, - "previous": { + "defaultShippingAddress": { + "readOnly": true, "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." + "_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" + } } - } - }, - "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." + }, + "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", - "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- PENDING\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" - } - } - }, - "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" + }, + "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" + } } - } - }, - "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } + }, + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { + "type": "string", + "readOnly": true, + "description": "The creator of the Shipping Address." } } } @@ -98131,1752 +50339,2287 @@ } } } - }, - "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`, `CANCELED` or `PENDING`.", - "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" + "Customer" ], - "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", + "operationId": "patchCustomer", "x-devcenter-metaData": { - "categoryTag": "Invoicing", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" + "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", - "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 - } + "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": "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" - } - ] + "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", - "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." + "readOnly": true, + "description": "Link to the Customer.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, - "update": { + "paymentInstruments": { "type": "object", + "readOnly": true, "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." + "readOnly": true, + "description": "Link to the Customers Payment Instruments.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, - "deliver": { + "shippingAddress": { "type": "object", + "readOnly": true, "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." + "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 }, - "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." - } - } + "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" } } }, - "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" + "clientReferenceInformation": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Client-generated order reference or tracking number.\n", + "maxLength": 50 + } + } }, - "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- PENDING\n" + "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 + } + } + } }, - "customerInformation": { + "defaultPaymentInstrument": { "type": "object", - "description": "Contains all of the customer-related fields for the invoice.", "properties": { - "name": { + "id": { "type": "string", - "maxLength": 100, - "description": "Payer name for the invoice." - }, - "email": { + "description": "The Id of the Customers default Payment Instrument\n" + } + } + }, + "defaultShippingAddress": { + "type": "object", + "properties": { + "id": { "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "merchantCustomerId": { + "description": "The Id of the Customers default Shipping Address\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "company": { + "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": { - "name": { + "_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", - "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" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Payment Instrument Token." + }, + "object": { + "type": "string", + "readOnly": true, + "example": "paymentInstrument", + "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" + }, + "default": { + "type": "boolean", + "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" + }, + "bankAccount": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 18, + "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" + } + } + }, + "card": { + "type": "object", + "properties": { + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" + }, + "issueNumber": { + "type": "string", + "maxLength": 2, + "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" + }, + "startMonth": { + "type": "string", + "maxLength": 2, + "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "startYear": { + "type": "string", + "maxLength": 4, + "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" + }, + "useAs": { + "type": "string", + "example": "pinless debit", + "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" + }, + "hash": { + "type": "string", + "minLength": 32, + "maxLength": 34, + "readOnly": true, + "description": "Hash value representing the card.\n" + }, + "tokenizedInformation": { + "type": "object", + "properties": { + "requestorID": { + "type": "string", + "maxLength": 11, + "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" + }, + "transactionType": { + "type": "string", + "maxLength": 1, + "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "companyTaxID": { + "type": "string", + "maxLength": 9, + "description": "Company's tax identifier. This is only used for eCheck service.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\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": { + "defaultShippingAddress": { + "readOnly": true, "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" + "_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" + } + } + } + } }, - "discountAmount": { + "id": { "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." + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Shipping Address Token." }, - "minimumPartialAmount": { - "type": "number", - "description": "The minimum partial amount required to pay the invoice." + "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" }, - "taxDetails": { + "shipTo": { "type": "object", - "description": "Contains all of the tax-related fields for the invoice.", "properties": { - "type": { + "firstName": { "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" + "maxLength": 60, + "description": "First name of the recipient.\n" }, - "amount": { + "lastName": { "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" + "maxLength": 60, + "description": "Last name of the recipient.\n" }, - "rate": { + "company": { "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" + "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" } } }, - "freight": { + "metadata": { "type": "object", - "description": "Contains all of the shipping-related fields for the invoice.", + "readOnly": true, "properties": { - "amount": { - "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "taxRate": { - "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "creator": { "type": "string", - "maxLength": 7 + "readOnly": true, + "description": "The creator of the Shipping Address." } } } } - }, - "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + }, + "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." + } } } } } } - }, - "invoiceHistory": { + } + } + }, + "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": { - "event": { + "type": { "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" + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, - "date": { + "message": { "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" + "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" }, - "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\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" + } + ] + } } }, - "400": { - "description": "Invoicing service is not enabled.", + "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": { - "title": "invoicingV2InvoicesGet400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ + } + }, + "examples": { + "application/json": { + "errors": [ { - "field": "customerInformation.email", - "reason": "Invalid email" + "type": "notFound", + "message": "Profile not found" } ] } } }, - "404": { - "description": "Invoice does not exist.", + "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": { - "title": "invoicingV2InvoicesGet404Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "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" }, - "example": { - "submitTimeUtc": "2019-07-01T21:36:29Z", - "status": "NOTFOUND", - "reason": "NOT_FOUND", - "message": "Invoice does not exist." + "clientReferenceInformation": { + "code": "TC50171_3" + }, + "merchantDefinedInformation": [ + { + "name": "data1", + "value": "Your customer data" + } + ] + } + }, + "example1": { + "summary": "Update Customers default Payment Instrument", + "value": { + "defaultPaymentInstrument": { + "id": "paymentInstrumentId" } } }, - "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." + "example2": { + "summary": "Update Customers default Shipping Address", + "value": { + "defaultShippingAddress": { + "id": "shippingAddressId" } } } } }, - "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" - ], + "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": "id", - "in": "path", + "name": "profile-id", + "in": "header", + "description": "The Id of a profile containing user specific TMS configuration.", + "required": false, "type": "string", - "description": "The invoice number.", - "required": true + "minLength": 36, + "maxLength": 36, + "x-hide-field": true }, { - "name": "updateInvoiceRequest", - "in": "body", - "description": "Updating the invoice does not resend the invoice automatically. You must resend the invoice separately.", + "name": "customerId", + "in": "path", + "description": "The Id of a Customer.", "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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "company": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" - } - } - } - } - }, - "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 15, - "description": "Total discount amount applied to the order.\n" - }, - "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" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - } - } - }, - "freight": { - "type": "object", - "description": "Contains all of the shipping-related fields for the 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" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "taxRate": { - "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", - "type": "string", - "maxLength": 7 - } - } - } - } - }, - "lineItems": { - "type": "array", - "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - } - } - } - } - } - } - }, - "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" - } - ] - } - } - } + "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": { - "200": { - "description": "OK.", + "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": { - "title": "invoicingV2InvoicesPut200Response", "type": "object", + "readOnly": true, "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- PENDING\n" - }, - "customerInformation": { - "type": "object", - "description": "Contains all of the customer-related fields for the invoice.", - "properties": { - "name": { - "type": "string", - "maxLength": 100, - "description": "Payer name for the invoice." - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" - }, - "company": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" - } - } - } - } - }, - "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - } - } - }, - "freight": { + "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", - "description": "Contains all of the shipping-related fields for the invoice.", + "readOnly": true, "properties": { - "amount": { + "name": { "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + "readOnly": true, + "description": "The name of the field that caused the error." }, - "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", + "location": { "type": "string", - "maxLength": 7 + "readOnly": true, + "description": "The location of the field that caused the error." } } } } - }, - "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - } - } - } } } } + } + }, + "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" }, - "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" + "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." + } + } } - }, - "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" + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "forbidden", + "message": "Request not permitted" } - }, - "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 + ] + } + } + }, + "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." + } } - }, - "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" + } + } + } + }, + "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." + } + ] + } } }, - "400": { - "description": "Field validation errors.", + "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": { - "title": "invoicingV2InvoicesPut400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ + } + }, + "examples": { + "application/json": { + "errors": [ { - "field": "customerInformation.email", - "reason": "Invalid email" + "type": "notFound", + "message": "Profile not found" } ] } } }, - "404": { - "description": "Invoice does not exist.", + "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": { - "title": "invoicingV2InvoicesPut404Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:36:29Z", - "status": "NOTFOUND", - "reason": "NOT_FOUND", - "message": "Invoice does not exist." } } + } + } + } + }, + "/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 }, - "default": { - "description": "Unexpected error.", + { + "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": { - "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" + "_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" + } + } + } + } }, - "status": { + "id": { "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Shipping Address Token." }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" + "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" }, - "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 + "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" + } } }, - "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" + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { + "type": "string", + "readOnly": true, + "description": "The creator of the Shipping Address." + } } - ] + } } } } - } - } - }, - "/invoicing/v2/invoices/{id}/delivery": { - "post": { + ], "tags": [ - "invoices" + "Customer Shipping Address" ], - "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", + "operationId": "postCustomerShippingAddress", "x-devcenter-metaData": { - "categoryTag": "Invoicing", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" + "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", - "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 - } + "application/json;charset=utf-8" ], "x-depends": { "example": { - "path": "/invoicing/v2/invoices", + "path": "/tms/v2/customers/{customerId}", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", - "destinationField": "id", + "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { - "200": { - "description": "OK.", + "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": { - "title": "invoicingV2InvoicesSend200Response", "type": "object", "properties": { "_links": { "type": "object", + "readOnly": true, "properties": { "self": { "type": "object", + "readOnly": true, "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." + "readOnly": true, + "description": "Link to the Customers Shipping Address\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, - "cancel": { + "customer": { "type": "object", + "readOnly": true, "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." + "readOnly": true, + "description": "Link to the Customer\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } @@ -99884,1404 +52627,1212 @@ }, "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" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Shipping Address Token." }, - "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- PENDING\n" + "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" }, - "customerInformation": { + "shipTo": { "type": "object", - "description": "Contains all of the customer-related fields for the invoice.", "properties": { - "name": { + "firstName": { "type": "string", - "maxLength": 100, - "description": "Payer name for the invoice." + "maxLength": 60, + "description": "First name of the recipient.\n" }, - "email": { + "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": 255, - "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + "maxLength": 60, + "description": "First line of the shipping address.\n" }, - "merchantCustomerId": { + "address2": { "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" + "maxLength": 60, + "description": "Second line of the shipping address.\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" - } - } - } - } - }, - "invoiceInformation": { - "type": "object", - "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", - "properties": { - "invoiceNumber": { + "locality": { "type": "string", - "description": "Invoice Number." + "maxLength": 50, + "description": "City of the shipping address.\n" }, - "description": { + "administrativeArea": { "type": "string", - "maxLength": 2000, - "description": "The description included in the invoice." + "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" }, - "dueDate": { + "postalCode": { "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" + "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" }, - "allowPartialPayments": { - "type": "boolean", - "description": "If set to `true`, the payer can make a partial invoice payment." + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", + "maxLength": 2 }, - "paymentLink": { + "email": { "type": "string", - "description": "Returns the payment link to an invoice when the invoice status is `SENT`, `CREATED`, `PARTIAL`, or `PAID`." + "maxLength": 320, + "description": "Email associated with the shipping address.\n" }, - "deliveryMode": { + "phoneNumber": { "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" + "maxLength": 15, + "description": "Phone number associated with the shipping address.\n" } } }, - "orderInformation": { + "metadata": { "type": "object", - "description": "Contains all of the order-related fields for the invoice.", + "readOnly": true, "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - } - } - }, - "freight": { + "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", - "description": "Contains all of the shipping-related fields for the invoice.", + "readOnly": true, "properties": { - "amount": { + "name": { "type": "string", - "maxLength": 13, - "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + "readOnly": true, + "description": "The name of the field that caused the error." }, - "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", + "location": { "type": "string", - "maxLength": 7 + "readOnly": true, + "description": "The location of the field that caused the error." } } } } - }, - "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." - }, - "discountRate": { - "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" - }, - "totalAmount": { - "type": "string", - "maxLength": 13, - "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" - } - } - } } } } - }, - "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" + } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ + { + "type": "invalidRequest", + "message": "Invalid HTTP Body" } - }, - "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" + ] + } + } + }, + "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" + } + ] + } } }, - "400": { - "description": "Requested action is not allowed.", + "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": { - "title": "invoicingV2InvoicesSend400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ + } + }, + "examples": { + "application/json": { + "errors": [ { - "field": "customerInformation.email", - "reason": "Invalid email" + "type": "conflict", + "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, - "404": { - "description": "Invoice does not exist.", + "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": { - "title": "invoicingV2InvoicesSend404Response", "type": "object", + "readOnly": true, "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": { + "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": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:36:29Z", - "status": "NOTFOUND", - "reason": "NOT_FOUND", - "message": "Invoice does not exist." + } + } + } + }, + "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" } } }, - "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." + "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" } } } } - } - }, - "/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" - ], + }, + "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": "id", + "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", - "description": "The invoice number.", - "required": true + "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": "/invoicing/v2/invoices", + "path": "/tms/v2/customers/{customerId}", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", - "destinationField": "id", + "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { - "description": "OK.", + "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": "invoicingV2InvoicesCancel200Response", + "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", - "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." + "readOnly": true, + "description": "Link to the current page.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } }, - "update": { + "first": { "type": "object", + "readOnly": true, "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." + "readOnly": true, + "description": "Link to the first page.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } }, - "deliver": { + "prev": { "type": "object", + "readOnly": true, "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." + "readOnly": true, + "description": "Link to the previous page.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } }, - "cancel": { + "next": { "type": "object", + "readOnly": true, "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." + "readOnly": true, + "description": "Link to the next page.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } - } - } - }, - "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- PENDING\n" - }, - "customerInformation": { - "type": "object", - "description": "Contains all of the customer-related fields for the invoice.", - "properties": { - "name": { - "type": "string", - "maxLength": 100, - "description": "Payer name for the invoice." - }, - "email": { - "type": "string", - "maxLength": 255, - "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" - }, - "merchantCustomerId": { - "type": "string", - "maxLength": 100, - "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" }, - "company": { + "last": { "type": "object", + "readOnly": true, "properties": { - "name": { + "href": { "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" + "readOnly": true, + "description": "Link to the last page.\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } } } }, - "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" - } - } + "offset": { + "type": "integer", + "readOnly": true, + "default": 0, + "example": 0, + "description": "The offset parameter supplied in the request." }, - "orderInformation": { + "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", - "description": "Contains all of the order-related fields for the invoice.", + "readOnly": true, + "description": "Shipping Address Resources.\n", "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" - }, - "amount": { - "type": "string", - "maxLength": 13, - "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" - }, - "rate": { - "type": "string", - "maxLength": 6, - "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" - } - } - }, - "freight": { - "type": "object", - "description": "Contains all of the shipping-related fields for the 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" - }, - "taxable": { - "type": "boolean", - "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" - }, - "taxRate": { - "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", - "type": "string", - "maxLength": 7 - } - } - } - } - }, - "lineItems": { + "shippingAddresses": { "type": "array", - "maxItems": 30, + "readOnly": true, "items": { "type": "object", - "description": "List of the line items from the order, which are included in an invoice.", "properties": { - "productSku": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "discountAmount": { - "type": "string", - "maxLength": 13, - "description": "Discount applied to the item." + "_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" + } + } + } + } }, - "discountRate": { + "id": { "type": "string", - "maxLength": 6, - "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Shipping Address Token." }, - "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" + "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" }, - "taxRate": { - "type": "string", - "maxLength": 7, - "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + "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" + } + } }, - "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" + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { + "type": "string", + "readOnly": true, + "description": "The creator of the Shipping Address." + } + } } } } } } } - }, - "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.", + "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": { - "title": "invoicingV2InvoicesCancel400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "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." + } + } + } } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ + } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ { - "field": "customerInformation.email", - "reason": "Invalid email" + "type": "invalidRequest", + "message": "Invalid HTTP Body" } ] } } }, - "404": { - "description": "Invoice does not exist.", + "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": { - "title": "invoicingV2InvoicesCancel404Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "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." + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "forbidden", + "message": "Request not permitted" + } + ] } } - } - } - } - }, - "/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.\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" - } - } - } + }, + "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" }, - "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" - } + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" } - } - } - ], - "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", + "readOnly": true, "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}$" - } + "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." } - }, - "deliveryLanguage": { - "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", - "type": "string", - "maxLength": 6 - }, - "defaultCurrencyCode": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "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" } } } } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Token not found" + } + ] + } } }, - "400": { - "description": "Could not update the invoice settings for this merchant.", + "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": { - "title": "invoicingV2InvoiceSettingsPut400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ + } + }, + "examples": { + "application/json": { + "errors": [ { - "field": "customerInformation.email", - "reason": "Invalid email" + "type": "notAvailable", + "message": "Token not available." } ] } } }, - "default": { - "description": "Unexpected error.", + "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": { - "title": "invoicingV2InvoiceSettingsPut502Response", "type": "object", + "readOnly": true, "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." + "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." + } + } + } } - }, - "example": { - "submitTimeUtc": "2018-06-12T09:27:20.000Z", - "status": "SERVER_ERROR", - "reason": "SERVER_ERROR", - "message": "Error - General system failure." + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Profile not found" + } + ] } } - } - }, - "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" + }, + "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": [ - "invoiceSettings" + "Customer Shipping Address" ], - "summary": "Get Invoice Settings", - "description": "Allows you to retrieve the invoice settings for the payment page.", - "operationId": "getInvoiceSettings", + "operationId": "getCustomerShippingAddress", "x-devcenter-metaData": { - "categoryTag": "Invoicing", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" + "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" }, - "consumes": [ - "application/json;charset=utf-8" - ], "produces": [ - "application/json", - "application/hal+json", - "application/json;charset=utf-8", - "application/hal+json;charset=utf-8" + "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": "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" - } + "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": { - "submitTimeUtc": { + "_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", - "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" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Shipping Address Token." }, - "invoiceSettingsInformation": { + "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": { - "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.", + "firstName": { "type": "string", - "maxLength": 10000000 + "maxLength": 60, + "description": "First name of the recipient.\n" }, - "merchantDisplayName": { - "description": "The merchant's display name shown on the invoice.", + "lastName": { "type": "string", - "maxLength": 100 + "maxLength": 60, + "description": "Last name of the recipient.\n" }, - "customEmailMessage": { - "description": "The content of the email message that we send to your customers.", + "company": { "type": "string", - "maxLength": 2000 + "maxLength": 60, + "description": "Company associated with the shipping address.\n" }, - "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" + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n" }, - "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}$" - } - } + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n" }, - "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`.", + "locality": { "type": "string", - "maxLength": 6 + "maxLength": 50, + "description": "City of the shipping address.\n" }, - "defaultCurrencyCode": { + "administrativeArea": { "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + "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" }, - "payerAuthentication3DSVersion": { - "description": "The 3D Secure payer authentication status for a merchant's invoice payments.", - "type": "boolean", - "default": false + "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" }, - "showVatNumber": { - "description": "Display VAT number on Invoice.", - "type": "boolean", - "default": false + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", + "maxLength": 2 }, - "vatRegistrationNumber": { + "email": { "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" + "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." } } } @@ -101289,937 +53840,477 @@ } }, "400": { - "description": "Could not get the invoice settings for this merchant.", + "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": { - "title": "invoicingV2InvoiceSettingsGet400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "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." + } + } + } } } } } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ + } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ { - "field": "customerInformation.email", - "reason": "Invalid email" + "type": "invalidRequest", + "message": "Invalid HTTP Body" } ] } } }, - "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." - } + "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" }, - "example": { - "submitTimeUtc": "2018-06-12T09:27:20.000Z", - "status": "SERVER_ERROR", - "reason": "SERVER_ERROR", - "message": "Error - General system failure." + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" } - } - } - } - } - }, - "/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", + "readOnly": true, "properties": { - "users": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "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" - } - } + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, - "customFields": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "users": [ + } + }, + "examples": { + "application/json": { + "errors": [ { - "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" - } + "type": "forbidden", + "message": "Request not permitted" } ] } } }, - "400": { - "description": "Invalid request.", + "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", - "title": "umsV1UsersGet400Response", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Token not found" + } + ] + } } }, - "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" - } + "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" }, - "example": { - "organizationId": "merchantId", - "userName": "userName", - "role": "custom", - "permissionId": "CustomerProfileViewPermission" + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" } - } - } - ], - "responses": { - "200": { - "description": "OK", + }, "schema": { "type": "object", - "title": "umsV1UsersGet200Response", + "readOnly": true, "properties": { - "users": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "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" - } - } + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, - "customFields": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." } } } } - }, - "example": { - "users": [ + } + }, + "examples": { + "application/json": { + "errors": [ { - "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" + "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" + } ] } } }, - "400": { - "description": "Invalid request.", + "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", - "title": "umsV1UsersGet400Response", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } } } - }, - "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" - ], + }, + "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": "taxRequest", + "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": { - "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": "Brief description of the order or any comment you wish to add to the order." - } - } - }, - "taxInformation": { - "type": "object", - "properties": { - "reportingDate": { - "type": "string", - "maxLength": 8, - "description": "Reporting date of transaction. Format: YYYYMMDD. Defaults to current date if not specified.\nOptional for U.S., Canadian, international tax, and value added taxes.\n" - }, - "dateOverrideReason": { - "type": "string", - "maxLength": 50, - "description": "If a past or future date is specified in `orderInformation.invoiceDetails.invoiceDate`, then provide the reason for that for audit purposes.\nTypical reasons include: 'Return', 'Layaway', 'Imported'.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" - }, - "nexus": { - "description": "Comma-separated list of states or provinces in which merchandise is taxable. Note merchandise may be still be non-taxable or tax exempt depending on the product taxability. Indicate the type of product you are selling in the product code field for product-level taxability rules to be applied. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.noNexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", - "type": "array", - "items": { - "type": "string", - "maxLength": 2 - } - }, - "noNexus": { - "description": "Comma-separated list of states or provinces where you do not have nexus. Check with a tax advisor to determine where your business has nexus. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province.\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.nexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", - "type": "array", - "items": { - "type": "string", - "maxLength": 2 - } - }, - "showTaxPerLineItem": { - "type": "string", - "description": "Whether or not to display tax amounts for each line item. This field can contain one of the following values:\n- `Yes` - Display tax amounts for each line item\n- `No` (default) - Do not display tax amounts for each line item\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" - }, - "commitIndicator": { - "type": "boolean", - "description": "Indicates whether this is a committed tax transaction. For a committed tax transaction, the status in the Tax Detail Report is \"Committed.\" For an uncommitted tax transaction, the status in the Tax Detail Report is \"Uncommitted.\" Possible values:\n- `true`: This is a committed tax transaction.\n- `false` (default): This is not a committed tax transaction.\n\nA committed tax request is a tax service request that sets the status field in the Tax Detail Report to committed.\nThe committed status indicates that the amount calculated by the tax service is included in the amount of a capture or credit.\n\nUse a void service request to cancel a committed tax request or a committed refund tax request. The void transaction is included as a separate entry in the Tax Detail Report. The value of the status field is cancelled. The value of the link ID is the request ID of the committed tax request or refund tax request that was voided. You can use the value of the link ID to reconcile your orders.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" - }, - "refundIndicator": { - "type": "boolean", - "description": "Indicates whether this is a refund tax transaction. For a refund tax transaction, amounts in the Tax Detail Report will be negative.\nPossible values:\n- `true`: This is a refund tax transaction.\n- `false` (default): This is not a refund tax transaction.\n\nA refund tax request is a tax service request that sets the transaction type field in the Tax Detail Report to refunded and makes the reported amount negative.\nTax amounts are returned as positive amounts in reply messages, but they are saved in reports as negative amounts which enables the reporting software to accurately calculate the aggregate amounts.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" - } - } - }, - "orderInformation": { + "_links": { "type": "object", + "readOnly": true, "properties": { - "amountDetails": { - "type": "object", - "properties": { - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } - } - }, - "billTo": { - "type": "object", - "properties": { - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the billing street address.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the billing street address.\n\n#### Tax Calculation\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "Credit card billing city.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes only. Not applicable to international and value added taxes.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 2, - "description": "Credit card billing state or province.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\nIf the billing country is the U.S., the 9-digit postal code must follow this format:\n\n[5 digits][dash][4 digits]\n\n**Example**: 12345-6789\n\nIf the billing country is Canada, the 6-digit postal code must follow this format:\n\n[alpha][numeric][alpha] [numeric][alpha][numeric]\n\n**Example**: A1B 2C3\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Credit card billing country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\nIf `orderInformation.shipTo.country` is not provided, `orderInformation.billTo.country` is used in its place. If `orderInformation.billTo.country` is set to `US` or `CA`, then `orderInformation.billTo.postalCode` and `orderInformation.billTo.administrativeArea` are also required.\n\n#### Tax Calculation\nRequired for U.S., Canadian, international and value added taxes.\n" - } - } - }, - "shippingDetails": { - "type": "object", - "properties": { - "shipFromLocality": { - "type": "string", - "maxLength": 50, - "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "shipFromCountry": { - "type": "string", - "maxLength": 2, - "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" - }, - "shipFromPostalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "shipFromAdministrativeArea": { - "type": "string", - "maxLength": 2, - "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - } - } - }, - "shipTo": { - "type": "object", - "properties": { - "country": { - "type": "string", - "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", - "maxLength": 2 - }, - "administrativeArea": { - "type": "string", - "maxLength": 50, - "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "locality": { - "type": "string", - "maxLength": 50, - "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 32, - "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address1": { - "type": "string", - "maxLength": 60, - "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address2": { - "type": "string", - "maxLength": 60, - "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - }, - "address3": { - "type": "string", - "maxLength": 60, - "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" - } - } - }, - "lineItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "productSKU": { - "type": "string", - "maxLength": 255, - "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" - }, - "productCode": { - "type": "string", - "maxLength": 255, - "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" - }, - "quantity": { - "type": "integer", - "minimum": 1, - "maximum": 999999999, - "default": 1, - "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "productName": { - "type": "string", - "maxLength": 255, - "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - }, - "unitPrice": { - "type": "string", - "maxLength": 15, - "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" - }, - "taxAmount": { - "type": "string", - "maxLength": 15, - "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" - }, - "orderAcceptance": { - "type": "object", - "description": "The Order Acceptance address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Acceptance address in your tax service request for some or all of your transactions based on your business.", - "properties": { - "locality": { - "type": "string", - "maxLength": 50, - "description": "Order acceptance city. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 2, - "description": "Order acceptance state. This field is not used unless the `orderInformation.orderAcceptance.locality` and `orderInformation.orderAcceptance.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Order acceptance postal code. This field is not used unless the `orderInformation.orderAcceptance.locality`, `orderInformation.orderAcceptance.administrativeArea`, and `orderInformation.orderAcceptance.country` fields are present.\nMust be sent at the line or offer level to be surfaced in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Order acceptance country. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.locality` fields are present. Use the [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - } - } - }, - "orderOrigin": { - "type": "object", - "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.", - "properties": { - "locality": { - "type": "string", - "maxLength": 50, - "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "administrativeArea": { - "type": "string", - "maxLength": 2, - "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "postalCode": { - "type": "string", - "maxLength": 10, - "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "country": { - "type": "string", - "maxLength": 2, - "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - } - } - }, - "shipFromCountry": { - "type": "string", - "maxLength": 2, - "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" - }, - "shipFromAdministrativeArea": { - "type": "string", - "maxLength": 2, - "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "shipFromLocality": { - "type": "string", - "maxLength": 50, - "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "shipFromPostalCode": { - "type": "string", - "maxLength": 10, - "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" - }, - "buyerVatRegistrationNumber": { - "type": "string", - "maxLength": 25, - "description": "Buyer's VAT registration number.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" - }, - "sellerVatRegistrationNumber": { - "type": "string", - "maxLength": 25, - "description": "VAT seller registration number.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" - } - } - } - }, - "invoiceDetails": { - "type": "object", - "properties": { - "invoiceDate": { - "type": "string", - "maxLength": 8, - "description": "Date of the tax calculation. Use format YYYYMMDD. You can provide a date in the past if you are calculating tax for a refund and want to know what the tax was on the date the order was placed.\nYou can provide a date in the future if you are calculating the tax for a future date, such as an upcoming tax holiday.\n\nThe default is the date, in Pacific time, that the bank receives the request.\nKeep this in mind if you are in a different time zone and want the tax calculated with the rates that are applicable on a specific date.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" - } - } - }, - "orderAcceptance": { + "self": { "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.", + "readOnly": true, "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": { + "href": { "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" + "readOnly": true, + "description": "Link to the Customers Shipping Address\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, - "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": { + "customer": { + "type": "object", + "readOnly": true, + "properties": { + "href": { "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" + "readOnly": true, + "description": "Link to the Customer\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, - "merchantInformation": { + "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": { - "vatRegistrationNumber": { + "firstName": { "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" + "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" } } }, - "buyerInformation": { + "metadata": { "type": "object", + "readOnly": true, "properties": { - "vatRegistrationNumber": { + "creator": { "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" + "readOnly": true, + "description": "The creator of the Shipping Address." } } } @@ -102227,26 +54318,104 @@ } } ], + "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": { - "201": { - "description": "Successful response.", + "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": { - "title": "vasV2PaymentsPost201Response", "type": "object", "properties": { "_links": { "type": "object", + "readOnly": true, "properties": { - "void": { + "self": { "type": "object", + "readOnly": true, "properties": { "href": { "type": "string", - "description": "This is the endpoint of the resource that was created by the successful request." - }, - "method": { + "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", - "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource." + "readOnly": true, + "description": "Link to the Customer\n", + "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } @@ -102254,2630 +54423,22160 @@ }, "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" + "minLength": 1, + "maxLength": 32, + "description": "The Id of the Shipping Address Token." }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" + "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" }, - "clientReferenceInformation": { + "shipTo": { "type": "object", "properties": { - "code": { + "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": "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" + "description": "City of the shipping address.\n" }, - "submitLocalDateTime": { + "administrativeArea": { "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" + "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" }, - "ownerMerchantId": { + "postalCode": { "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" + "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" }, - "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": { + "country": { "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" + "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", + "maxLength": 2 }, - "taxableAmount": { + "email": { "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" + "maxLength": 320, + "description": "Email associated with the shipping address.\n" }, - "taxAmount": { + "phoneNumber": { "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" - } - } + "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." } - }, - "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" - } - } + } + } + } + } + }, + "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." } - }, - "amountDetails": { - "type": "object", - "properties": { - "totalAmount": { - "type": "string", - "maxLength": 19, - "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" - }, - "currency": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - } + } + } + } + } + }, + "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" + } + ] + } } }, - "400": { - "description": "Invalid request.", + "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", - "title": "vasV2PaymentsPost400Response", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." + } + ] + } } }, - "502": { - "description": "Unexpected system error or system timeout.", + "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": { - "title": "vasV2PaymentsPost502Response", "type": "object", + "readOnly": true, "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." + "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" + } + ] + } } - } - }, - "x-example": { - "example0": { - "summary": "Basic Tax Calculation Request", - "sample-name": "Tax Calculation", - "value": { - "clientReferenceInformation": { - "code": "TAX_TC001" + }, + "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" }, - "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 - }, + "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": [ { - "productSKU": "07-12-00658", - "productName": "Carbonated Water", - "productCode": 5020.11, - "quantity": 1, - "unitPrice": 9001 + "type": "notFound", + "message": "Profile not found" } ] - }, - "taxInformation": { - "showTaxPerLineItem": "Yes" } } }, - "example1": { - "summary": "Tax Refund Request", - "sample-name": "Tax Refund Calculation", - "value": { - "clientReferenceInformation": { - "code": "TAX_TC001" + "500": { + "description": "Unexpected error.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" }, - "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 - }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "examples": { + "application/json": { + "errors": [ { - "productSKU": "07-12-00658", - "productName": "Carbonated Water", - "productCode": 5020.11, - "quantity": 1, - "unitPrice": 9001 + "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" }, - "taxInformation": { - "showTaxPerLineItem": "Yes", - "refundIndicator": true - }, - "merchantInformation": { - "vatRegistrationNumber": "abcdef" + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" } } }, - "example2": { - "summary": "Committed Tax Call Request", - "sample-name": "Committed Tax Calculation", - "value": { - "clientReferenceInformation": { - "code": "TAX_TC001" + "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" }, - "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 - }, + "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": [ { - "productSKU": "07-12-00658", - "productName": "Carbonated Water", - "productCode": 5020.11, - "quantity": 1, - "unitPrice": 9001 + "type": "invalidRequest", + "message": "Invalid HTTP Body" } ] - }, - "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" + "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" }, - "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 - }, + "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": [ { - "productSKU": "07-12-00658", - "productName": "Carbonated Water", - "productCode": 5020.11, - "quantity": 1, - "unitPrice": 9001 + "type": "forbidden", + "message": "Request not permitted" } ] - }, - "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, + }, + "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": { - "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": "Brief description of the order or any comment you wish to add to the order." - }, - "partner": { - "type": "object", - "properties": { - "solutionId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" - }, - "developerId": { - "type": "string", - "maxLength": 8, - "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" - } + "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" + } + ] + } } }, - { - "name": "id", - "in": "path", - "description": "The tax ID returned from a previous request.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Successful response.", + "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": { - "title": "vasV2TaxVoid200Response", "type": "object", + "readOnly": true, "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.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + "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" + } + ] + } } }, - "400": { - "description": "Invalid request.", + "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": { - "title": "vasV2TaxVoidsPost400Response", "type": "object", + "readOnly": true, "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": { + "errors": { "type": "array", + "readOnly": true, "items": { "type": "object", + "readOnly": true, "properties": { - "field": { + "type": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, - "reason": { + "message": { "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + "readOnly": true, + "description": "The detailed message related to the type." } } } } } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." + } + ] + } } }, - "502": { - "description": "Unexpected system error or system timeout.", + "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": { - "title": "vasV2TaxVoidsPost502Response", "type": "object", + "readOnly": true, "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." + "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" + } + ] + } } - } - }, - "x-example": { - "example0": { - "summary": "Void a Committed Tax Call", - "value": { - "clientReferenceInformation": { - "code": "TAX_TC001" + }, + "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" } }, - "depends": { - "example": { - "path": "/vas/v2/tax", - "verb": "patch", - "exampleId": "example0" - }, - "fieldMapping": [ - { - "sourceField": "id", - "destinationField": "id", - "fieldTypeInDestination": "path" - } - ] - } - } - } - } - }, - "/boarding/v1/registrations": { - "post": { - "tags": [ - "Merchant Boarding" - ], - "x-devcenter-metaData": { - "categoryTag": "Merchant_Boarding", - "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" - }, - "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" - ], + "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", - "name": "v-c-idempotency-id", + "description": "The Id of a profile containing user specific TMS configuration.", + "required": false, "type": "string", - "description": "defines idempotency of the request", - "required": false + "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", - "name": "postRegistrationBody", - "description": "Boarding registration data", "required": true, "schema": { "type": "object", "properties": { - "registrationInformation": { + "_links": { "type": "object", + "readOnly": true, "properties": { - "boardingRegistrationId": { + "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": 60, - "example": "1234124", - "readOnly": true + "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" }, - "submitTimeUtc": { + "expirationYear": { "type": "string", - "format": "date-time", - "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 + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, - "status": { + "type": { "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" + "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" }, - "boardingPackageId": { + "issueNumber": { "type": "string", - "maxLength": 60, - "example": 1004001 + "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" }, - "boardingFlow": { + "startMonth": { "type": "string", - "description": "Determines the boarding flow for this registration.\nPossible Values:\n - 'ENTERPRISE'\n - 'SMB'\n - 'ADDPRODUCT'\n" + "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" }, - "mode": { + "startYear": { "type": "string", - "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n" + "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" }, - "salesRepId": { + "useAs": { "type": "string", - "maxLength": 60, - "example": "Rep1" + "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" + } + } } } }, - "integrationInformation": { + "buyerInformation": { "type": "object", "properties": { - "oauth2": { + "companyTaxID": { + "type": "string", + "maxLength": 9, + "description": "Company's tax identifier. This is only used for eCheck service.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { - "client_id": { + "id": { "type": "string", - "maxLength": 32, - "example": "client123" + "maxLength": 26, + "description": "The value of the identification type.\n" }, - "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": { "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" + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, - "tenantInformation": { + "issuedBy": { "type": "object", "properties": { - "tenantId": { + "administrativeArea": { "type": "string", - "maxLength": 50, - "minLength": 1, - "description": "The TenantId is an external Solution Identifier given by Tech Partners like SAP.", - "example": "SAP123" + "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 } } } - }, - "required": [ - "solutionId" - ] + } } } } }, - "organizationInformation": { + "billTo": { "type": "object", "properties": { - "organizationId": { + "firstName": { "type": "string", - "maxLength": 30, - "minLength": 6, - "pattern": "^[0-9a-zA-Z_]+$", - "example": "merch-test1" + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" }, - "parentOrganizationId": { + "lastName": { "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" + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" }, - "childOrganizations": { - "readOnly": true, - "type": "array", - "items": { - "type": "string", - "maxLength": 30, - "minLength": 6, - "pattern": "^[0-9a-zA-Z_]+$", - "example": "transactional-org" - } + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" }, - "type": { + "address1": { "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" + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, - "status": { + "address2": { "type": "string", - "description": "Determines the status that the organization will be after being onboarded\nPossible Values:\n - 'LIVE'\n - 'TEST'\n - 'DRAFT'\n" + "maxLength": 60, + "description": "Additional address information.\n" }, - "configurable": { - "description": "This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products. Eventually this field will be deprecated and all organizations will be allowed for product configuration.", + "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", - "default": false, - "example": false + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, - "businessInformation": { + "bankTransferOptions": { "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": { + "SECCode": { "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": { + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "alternateName": { "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": { + "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": { - "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" + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Instrument Identifier.\n", + "example": "tms/v1/instrumentidentifiers/7010000000016241111" + } + } }, - "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 + "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" + } + } } - }, - "required": [ - "country", - "address1", - "locality" - ] + } }, - "timeZone": { + "id": { "type": "string", - "description": "Merchant perferred time zone\nPossible Values:\n- 'Pacific/Pago_Pago'\n- 'Pacific/Honolulu'\n- 'America/Anchorage'\n- 'America/Vancouver'\n- 'America/Los_Angeles'\n- 'America/Phoenix'\n- 'America/Edmonton'\n- 'America/Denver'\n- 'America/Winnipeg'\n- 'America/Mexico_City'\n- 'America/Chicago'\n- 'America/Bogota'\n- 'America/Indianapolis'\n- 'America/New_York'\n- 'America/La_Paz'\n- 'America/Halifax'\n- 'America/St_Johns'\n- 'America/Buenos_Aires'\n- 'America/Godthab'\n- 'America/Sao_Paulo'\n- 'America/Noronha'\n- 'Atlantic/Cape_Verde'\n- 'GMT'\n- 'Europe/Dublin'\n- 'Europe/Lisbon'\n- 'Europe/London'\n- 'Africa/Tunis'\n- 'Europe/Vienna'\n- 'Europe/Brussels'\n- 'Europe/Zurich'\n- 'Europe/Prague'\n- 'Europe/Berlin'\n- 'Europe/Copenhagen'\n- 'Europe/Madrid'\n- 'Europe/Budapest'\n- 'Europe/Rome'\n- 'Africa/Tripoli'\n- 'Europe/Monaco'\n- 'Europe/Malta'\n- 'Europe/Amsterdam'\n- 'Europe/Oslo'\n- 'Europe/Warsaw'\n- 'Europe/Stockholm'\n- 'Europe/Belgrade'\n- 'Europe/Paris'\n- 'Africa/Johannesburg'\n- 'Europe/Minsk'\n- 'Africa/Cairo'\n- 'Europe/Helsinki'\n- 'Europe/Athens'\n- 'Asia/Jerusalem'\n- 'Europe/Riga'\n- 'Europe/Bucharest'\n- 'Europe/Istanbul'\n- 'Asia/Riyadh'\n- 'Europe/Moscow'\n- 'Asia/Dubai'\n- 'Asia/Baku'\n- 'Asia/Tbilisi'\n- 'Asia/Calcutta'\n- 'Asia/Katmandu'\n- 'Asia/Dacca'\n- 'Asia/Rangoon'\n- 'Asia/Jakarta'\n- 'Asia/Saigon'\n- 'Asia/Bangkok'\n- 'Australia/Perth'\n- 'Asia/Hong_Kong'\n- 'Asia/Macao'\n- 'Asia/Kuala_Lumpur'\n- 'Asia/Manila'\n- 'Asia/Singapore'\n- 'Asia/Taipei'\n- 'Asia/Shanghai'\n- 'Asia/Seoul'\n- 'Asia/Tokyo'\n- 'Asia/Yakutsk'\n- 'Australia/Adelaide'\n- 'Australia/Brisbane'\n- 'Australia/Broken_Hill'\n- 'Australia/Darwin'\n- 'Australia/Eucla'\n- 'Australia/Hobart'\n- 'Australia/Lindeman'\n- 'Australia/Sydney'\n- 'Australia/Lord_Howe'\n- 'Australia/Melbourne'\n- 'Asia/Magadan'\n- 'Pacific/Norfolk'\n- 'Pacific/Auckland'\n", - "example": "America/Chicago" + "description": "The Id of the Instrument Identifier Token.\n" }, - "websiteUrl": { + "object": { "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" + "readOnly": true, + "example": "instrumentIdentifier", + "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, - "type": { + "state": { "type": "string", - "description": "Business type\nPossible Values:\n - 'PARTNERSHIP'\n - 'SOLE_PROPRIETORSHIP'\n - 'CORPORATION'\n - 'LLC'\n - 'NON_PROFIT'\n - 'TRUST'\n" + "readOnly": true, + "example": "ACTIVE", + "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, - "taxId": { + "type": { "type": "string", - "maxLength": 9, - "pattern": "\\d{9}", - "example": 254324 + "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n- enrollable token\n" }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4564561234 + "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" + } + } }, - "businessContact": { + "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": { - "firstName": { + "number": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "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" }, - "middleName": { + "expirationMonth": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, - "lastName": { + "expirationYear": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, - "phoneNumber": { + "securityCode": { "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4567890398 + "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" }, - "email": { + "routingNumber": { "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" + "description": "Bank routing number. This is also called the transit number.\n\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } - }, - "required": [ - "firstName", - "lastName", - "phoneNumber", - "email" - ] + } }, - "technicalContact": { + "tokenizedCard": { + "title": "tmsv2TokenizedCard", "type": "object", "properties": { - "firstName": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" }, - "middleName": { + "object": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" }, - "lastName": { + "accountReferenceId": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "description": "An identifier provided by the issuer for the account.\n" }, - "phoneNumber": { + "consumerId": { "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4567890398 + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." }, - "email": { + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { "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": { + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" }, - "middleName": { + "reason": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "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" }, - "lastName": { + "number": { "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "readOnly": true, + "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n" }, - "phoneNumber": { + "cryptogram": { "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4567890398 + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, - "email": { + "securityCode": { "type": "string", - "maxLength": 100, - "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", - "example": "test@test.com" - } - }, - "required": [ - "firstName", - "lastName", - "phoneNumber", - "email" - ] - }, - "merchantCategoryCode": { - "type": "string", - "maxLength": 4, - "pattern": "^\\d{3,4}$", - "example": 5300, - "description": "Industry standard Merchant Category Code (MCC)" - } - }, - "required": [ - "name" - ] - }, - "KYC": { - "type": "object", - "properties": { - "whenIsCustomerCharged": { - "type": "string", - "example": "ONETIMEBEFORE", - "description": "Possible values:\n- ONETIMEBEFORE\n- ONETIMEAFTER\n- OTHER" - }, - "whenIsCustomerChargedDescription": { - "type": "string", - "maxLength": 100 - }, - "offerSubscriptions": { - "type": "boolean", - "example": true - }, - "monthlySubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 30 - }, - "quarterlySubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 20 - }, - "semiAnnualSubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 50 - }, - "annualSubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 100 - }, - "timeToProductDelivery": { - "type": "string", - "description": "Possible values:\n- INSTANT\n- UPTO2\n- UPTO5\n- UPTO10\n- GREATERTHAN10" - }, - "estimatedMonthlySales": { - "type": "number", - "format": "currency", - "pattern": "^\\d{1,8}(\\.\\d{1,2})?$", - "example": 10000.5 - }, - "averageOrderAmount": { - "type": "number", - "format": "currency", - "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", - "example": 50.5 - }, - "largestExpectedOrderAmount": { - "type": "number", - "format": "currency", - "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", - "example": 100.5 - }, - "depositBankAccount": { - "type": "object", - "properties": { - "accountHolderName": { + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { "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" + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" }, - "accountType": { + "requestorId": { "type": "string", - "example": "checking", - "description": "Possible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings" + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" }, - "accountRoutingNumber": { + "enrollmentId": { "type": "string", - "maxLength": 9, - "pattern": "\\d{9}" + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" }, - "accountNumber": { + "tokenReferenceId": { "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 - } + "readOnly": true, + "description": "Unique ID for netwrok token.\n" }, - "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": { + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { "type": "object", + "description": "Card object used to create a network token\n", "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - }, - "features": { - "type": "object", - "description": "This is a map. The allowed keys are below. Value should be an object containing a sole boolean property - enabled.\n\n \n \n \n \n \n \n
cardPresent
cardNotPresent
\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "cardPresent", - "cardNotPresent" - ], - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - } - } - } + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, - "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." - }, - "unionPayInstitutionId": { - "type": "string", - "description": "Assigned by China Union Pay to identify the acquirer. Applicable for VPC processors." - }, - "dinersClubInstitutionId": { - "type": "string", - "description": "Assigned by Diners Club to identify the acquirer. Applicable for VPC processors." - }, - "countryCode": { - "type": "string", - "description": "ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors." - }, - "fileDestinationBin": { - "type": "string", - "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors." - } - } - }, - "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" + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + ], + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } } } } - }, - "visaAggregatorId": { - "type": "string", - "description": "This field is used as aggregator Id when Visa payment type is selected" - }, - "amexAggregatorId": { - "type": "string", - "description": "This field is used as aggregator Id when Amex payment type is selected" - }, - "masterCardAggregatorId": { - "type": "string", - "description": "This field is used as aggregator Id when Master Card payment type is selected" - }, - "sicCode": { + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { "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." + "description": "Unique identifier for the asset\n" }, - "enhancedData": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { "type": "string", - "description": "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" + "description": "Unique identifier for the asset\n" }, - "acquirerMerchantId": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { "type": "string", - "description": "Identifier assigned by the acquirer. Applicable for RUPAY, VPC and Six (six) processors." + "description": "Unique identifier for the asset\n" }, - "avsFormat": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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", - "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" + "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" }, - "amexTransactionAdviceAddendum1": { + "originalAuthorizedAmount": { "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": { + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { "type": "string", - "description": "Field used to identify the industry type of the merchant submitting the authorization request.\n\nValid values:\n`0` \u2013 unknown or unsure\n`A` \u2013 auto rental (EMV supported)\n`B` \u2013 bank/financial institution (EMV supported)\n`D` \u2013 direct marketing\n`F` \u2013 food/restaurant (EMV supported)\n`G` \u2013 grocery store/super market (EMV supported)\n`H` \u2013 hotel (EMV supported)\n`L` \u2013 limited amount terminal (EMV supported)\n`O` \u2013 oil company/automated fueling system (EMV supported)\n`P` \u2013 passenger transport (EMV supported)\n`R` \u2013 retail (EMV supported)\nApplicable for TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n \nPossible values:\n- 0\n- A\n- B\n- D\n- F\n- G\n- H\n- L\n- O\n- P\n- R" - }, - "sendAmexLevel2Data": { - "type": "boolean", - "description": "Field that indicates whether merchant will send level 2 data for Amex cards. Applicable for TSYS (tsys) processor." + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" }, - "softDescriptorType": { + "brandName": { "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" + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" }, - "vitalNumber": { + "currency": { "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." + "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" }, - "bankNumber": { + "maxLength": { "type": "string", - "description": "6 digit agent bank number provided by acquirer. Applicable for TSYS (tsys) processor." + "maxLength": 2, + "description": "This field contains the max length of the card.\n" }, - "chainNumber": { + "credentialType": { "type": "string", - "description": "6 digit chain number provided by acquirer. Applicable for TSYS (tsys) processor." + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" }, - "merchantBinNumber": { + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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", - "description": "6 digits acquirer bank identification number. Applicable for TSYS (tsys) processor." + "maxLength": 20, + "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, - "merchantLocationNumber": { + "accountFundingSourceSubType": { "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." + "maxLength": 20, + "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, - "storeID": { + "cardProduct": { "type": "string", - "description": "4 digits number used to identify a specific merchant store location within the member systems. Applicable for TSYS (tsys) processor." + "maxLength": 50, + "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, - "travelAgencyCode": { + "messageType": { "type": "string", - "description": "Contains travel agency code if airline ticket was issued by a travel agency. Applicable for TSYS (tsys) processor." + "maxLength": 1, + "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, - "travelAgencyName": { + "acceptanceLevel": { "type": "string", - "description": "Contains travel agency name if airline ticket was issued by travel agency. Applicable for TSYS (tsys) processor." + "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" }, - "settlementCurrency": { + "cardPlatform": { "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." + "maxLength": 20, + "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, - "enableMultiCurrencyProcessing": { + "comboCard": { "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" + "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" }, - "enablePosNetworkSwitching": { + "corporatePurchase": { "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." + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" }, - "enableDynamicCurrencyConversion": { + "healthCard": { "type": "boolean", - "description": "Enable dynamic currency conversion for a merchant." - }, - "merchantTier": { + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { "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." + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } - }, - "required": [ - "merchantId" - ] + } + } + } + }, + "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" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + ], + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "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": "retrieveBinDetails", + "in": "query", + "description": "Retrieve the Bin Details of PAN or network token", + "required": false, + "type": "boolean" + }, + { + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + ], + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "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": "retrieveBinDetails", + "in": "query", + "description": "Retrieve the Bin Details of PAN or network token", + "required": false, + "type": "boolean" + }, + { + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "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": "retrieveBinDetails", + "in": "query", + "description": "Retrieve the Bin Details of PAN or network token", + "required": false, + "type": "boolean" + }, + { + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } } - }, - "amexVendorCode": { - "type": "string", - "description": "Vendor code assigned by American Express. Applicable for TSYS (tsys) processor." - }, - "defaultAuthTypeCode": { - "type": "string", - "description": "Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version.\nApplicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoFINAL
Barclays HISOcnp, cp, hybridYesFINAL
\n \nPossible values:\n- PRE\n- FINAL\n- UNDEFINED" - }, - "masterCardAssignedId": { - "type": "string", - "description": "MAID aka MasterCard assigned ID, MasterCard equivalent of Merchant Verification Value by Visa. Applicable for VPC, GPX (gpx) and FDI Global (fdiglobal) processors." - }, - "enablePartialAuth": { - "type": "boolean", - "description": "Allow merchants to accept partial authorization approvals.\nApplicable for Elavon Americas (elavonamericas), VPC, GPX (gpx), FDI Global (fdiglobal), FDC Nashville (smartfdc), GPN (gpn), TSYS (tsys), American Express Direct (amexdirect), Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridNoNo
\n" - }, - "merchantCategoryCode": { - "type": "string", - "description": "Indicates type of business product or service of the merchant.\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), FDI Global (fdiglobal), RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect), CMCIC (cmcic), GPX (gpx), VPC, TSYS (tsys), EFTPOS, CUP, Paymentech Tampa (paymentechtampa), CB2A, Barclays (barclays2), Prisma (prisma) and GPN (gpn) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
BarclayscnpNo44^[0-9]+$
American Express Directcnp, cp, hybridYes44^[0-9]+$
\n" - }, - "sicCode": { - "type": "string", - "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." - }, - "foodAndConsumerServiceId": { - "type": "string", - "description": "Food and Consumer Service ID. Identifies the merchant as being certified and approved to accept Food Stamps. Applicable for GPX (gpx) processor." - }, - "enableSplitShipment": { - "type": "boolean", - "description": "Enables you to split an order into multiple shipments with multiple captures. This feature is provided by CyberSource and supports three different scenarios:\n\n* multiple authorizations\n* multiple captures\n* multiple authorizations with multiple captures\n\nApplicable for VPC processors.\n" - }, - "enableInterchangeOptimization": { - "type": "boolean", - "description": "Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors." - }, - "visaDelegatedAuthenticationId": { - "type": "string", - "description": "Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors." - }, - "creditCardRefundLimitPercent": { - "type": "string", - "description": "Blocks over-refunds when the aggregated refund amount is higher than the percentage set for this field. Applicable for GPX (gpx), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors." - }, - "businessCenterCreditCardRefundLimitPercent": { - "type": "string", - "description": "Limits refunds to the percentage set in this field. Applicable for GPX (gpx) and VPC processors." - }, - "allowCapturesGreaterThanAuthorizations": { - "type": "boolean", - "description": "Enables this merchant account to capture amounts greater than the authorization amount. Applicable for GPX (gpx), VPC, Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors." - }, - "enableDuplicateMerchantReferenceNumberBlocking": { - "type": "boolean", - "description": "Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors." - }, - "domesticMerchantId": { - "type": "boolean", - "description": "This is a local merchant ID used by merchants in addition to the conventional merchant ID. This value is sent to the issuer. Applicable for VPC and Prisma (prisma) processors." - }, - "processLevel3Data": { - "type": "string", - "description": "Indicates whether merchant processes Level 3 transactions.\nApplicable for TSYS (tsys), Barclays (barclays2), Paymentech Tampa (paymentechtampa), FDI Global (fdiglobal), Elavon Americas (elavonamericas) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
BarclayscnpNo
\n" - }, - "subMerchantId": { - "type": "string", - "description": "The ID assigned to the sub-merchant.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo120^[0-9a-zA-Z\-\_\,\\s.]+$
\n" - }, - "subMerchantBusinessName": { - "type": "string", - "description": "Sub-merchant's business name.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo137^[0-9a-zA-Z\-\_\,\\s.]+$
\n" - }, - "preferCobadgedSecondaryBrand": { - "type": "boolean", - "description": "It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors." - }, - "merchantDescriptorInformation": { + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + ], + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { "type": "object", - "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.", + "readOnly": true, "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": { + "href": { "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": { + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { "type": "string", - "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": { + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { "type": "string", - "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, hybridYes140URL
American Express DirectcpNo140URL
\n" - }, - "countryOfOrigin": { + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { "type": "string", - "description": "Country Cf Origin of merchant is applicable for VPC Processors and is dependent on governmentControlled attribute." + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" } } - }, - "governmentControlled": { - "type": "boolean", - "description": "Indicates whether the merchant is government controlled. Applicable for VPC processors." - }, - "dropBillingInfo": { - "type": "boolean", - "description": "This field is used to indicate whether the merchant wants to drop the billing information from the request. If this field is set to true, then the billing information will be dropped from the request. If this field is set to false, then the billing information will be sent in the request." } } - }, - "features": { - "type": "object", - "properties": { - "cardNotPresent": { - "type": "object", - "properties": { - "processors": { - "type": "object", - "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "amexdirect", - "barclays2", - "CUP", - "EFTPOS", - "fdiglobal", - "gpx", - "smartfdc", - "tsys", - "VPC" - ], + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "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": "retrieveBinDetails", + "in": "query", + "description": "Retrieve the Bin Details of PAN or network token", + "required": false, + "type": "boolean" + }, + { + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + ], + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + }, + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + }, + "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": "retrieveBinDetails", + "in": "query", + "description": "Retrieve the Bin Details of PAN or network token", + "required": false, + "type": "boolean" + }, + { + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + }, + "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": "retrieveBinDetails", + "in": "query", + "description": "Retrieve the Bin Details of PAN or network token", + "required": false, + "type": "boolean" + }, + { + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + ], + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + }, + "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": "retrieveBinDetails", + "in": "query", + "description": "Retrieve the Bin Details of PAN or network token", + "required": false, + "type": "boolean" + }, + { + "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 an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n# For details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "dateOfBirth": { + "type": "string", + "format": "date", + "example": "1960-12-30", + "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type.\n" + }, + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" + }, + "issuedBy": { + "type": "object", + "properties": { + "administrativeArea": { + "type": "string", + "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", + "maxLength": 20 + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n" + } + } + }, + "processingInformation": { + "type": "object", + "title": "tmsPaymentInstrumentProcessingInfo", + "properties": { + "billPaymentProgramEnabled": { + "type": "boolean", + "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" + }, + "bankTransferOptions": { + "type": "object", + "properties": { + "SECCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\n# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { "type": "object", + "readOnly": true, "properties": { - "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": { + "self": { "type": "object", + "readOnly": true, "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": { + "href": { "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": { + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } + }, + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { "type": "string", - "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": { + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { "type": "string", - "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" + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\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" + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } } } } } - }, - "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": { + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { "type": "string", - "format": "csv" + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" }, - "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." + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + } } } } - }, - "enableTerminalIdLookup": { - "type": "boolean", - "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor." } + }, + "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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" } } } @@ -104887,2874 +76586,22341 @@ } } } + } + } + } + } + } + } + } + } + } + }, + "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- enrollable token\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\n# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "title": "tmsv2TokenizedCard", + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Tokenized Card.\nexample: 'tms/v2/tokenized-cards/7010000000016241111'\n" + } + } + } + } + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The Id of the Tokenized Card.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "tokenizedCard", + "description": "The type.\nPossible Values:\n- tokenizedCard\n" + }, + "accountReferenceId": { + "type": "string", + "description": "An identifier provided by the issuer for the account.\n" + }, + "consumerId": { + "type": "string", + "maxLength": 36, + "description": "Identifier of the consumer within the wallet. Maximum 24 characters for VTS." + }, + "createInstrumentIdentifier": { + "type": "boolean", + "description": "Specifies whether the InstrumentId should be created (true) or not (false).\nPossible Values:\n- `true`: The InstrumentId should be created.\n- `false`: The InstrumentId should be created.\n" + }, + "source": { + "type": "string", + "description": "Source of the payment instrument.\nPossible Values:\n- ONFILE\n- TOKEN\n- ISSUER\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "State of the network token or network token provision.\nPossible Values:\n ACTIVE : Network token is active.\n SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n DELETED : This is a final state for a network token instance.\n UNPROVISIONED : A previous network token.\n" + }, + "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 requestor's network token for the provided PAN and consumer Id, if available.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Value generated by the card association to be used alongside the network token for processing a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "securityCode": { + "type": "string", + "readOnly": true, + "description": "4-digit number generated by the card association to be used alogside the network token for processing a payment. Only supported for Amex and SCOF.\n", + "example": "4523" + }, + "eci": { + "type": "string", + "readOnly": true, + "description": "Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.\n" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "maxLength": 11, + "description": "11-digit identifier that uniquely identifies the Token Requestor.\n" + }, + "enrollmentId": { + "type": "string", + "readOnly": true, + "description": "Unique id to identify this PAN/ enrollment.\n" + }, + "tokenReferenceId": { + "type": "string", + "readOnly": true, + "description": "Unique ID for netwrok token.\n" + }, + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "description": "Payment account reference.\n" + }, + "card": { + "type": "object", + "description": "Card object used to create a network token\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "type": { + "type": "string", + "description": "The type of card(Card network).\nPossible Values:\n001: visa\n" + }, + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer's latest payment card number suffix.\n" + } + } + }, + "passcode": { + "type": "object", + "description": "Passcode by issuer for ID&V.\n", + "properties": { + "value": { + "type": "string", + "description": "OTP generated at issuer.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "description": "Metadata associated with the tokenized card.\n", + "properties": { + "cardArt": { + "title": "TmsCardArt", + "description": "Card art associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "foregroundColor": { + "description": "Card foreground color.\n", + "type": "string", + "readOnly": true + }, + "combinedAsset": { + "description": "Combined card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined'\n" + } + } + } + } + } + } }, - "cardPresentConnect": { + "brandLogoAsset": { + "description": "Brand logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/brand-logo'\n" + } + } + } + } + } + } + }, + "issuerLogoAsset": { + "description": "Issuer logo card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo'\n" + } + } + } + } + } + } + }, + "iconAsset": { + "description": "Icon card art asset associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the asset\n" + }, + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the card art asset.\nexample: 'tms/v2/tokens/7020000000010603216/visa/assets/icon'\n" + } + } + } + } + } + } + } + } + }, + "issuer": { + "description": "Issuer associated with the tokenized card.\n", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "issuer name.\n", + "type": "string", + "readOnly": true + }, + "shortDescription": { + "description": "issuer short description.\n", + "type": "string", + "readOnly": true + }, + "longDescription": { + "description": "issuer long description.\n", + "type": "string", + "readOnly": true + } + } + } + } + } + } + }, + "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": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" - } - } + "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" }, - "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." - } - } - } - } + "originalAuthorizedAmount": { + "type": "string", + "maxLength": 15, + "description": "Amount of the original authorization.\n" } } - }, - "cybsReadyTerminal": { + } + } + } + } + } + } + }, + "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." + } + } + }, + "_embedded": { + "type": "object", + "readOnly": true, + "properties": { + "binLookup": { + "title": "TmsBinLookup", + "description": "Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.\n", + "readOnly": true, + "type": "object", + "properties": { + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { "type": "object", "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + } } } } } }, - "eCheck": { + "features": { "type": "object", "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - }, - "mode": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Indicates what mode the product is expected to behave at boarding and transaction flows. Ex, Acquirer/Gateway/Other." - } - } + "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" }, - "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": { - "type": "string", - "default": "ALWAYS", - "description": "*NEW* \nPossible values:\n- ALWAYS" - }, - "setCompletedState": { - "type": "boolean", - "default": false, - "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." - } - }, - "required": [ - "companyEntryDescription" - ] - } - }, - "internalOnly": { - "type": "object", - "properties": { - "displayEcheckInfo": { - "type": "boolean", - "default": true, - "description": "*NEW* Used by EBC UI always set to true" - }, - "processors": { - "type": "object", - "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "bofaach", - "wellsfargoach" - ], - "type": "object", - "description": "Name of the payment processor. Example - \"wellsfargoach\"", - "properties": { - "enableCCS": { - "type": "boolean", - "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n" - }, - "terminalId": { - "type": "string", - "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n" - }, - "enable15anTransactionReferenceNumber": { - "type": "boolean", - "default": true, - "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS" - }, - "portalSupportedPaytypes": { - "type": "string", - "default": "CHECK", - "description": "*NEW* This is used by the EBC2 application" - }, - "settlementMethod": { - "type": "string", - "default": "BEST_GUESS", - "description": "*NEW* \nPossible values:\n- BEST_GUESS" - }, - "verificationLevel": { - "type": "string", - "default": "VALIDATION", - "description": "*NEW* \nPossible values:\n- VALIDATION" - }, - "setCompletedState": { - "type": "boolean", - "default": false, - "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." - } - } - } - } - } - }, - "accountHolderName": { - "type": "string", - "maxLength": 22, - "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n" - }, - "accountType": { - "type": "string", - "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n" - }, - "accountRoutingNumber": { - "type": "string", - "maxLength": 9, - "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n" - }, - "accountNumber": { - "type": "string", - "maxLength": 17, - "description": "Mandatory \nAccount number for Merchant's Bank Account\n" - } - }, - "required": [ - "accountHolderName", - "accountType", - "accountRoutingNumber", - "accountNumber" - ] - }, - "underwriting": { - "type": "object", - "properties": { - "standardEntryClassCodes": { - "type": "string", - "default": "CCD,PPD,TEL,WEB", - "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n" - }, - "enableHold": { - "type": "boolean", - "default": true, - "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n" - }, - "monthlyTotalTransactionAmountLimit": { - "type": "number", - "format": "currency", - "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n" - }, - "holdingDays": { - "type": "number", - "format": "integer", - "default": 7, - "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n" - }, - "enableCredits": { - "type": "boolean", - "description": "Optional \nAllow Credits (True/False)\n" - }, - "transactionAmountLimit": { - "type": "number", - "format": "currency", - "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n" - }, - "riskReserveMethod": { - "type": "string", - "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n" - }, - "riskReserveRate": { - "type": "number", - "format": "decimal", - "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n" - }, - "riskReserveTargetAmount": { - "type": "number", - "format": "currency", - "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n" - }, - "solutionOrganizationId": { - "type": "string", - "description": "Solution organization id" - } - }, - "required": [ - "standardEntryClassCodes", - "enableHold", - "monthlyTotalTransactionAmountLimit", - "holdingDays", - "transactionAmountLimit", - "riskReserveMethod", - "riskReserveRate", - "riskReserveTargetAmount" - ] - }, - "features": { - "type": "object", - "properties": { - "accountValidationService": { - "type": "object", - "properties": { - "internalOnly": { - "type": "object", - "properties": { - "processors": { - "type": "object", - "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "bofaach", - "wellsfargoach" - ], - "type": "object", - "description": "Name of the payment processor. Example - \"wellsfargoach\"", - "properties": { - "avsVersion": { - "type": "string", - "default": "2", - "description": "*NEW* \nPossible values:\n- 2" - } - } - } - } - } - }, - "processors": { - "type": "object", - "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", - "additionalProperties": { - "type": "object", - "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"", - "properties": { - "avsAccountOwnershipService": { - "type": "boolean", - "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service." - }, - "avsAccountStatusService": { - "type": "boolean", - "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service." - }, - "avsSignedAgreement": { - "type": "boolean", - "description": "*NEW* Taken from Addendum Agreement Column in boarding form." - }, - "avsCalculatedResponseBehavior": { - "type": "string", - "default": "continue", - "description": "*NEW* \nPossible values:\n- continue" - }, - "avsAdditionalId": { - "type": "string", - "description": "*NEW* Also known as the Additional ID. Taken from the boarding form." - }, - "enableAvs": { - "type": "boolean", - "default": true, - "description": "*NEW*" - }, - "avsEntityId": { - "type": "string", - "description": "*NEW* Also known as the AVS Gateway Entity ID." - }, - "avsResultMode": { - "type": "string", - "description": "*NEW* \nPossible values:\n- FULL_RESPONSE\n- LOGIC_BOX" - }, - "enableAvsTokenCreation": { - "type": "boolean", - "default": false, - "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only." - } - } - } - } - } - } - } - } - } - } - } + "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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + } + } + } + } + } + } + } + } + ], + "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 card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n" + } + } + } + } + ], + "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 an instance of Microform on an acceptance page. The capture context is a digitally signed JWT that provides authentication, one-time keys, and the target origin to the Microform Integration application. ", + "properties": { + "clientVersion": { + "type": "string", + "description": "Specify the version of Microform that you want to use.\n" + }, + "targetOrigins": { + "type": "array", + "items": { + "type": "string", + "example": "https://www.test.com" + }, + "description": "The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Microform is defined by the scheme (protocol), hostname (domain) and port number (if used). \n\nYou must use https://hostname (unless you use http://localhost)\nWildcards are NOT supported. Ensure that subdomains are included.\nAny valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc)\n\nExamples:\n - https://example.com\n - https://subdomain.example.com\n - https://example.com:8080

\n\nIf you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example:\n\n targetOrigins: [\n \"https://example.com\",\n \"https://basket.example.com\",\n \"https://ecom.example.com\"\n ]\n" + }, + "allowedCardNetworks": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of card networks you want to use for this Microform transaction.\n\nMicroform currently supports the following card networks:\n- VISA\n- MASTERCARD\n- AMEX\n- CARNET\n- CARTESBANCAIRES\n- CUP\n- DINERSCLUB\n- DISCOVER\n- EFTPOS\n- ELO\n- JCB\n- JCREW\n- MADA\n- MAESTRO\n- MEEZA\n\n**Important:** \n - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request.\n - When integrating Microform (ACH/Echeck) the allowedCardNetworks field is not required in the capture context request.\n - When integrating both Microform (Card) and Microform (ACH/Echeck) at least one card network should be specified in the allowedCardNetworks field in the capture context request.\n" + }, + "allowedPaymentTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Microform:\n- CARD\n- CHECK

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

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

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

\n\n**Important:** \nIf your application does NOT require a card number prefix for routing or identification purposes, set the transientTokenResponseOptions.includeCardPrefix field to False. This will minimize your personal data exposure.\n" + } + } + } + } + } + } + ], + "x-example": { + "example0": { + "summary": "Generate Capture Context (Card)", + "value": { + "clientVersion": "v2", + "targetOrigins": [ + "https://www.test.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX", + "CARNET", + "CARTESBANCAIRES", + "CUP", + "DINERSCLUB", + "DISCOVER", + "EFTPOS", + "ELO", + "JCB", + "JCREW", + "MADA", + "MAESTRO", + "MEEZA" + ], + "allowedPaymentTypes": [ + "CARD" + ] + } + }, + "example1": { + "summary": "Generate Capture Context (ACH/Echeck)", + "value": { + "clientVersion": "v2", + "targetOrigins": [ + "https://www.test.com" + ], + "allowedPaymentTypes": [ + "CHECK" + ] + } + }, + "example2": { + "summary": "Generate Capture Context (Card - Opt-out of receiving card number prefix)", + "value": { + "clientVersion": "v2", + "targetOrigins": [ + "https://www.test.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX", + "CARNET", + "CARTESBANCAIRES", + "CUP", + "DINERSCLUB", + "DISCOVER", + "EFTPOS", + "ELO", + "JCB", + "JCREW", + "MADA", + "MAESTRO", + "MEEZA" + ], + "allowedPaymentTypes": [ + "CARD" + ], + "transientTokenResponseOptions": { + "includeCardPrefix": false + } + } + } + }, + "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" + } + }, + "/flex/v2/sessions": { + "post": { + "summary": "Establish a Payment Session with a Capture Context", + "description": "To establish a payment session, include the API fields you plan to use in that session in the body of the request. The system then returns a JSON Web Token (JWT) that includes the capture context. \nTo determine which fields to include in your capture context, identify the personal information that you wish to isolate from the payment session.\n\n**Capture Context Fields**
\nWhen making a session request, any fields that you request to be added to the capture context are required by default. \nHowever, you can choose to make a field optional by setting the required parameter to false.\n", + "parameters": [ + { + "in": "body", + "name": "generateFlexAPICaptureContextRequest", + "required": true, + "schema": { + "type": "object", + "properties": { + "fields": { + "type": "object", + "properties": { + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "currency": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "address1": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "address2": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "administrativeArea": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "buildingNumber": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "country": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "district": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "locality": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "postalCode": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "email": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "firstName": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "lastName": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "phoneNumber": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "company": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "address1": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "address2": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "administrativeArea": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "buildingNumber": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "country": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "district": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "locality": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "postalCode": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "firstName": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "lastName": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "company": { + "type": "object", + "properties": { + "required": { + "type": "boolean" } } - }, - "payerAuthentication": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "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", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "masterCardSecureCode": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "amexSafeKey": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "jCBJSecure": { - "type": "object", - "properties": { - "securePasswordForJCB": { - "type": "string", - "minLength": 8, - "maxLength": 8, - "description": "JSecure currency password for Japan Credit Bureau" - }, - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "dinersClubInternationalProtectBuy": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "ELO": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "UPI": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "CB": { - "type": "object", - "properties": { - "requestorId": { - "type": "string", - "minLength": 14, - "maxLength": 14, - "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." - }, - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - } - } - } - } - } - } - } + } + } + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "number": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "type": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "securityCode": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "expirationMonth": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + }, + "expirationYear": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + } + } + } + } + } + } + } + } + } + } + } + ], + "tags": [ + "Flex API" + ], + "operationId": "generateFlexAPICaptureContext", + "x-devcenter-metaData": { + "categoryTag": "Flex_API", + "firstLevelApiLifeCycle": "hidden", + "secondLevelApiLifeCycle": "hidden", + "apiLifeCycle": "hidden", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/da-flex-api-intro.html", + "disableProcessorDropDown": true + }, + "produces": [ + "application/jwt" + ], + "x-example": { + "example0": { + "summary": "Generate Capture Context specifying the set of fields to be provided in JWE sent to /v2/tokens endpoint.", + "value": { + "fields": { + "orderInformation": { + "amountDetails": { + "totalAmount": { + "required": true + }, + "currency": { + "required": true + } + }, + "billTo": { + "address1": { + "required": true + }, + "address2": { + "required": false + }, + "administrativeArea": { + "required": true + }, + "buildingNumber": { + "required": true + }, + "country": { + "required": true + }, + "district": { + "required": false + }, + "locality": { + "required": true + }, + "postalCode": { + "required": true + }, + "email": { + "required": true + }, + "firstName": { + "required": true + }, + "lastName": { + "required": true + }, + "phoneNumber": { + "required": true + }, + "company": { + "required": false + } + }, + "shipTo": { + "address1": { + "required": true + }, + "address2": { + "required": false + }, + "administrativeArea": { + "required": false + }, + "buildingNumber": { + "required": true + }, + "country": { + "required": true + }, + "district": { + "required": false + }, + "locality": { + "required": true + }, + "postalCode": { + "required": true + }, + "email": { + "required": true + }, + "firstName": { + "required": true + }, + "lastName": { + "required": true + }, + "phoneNumber": { + "required": true + }, + "company": { + "required": false + } + } + }, + "paymentInformation": { + "card": { + "number": { + "required": true + }, + "type": { + "required": true + }, + "securityCode": { + "required": false + }, + "expirationMonth": { + "required": true + }, + "expirationYear": { + "required": true + } + } + } + } + } + }, + "example1": { + "summary": "Generate Capture Context (Simple)", + "value": { + "fields": { + "paymentInformation": { + "card": { + "number": { + "required": true + }, + "type": { + "required": true + }, + "securityCode": { + "required": false + }, + "expirationMonth": { + "required": true + }, + "expirationYear": { + "required": true + } + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Capture Context Created", + "examples": { + "application/jwt": "eyJraWQiOiJ6dSIsImFsZyI6IlJTMjU2In0.eyJmbHgiOnsicGF0aCI6Ii9mbGV4L3YyL3Rva2VucyIsImRhdGEiOiJaNHVqZEZ3S1dsVWlGUTFWQWtydmF4QUFFQzdTOGJOVWs2ZWgzbXVXZm51U0dxM2FHdEdTUUsrS1dXMlNtaVg5RlBMWE5sc3VjbXV2SHk3R1A5eFR1Q3hXRXFlU3ZIWHMrYkhhWUhMcGhaVnZpb0lcdTAwM2QiLCJvcmlnaW4iOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsIm4iOiJpMHZtSDBmQTNVaTZWN0NvbmhvVHdwV01PeFhWdk5aUlVpWWFZSjktR0hKbmZlMUdYVERTLXk5bG1ibVFVUGZpMlVRakNoU3EyclNrZ2pxTExtRzFsRkZ5TjFINVFLSkVlUzhXWEdmeWdVNDBPc05YdDd2X1g0Mmo0a0RXVmNuV0xucGlsYndYZjhwRTh4NmUyWHBoVG5tRmZMR1phbGtUN21PYXVPdmNwdFlXUVZlVGU3bmZrWlZYZTFFN0ZmZ2taNXFkMnY1OVJ2Z1NhQmhkMko4ankyUVZidE5RNTZxMTlfc2h3bEJIYWc3dFdxbzg2S1Iwd0V3dkQyWmNENTFvZGtteFdudFVJaU1tT3VXUUFGTmVaQXBDYklySlc1SFVSdTNHM1g4M2pLM3h1NHZVQjI0WGRIdlExS215dW13RlJJWFRLZFB1TmtTOUtWRHMyemZvaVEiLCJraWQiOiIwOHhzd05TV2xDUnVzeWFHQklJRkVSOEN5M0JTNXB6ZCJ9fSwiY3R4IjpbeyJkYXRhIjp7ImFsbG93ZWRQYXltZW50VHlwZXMiOlt7InBhZ2UiOjEsInR5cGUiOiJQQU5FTlRSWSJ9LHsicGFnZSI6MiwidHlwZSI6IlNSQ1ZJU0EifSx7InBhZ2UiOjMsInR5cGUiOiJTUkNNQVNURVJDQVJEIn1dLCJwYXltZW50Q29uZmlndXJhdGlvbnMiOnsiU1JDVklTQSI6eyJvcmlnaW4iOiJodHRwczovL3NhbmRib3gtYXNzZXRzLnNlY3VyZS5jaGVja291dC52aXNhLmNvbSIsInBhdGgiOiIvY2hlY2tvdXQtd2lkZ2V0L3Jlc291cmNlcy9qcy9zcmMtaS1hZGFwdGVyL3Zpc2FTZGsuanMiLCJwYW5FbmNyeXB0aW9uS2V5Ijp7ImtpZCI6IlY2WVBMMERGSjJWNTZISUg2UTNGMTMzZmJaV3lBeUlIaldWU2VjeDZLTUY2aVRIR00iLCJlIjoiQVFBQiIsIm4iOiJzWlBJdXNEZjd5UW5uaEJrVTltdTE0Vk9PM0NydWkzYjdyQWYyS1llb2JVUm1YQTE3YjFKWDlqZzBDZC12Z3BtdXlUcnhCVVNjLTRiMC1VUGdTd0dGcVBXVXB4MDhFeHFyd1BET3ZGb2pCb3Uyd2x5cThiY3kwVXMtQmZlQ3pTRTVsTVZkU1hUWFhYY05xdS1xYjIyakNDQ0pBTHB4c0Fyc2JvTU9Yc0xlZGgzTTRYTlE1WEdBdFJmN2ItLXVUWTVEcjlLTFl5VXZaS0FuWTA0TUtKUEVPNTRZaUlGTTVEVEFoTk9tczA4OWpkTWR4LVVSSUtKalBVMi1ScEhHMXU4TENHMDI4UlRJcFBzTmJSYW51UzVUQVlfemx4RGdiMWhLSjM2WWJaRU5ITGc5UFhUQmhkT01sVTkwRFRMbGZjYkxUYS1EN0RnbGpBYVdDdXZ6TFBhR3cifSwicGFyYW1ldGVycyI6eyJzcmNJbml0aWF0b3JJZCI6IkpGQ1o4UVZPSkE3Nk5YWjY4RlpEMjFSWUl4ajN5UFpkaVV4a2ROdWliQmx4Z3dhUDQiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNpVHJhbnNhY3Rpb25JZCI6ImJjOWZmNzgyLTM3NTctNDEyMS1hNGM4LTdkMDhkOGY3ZGQ4NiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJkcGFMb2NhbGUiOiJlbl9VUyIsInBheWxvYWRUeXBlSW5kaWNhdG9yIjoiRlVMTCIsInJldmlld0FjdGlvbiI6ImNvbnRpbnVlIiwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImRwYUJpbGxpbmdQcmVmZXJlbmNlIjoiQUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiQUxMIiwiY29uc3VtZXJOYW1lUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lckVtYWlsQWRkcmVzc1JlcXVlc3RlZCI6dHJ1ZSwiY29uc3VtZXJQaG9uZU51bWJlclJlcXVlc3RlZCI6dHJ1ZSwidHJhbnNhY3Rpb25BbW91bnQiOnsidHJhbnNhY3Rpb25BbW91bnQiOiIyMS4wMCIsInRyYW5zYWN0aW9uQ3VycmVuY3lDb2RlIjoiVVNEIn0sInBheW1lbnRPcHRpb25zIjp7ImRwYVBhblJlcXVlc3RlZCI6dHJ1ZX19fX0sIlNSQ01BU1RFUkNBUkQiOnsib3JpZ2luIjoiaHR0cHM6Ly9zYW5kYm94LnNyYy5tYXN0ZXJjYXJkLmNvbSIsInBhdGgiOiIvc2RrL3NyY3Nkay5tYXN0ZXJjYXJkLmpzIiwicGFuRW5jcnlwdGlvbktleSI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsImtpZCI6IjE0OTEyMy1zcmMtZnBhbi1lbmNyeXB0aW9uIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZW5jcnlwdCJdLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJuIjoidnQ0bkRTUFN0VGxNMU5OY3ljdklxVWY0eDE0STRqaVRxTVRLUGpHdGF5MHlmYTF2QnlOQ2htdXBwRHdFVDVnR0dscEw4Y2NqM1lWc0JpOV9iV29lX2FwcGtQd2h4ZDd3UjlSeXdWM3ptV3VNSWhNd2xrMGxuSEFNTDY1bnNIVk0zb0VwRXZDZkFQczFOWGx0VHlmam5rZ0ZFTkkzdEhxdHdkdE04ZVAwMnBwMGp2VzY5ZnlidnlWaEx6WHdTT2dKbnRqdGpSVjdoUXI1bGVkX2pXYjV6elhJNDhPVlRUX0Y5aWluRGR0WDV5M0UtaWY1V3RHWlVGRVRiX3RaRlpZbk1MYUxsSHd2YjZaa3I4NFJTd3dzTWYybkFMXzR6UDJVYWhNd3phbWhCb09TYXF5eEd4RXE2N0hyMVU4ekFDNWhsOUQ4TmJnU3dwV3hzT0RVckh4OXJ3In0sInBhcmFtZXRlcnMiOnsic3JjaVRyYW5zYWN0aW9uSWQiOiJiYzlmZjc4Mi0zNzU3LTQxMjEtYTRjOC03ZDA4ZDhmN2RkODYiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNJbml0aWF0b3JJZCI6Ijg0NGY3ZTNkLTA3ZjAtNDRiMS1hMjM3LWU2NDI0NDRlMDUxMiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJ0cmFuc2FjdGlvblR5cGUiOiJQVVJDSEFTRSIsImRwYUxvY2FsZSI6ImVuX1VTIiwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImNvbnN1bWVyRW1haWxBZGRyZXNzUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lclBob25lTnVtYmVyUmVxdWVzdGVkIjp0cnVlLCJ0cmFuc2FjdGlvbkFtb3VudCI6eyJ0cmFuc2FjdGlvbkFtb3VudCI6IjIxLjAwIiwidHJhbnNhY3Rpb25DdXJyZW5jeUNvZGUiOiJVU0QifSwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQmlsbGluZ1ByZWZlcmVuY2UiOiJGVUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiRlVMTCIsImNvbnN1bWVyTmFtZVJlcXVlc3RlZCI6dHJ1ZSwicGF5bG9hZFR5cGVJbmRpY2F0b3IiOiJGVUxMIn19fX0sImNhcHR1cmVNYW5kYXRlIjp7ImJpbGxpbmdUeXBlIjoiRlVMTCIsInJlcXVlc3RFbWFpbCI6dHJ1ZSwicmVxdWVzdFBob25lIjp0cnVlLCJyZXF1ZXN0U2hpcHBpbmciOnRydWUsInNoaXBUb0NvdW50cmllcyI6WyJVUyIsIkdCIl0sInNob3dBY2NlcHRlZE5ldHdvcmtJY29ucyI6dHJ1ZX0sIm9yZGVySW5mb3JtYXRpb24iOnsiYW1vdW50RGV0YWlscyI6eyJ0b3RhbEFtb3VudCI6IjIxLjAwIiwiY3VycmVuY3kiOiJVU0QifSwiYmlsbFRvIjp7ImFkZHJlc3MxIjoiMjc3IFBhcmsgQXZlbnVlIiwiYWRkcmVzczIiOiI1MHRoIEZsb29yIiwiYWRkcmVzczMiOiJEZXNrIE5ZLTUwMTEwIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6Ik5ZIiwiYnVpbGRpbmdOdW1iZXIiOiJidWlsZGluZ051bWJlciIsImNvdW50cnkiOiJVUyIsImRpc3RyaWN0IjoiZGlzdHJpY3QiLCJsb2NhbGl0eSI6Ik5ldyBZb3JrIiwicG9zdGFsQ29kZSI6IjEwMTcyIiwiY29tcGFueSI6eyJhZGRyZXNzMSI6IjkwMCBNZXRybyBDZW50ZXIgQmx2ZCIsImFkZHJlc3MyIjoiYWRkcmVzczIiLCJhZGRyZXNzMyI6ImFkZHJlc3MzIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6IkNBIiwiYnVpbGRpbmdOdW1iZXIiOiIxIiwiY291bnRyeSI6IlVTIiwiZGlzdHJpY3QiOiJkaXN0cmljdCIsImxvY2FsaXR5IjoiRm9zdGVyIENpdHkiLCJwb3N0YWxDb2RlIjoiOTQ0MDQiLCJuYW1lIjoiVmlzYSBJbmMifSwiZW1haWwiOiJqb2huLmRvZUB2aXNhLmNvbSIsImZpcnN0TmFtZSI6IkpvaG4iLCJsYXN0TmFtZSI6IkRvZSIsIm1pZGRsZU5hbWUiOiJGIiwibmFtZVN1ZmZpeCI6IkpyIiwidGl0bGUiOiJNciIsInBob25lTnVtYmVyIjoiMTIzNDU2Nzg5MCIsInBob25lVHlwZSI6InBob25lVHlwZSJ9LCJzaGlwVG8iOnsiYWRkcmVzczEiOiJDeWJlclNvdXJjZSIsImFkZHJlc3MyIjoiVmljdG9yaWEgSG91c2UiLCJhZGRyZXNzMyI6IjE1LTE3IEdsb3VjZXN0ZXIgU3RyZWV0IiwiYWRkcmVzczQiOiJzdHJpbmciLCJhZG1pbmlzdHJhdGl2ZUFyZWEiOiJDQSIsImJ1aWxkaW5nTnVtYmVyIjoic3RyaW5nIiwiY291bnRyeSI6IkdCIiwiZGlzdHJpY3QiOiJzdHJpbmciLCJsb2NhbGl0eSI6IkJlbGZhc3QiLCJwb3N0YWxDb2RlIjoiQlQxIDRMUyIsImZpcnN0TmFtZSI6IkpvZSIsImxhc3ROYW1lIjoiU29hcCJ9fSwidGFyZ2V0T3JpZ2lucyI6WyJodHRwczovL3RoZS11cC1kZW1vLmFwcHNwb3QuY29tIl0sImlmcmFtZXMiOnsibWNlIjoiL21jZS9pZnJhbWUuaHRtbCIsImJ1dHRvbnMiOiIvYnV0dG9ubGlzdC9pZnJhbWUuaHRtbCIsInNyYyI6Ii9zZWN1cmUtcmVtb3RlLWNvbW1lcmNlL3NyYy5odG1sIiwiZ29vZ2xlcGF5IjoiL2dvb2dsZXBheS9nb29nbGVwYXkuaHRtbCJ9LCJjbGllbnRWZXJzaW9uIjoiMC4xMSIsImNvdW50cnkiOiJVUyIsImxvY2FsZSI6ImVuX1VTIiwiYWxsb3dlZENhcmROZXR3b3JrcyI6WyJWSVNBIiwiTUFTVEVSQ0FSRCIsIkFNRVgiXSwiY3IiOiJaX1c0NldGZlNqWXFZY3FCb19sZGVnQ0Z4RUpnUzlKNWJZT2c2cmtZd2VkaEhpV3M2elowaFZEbU5mMmgxVUQ0eWx6OWJsOThUb0c1SC10bFZjQm54YnZZc0dBSVRDT0g5LTNNZHYyc1g0X3ZFMVY2eFpCeVU5SVcwaFEiLCJzZXJ2aWNlT3JpZ2luIjoiaHR0cHM6Ly9hcGl0ZXN0LmN5YmVyc291cmNlLmNvbSIsImNsaWVudExpYnJhcnkiOiJodHRwczovL2FwaXRlc3QuY3liZXJzb3VyY2UuY29tL3VwL3YxL2Fzc2V0cy8wLjExLjAvU2VjdXJlQWNjZXB0YW5jZS5qcyIsImFzc2V0c1BhdGgiOiIvdXAvdjEvYXNzZXRzLzAuMTEuMCIsImNsaWVudExpYnJhcnlJbnRlZ3JpdHkiOiJzaGEyNTYtSm1SY1QxVFpPaThpWlRTMEZWSFdOanR2REorN1ZsdnNPTXRTZ0tMZUtLTVx1MDAzZCJ9LCJ0eXBlIjoiZ2RhLTAuNy4wIn1dLCJpc3MiOiJGbGV4IEFQSSIsImV4cCI6MTY1OTEyMTk2MSwiaWF0IjoxNjU5MTIxMDYxLCJqdGkiOiJjZ0dBaG9hSFBhbWsxM2d3In0.GSYHGM3941-HLPFjSQT2m6Zus19L4H7tSJIHLuFCKRH_bY1bxFIZRGaI-994BdmhKgzlcE6XK8HQd2lJaD7JnJXAHkmjitg0XV0NVYGbrK7V4cOvT8VKWbMV794NWAAY26_UTjLAR5PGOvyTVOyRuHsItmVMgZ0TFc7x6LeWmjyveN1VeeRemkZHh02nETXh2NpqMk_5a_vXOgoOr56MClo4OqqvSHinXZhxNjIH4h6QwksmuIHKpvoXMWsghozn3va4VEXjp4OJ96NvHkcXGAWcPpLUQOAMks4fd7EoQz4-aFOcrqnV9Ut9p82CmoclWGhvjrakB_MUAabykcmXDA" + }, + "schema": { + "type": "string" + } + }, + "400": { + "description": "Bad Request: e.g. Merchant APIKey is invalid.", + "examples": { + "application/json": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "details": { + "location": "", + "message": "" + }, + "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": { + "type": "string", + "description": "Possible values:\n- INVALID_APIKEY\n- INVALID_SHIPPING_INPUT_PARAMS\n- CAPTURE_CONTEXT_INVALID\n- CAPTURE_CONTEXT_EXPIRED\n- SDK_XHR_ERROR\n- UNIFIEDPAYMENTS_VALIDATION_PARAMS\n- UNIFIEDPAYMENTS_VALIDATION_FIELDS\n- UNIFIEDPAYMENT_PAYMENT_PARAMITERS\n- CREATE_TOKEN_TIMEOUT\n- CREATE_TOKEN_XHR_ERROR\n- SHOW_LOAD_CONTAINER_SELECTOR\n- SHOW_LOAD_INVALID_CONTAINER\n- SHOW_TOKEN_TIMEOUT\n- SHOW_TOKEN_XHR_ERROR\n- SHOW_PAYMENT_TIMEOUT" + } + }, + "required": [ + "message", + "reason" + ], + "type": "object" + } + }, + "500": { + "description": "Internal error.", + "examples": { + "application/json": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "details": { + "location": "", + "message": "" + }, + "informationLink": null, + "message": "The capture context has expired", + "reason": "CAPTURE_CONTEXT_EXPIRED" + } + }, + "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": { + "type": "string", + "description": "Possible values:\n- INVALID_APIKEY\n- INVALID_SHIPPING_INPUT_PARAMS\n- CAPTURE_CONTEXT_INVALID\n- CAPTURE_CONTEXT_EXPIRED\n- SDK_XHR_ERROR\n- UNIFIEDPAYMENTS_VALIDATION_PARAMS\n- UNIFIEDPAYMENTS_VALIDATION_FIELDS\n- UNIFIEDPAYMENT_PAYMENT_PARAMITERS\n- CREATE_TOKEN_TIMEOUT\n- CREATE_TOKEN_XHR_ERROR\n- SHOW_LOAD_CONTAINER_SELECTOR\n- SHOW_LOAD_INVALID_CONTAINER\n- SHOW_TOKEN_TIMEOUT\n- SHOW_TOKEN_XHR_ERROR\n- SHOW_PAYMENT_TIMEOUT" + } + }, + "required": [ + "message", + "reason" + ], + "type": "object" + } + } + } + } + }, + "/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" + } + } + } + } + }, + "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" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + } + } + }, + "customer": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n" + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "bank": { + "type": "object", + "properties": { + "account": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 1, + "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" + }, + "number": { + "type": "string", + "maxLength": 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" + }, + "checkNumber": { + "type": "string", + "maxLength": 8, + "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" + }, + "checkImageReferenceNumber": { + "type": "string", + "maxLength": 32, + "description": "Image reference number associated with the check. You cannot include any special characters.\n" + }, + "iban": { + "type": "string", + "maxLength": 50, + "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" + } + } + }, + "routingNumber": { + "type": "string", + "maxLength": 9, + "description": "Bank routing number. This is also called the _transit number_.\n" + }, + "iban": { + "type": "string", + "maxLength": 50, + "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n" + }, + "swiftCode": { + "type": "string", + "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n" + }, + "code": { + "type": "string", + "maxLength": 50, + "description": "Bank code of the consumer's account\n" + } + } + }, + "method": { + "type": "string", + "maxLength": 10, + "description": "Method of payment used for the order. This field can contain one of the following values:\n - `consumer` (default): Customer credit card\n - `corporate`: Corporate credit card\n - `debit`: Debit card, such as a Maestro (UK Domestic) card\n - `cod`: Collect on delivery\n - `check`: Electronic check\n - `p2p`: Person-to-person payment\n - `private1`: Private label credit card\n - `other`: Other payment method\n" + } + } + }, + "orderInformation": { + "type": "object", + "description": "Contains detailed order-level information.", + "properties": { + "amountDetails": { + "type": "object", + "description": "Contains `currency` and `totalAmount` for this order.", + "required": [ + "currency" + ], + "properties": { + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. \nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [REST API Fields Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amount.html)\n\n#### DCC for First Data\nNot used.\nFor details, see [REST API Field Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amount.html)\n" + } + } + }, + "preOrder": { + "type": "string", + "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" + }, + "preOrderDate": { + "type": "string", + "maxLength": 10, + "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" + }, + "cutoffDateTime": { + "type": "string", + "description": "Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.departureTime if both are supplied in the request.\nFormat: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" + }, + "reordered": { + "type": "boolean", + "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" + }, + "shippingDetails": { + "type": "object", + "description": "Contains shipping information not related to address.", + "properties": { + "giftWrap": { + "type": "boolean", + "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n" + }, + "shippingMethod": { + "type": "string", + "maxLength": 32, + "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" + } + } + }, + "shipTo": { + "type": "object", + "properties": { + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address3": { + "type": "string", + "maxLength": 60, + "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 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": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "destinationCode": { + "type": "integer", + "maxLength": 2, + "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" + }, + "method": { + "type": "string", + "maxLength": 10, + "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" + } + } + }, + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "giftCardCurrency": { + "type": "integer", + "maxLength": 3, + "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" + }, + "productSKU": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "productRisk": { + "type": "string", + "maxLength": 6, + "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "gift": { + "type": "boolean", + "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" + }, + "distributorProductSku": { + "type": "string", + "maxLength": 15, + "description": "Product's identifier code. This field is inserted into the outgoing message without being parsed or formatted.\nThis field is included as Distributor product SKU (Offer) in the list of API fields with which you can create\ncustom rules.\n" + }, + "passenger": { + "type": "object", + "description": "Contains travel-related passenger details used by DM service only.", + "properties": { + "type": { + "type": "string", + "maxLength": 32, + "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" + }, + "status": { + "type": "string", + "maxLength": 32, + "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" + }, + "phone": { + "type": "string", + "maxLength": 15, + "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + }, + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Passenger's first name." + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Passenger's last name." + }, + "id": { + "type": "string", + "maxLength": 40, + "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." + }, + "nationality": { + "type": "string", + "maxLength": 2, + "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." + } + } + }, + "shippingDestinationTypes": { + "type": "string", + "maxLength": 50, + "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "allowedExportCountries": { + "type": "array", + "items": { + "type": "string", + "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" + } + }, + "restrictedExportCountries": { + "type": "array", + "items": { + "type": "string", + "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "country": { + "type": "string", + "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + } + } + }, + "totalOffersCount": { + "type": "string", + "maxLength": 2, + "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" + } + } + }, + "buyerInformation": { + "type": "object", + "description": "Contains information about the buyer.", + "properties": { + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "username": { + "type": "string", + "maxLength": 255, + "description": "Specifies the customer account user name." + }, + "hashedPassword": { + "type": "string", + "maxLength": 100, + "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n" + }, + "dateOfBirth": { + "type": "string", + "maxLength": 8, + "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n" + }, + "personalIdentification": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" + }, + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + }, + "issuedBy": { + "type": "string", + "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" + }, + "verificationResults": { + "type": "string", + "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "cookiesAccepted": { + "type": "string", + "description": "Whether the customer's browser accepts cookies. This field can contain one of the following values:\n- `yes`: The customer's browser accepts cookies.\n- `no`: The customer's browser does not accept cookies.\n" + }, + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "hostName": { + "type": "string", + "maxLength": 60, + "description": "DNS resolved hostname from `ipAddress`." + }, + "fingerprintSessionId": { + "type": "string", + "description": "Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint\ninformation. The string can contain uppercase and lowercase letters, digits, hyphen (-), and\nunderscore (_). However, do not use the same uppercase and lowercase letters to indicate\ndifferent session IDs.\n\nThe session ID must be unique for each merchant ID. You can use any string that you are already\ngenerating, such as an order number or web session ID.\n\nThe session ID must be unique for each page load, regardless of an individual's web session ID.\nIf a user navigates to a profiled page and is assigned a web session, navigates away from the\nprofiled page, then navigates back to the profiled page, the generated session ID should be different\nand unique. You may use a web session ID, but it is preferable to use an application GUID (Globally\nUnique Identifier). This measure ensures that a unique ID is generated every time the page is\nloaded, even if it is the same user reloading the page.\n" + }, + "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.", + "required": [ + "frequency", + "endDate" + ], + "properties": { + "endDate": { + "type": "string", + "maxLength": 10, + "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" + }, + "frequency": { + "type": "integer", + "maxLength": 4, + "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" + }, + "numberOfPayments": { + "type": "integer", + "maxLength": 3, + "description": "Total number of payments for the duration of the recurring subscription.\n" + }, + "originalPurchaseDate": { + "type": "string", + "maxLength": 17, + "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" + }, + "sequenceNumber": { + "type": "integer", + "maxLength": 3, + "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" + }, + "type": { + "type": "string", + "maxLength": 1, + "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" + }, + "occurrence": { + "type": "string", + "maxLength": 2, + "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" + }, + "validationIndicator": { + "type": "string", + "maxLength": 1, + "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" + }, + "amountType": { + "type": "string", + "maxLength": 1, + "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" + }, + "maximumAmount": { + "type": "string", + "maxLength": 12, + "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" + }, + "referenceNumber": { + "type": "string", + "maxLength": 35, + "description": "This will contain a unique reference number for the recurring payment transaction.\n" + } + } + }, + "consumerAuthenticationInformation": { + "type": "object", + "required": [ + "deviceChannel" + ], + "properties": { + "strongAuthentication": { + "type": "object", + "properties": { + "authenticationIndicator": { + "type": "string", + "maxLength": 2, + "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" + } + } + }, + "acsWindowSize": { + "type": "string", + "maxLength": 2, + "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" + }, + "alternateAuthenticationData": { + "type": "string", + "maxLength": 2048, + "description": "Data that documents and supports a specific authentication process.\n" + }, + "alternateAuthenticationDate": { + "type": "string", + "maxLength": 14, + "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" + }, + "alternateAuthenticationMethod": { + "type": "string", + "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" + }, + "authenticationDate": { + "type": "string", + "maxLength": 14, + "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" + }, + "authenticationTransactionId": { + "type": "string", + "maxLength": 26, + "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" + }, + "transactionFlowIndicator": { + "type": "integer", + "maxLength": 2, + "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" + }, + "challengeCode": { + "type": "string", + "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n" + }, + "challengeStatus": { + "type": "string", + "maxLength": 2, + "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" + }, + "customerCardAlias": { + "type": "string", + "maxLength": 128, + "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" + }, + "decoupledAuthenticationIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" + }, + "decoupledAuthenticationMaxTime": { + "type": "string", + "maxLength": 5, + "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" + }, + "defaultCard": { + "type": "boolean", + "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" + }, + "deviceChannel": { + "type": "string", + "maxLength": 10, + "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" + }, + "installmentTotalCount": { + "type": "integer", + "maxLength": 4, + "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" + }, + "merchantFraudRate": { + "type": "string", + "maxLength": 2, + "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" + }, + "marketingOptIn": { + "type": "boolean", + "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" + }, + "marketingSource": { + "type": "string", + "maxLength": 40, + "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" + }, + "mcc": { + "type": "string", + "maxLength": 4, + "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" + }, + "merchantScore": { + "type": "integer", + "maxLength": 2, + "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" + }, + "messageCategory": { + "type": "string", + "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" + }, + "npaCode": { + "type": "string", + "maxLength": 2, + "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" + }, + "overridePaymentMethod": { + "type": "string", + "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" + }, + "overrideCountryCode": { + "type": "string", + "maxLength": 2, + "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" + }, + "priorAuthenticationData": { + "type": "string", + "maxLength": 2048, + "description": "This field carry data that the ACS can use to verify the authentication process.\n" + }, + "priorAuthenticationMethod": { + "type": "string", + "maxLength": 2, + "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" + }, + "priorAuthenticationReferenceId": { + "type": "string", + "maxLength": 36, + "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" + }, + "priorAuthenticationTime": { + "type": "string", + "maxLength": 12, + "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" + }, + "productCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" + }, + "returnUrl": { + "type": "string", + "maxLength": 2048, + "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" + }, + "requestorId": { + "type": "string", + "maxLength": 35, + "description": "Cardinal's directory server assigned 3DS Requestor ID value" + }, + "requestorInitiatedAuthenticationIndicator": { + "type": "string", + "maxLength": 2, + "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" + }, + "requestorName": { + "type": "string", + "maxLength": 40, + "description": "Cardinal's directory server assigned 3DS Requestor Name value" + }, + "referenceId": { + "type": "string", + "maxLength": 50, + "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" + }, + "sdkMaxTimeout": { + "type": "string", + "maxLength": 2, + "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" + }, + "secureCorporatePaymentIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" + }, + "transactionMode": { + "type": "string", + "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" + }, + "whiteListStatus": { + "type": "string", + "maxLength": 1, + "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" + }, + "scoreRequest": { + "type": "integer", + "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" + } + } + }, + "watchlistScreeningInformation": { + "type": "object", + "properties": { + "addressOperator": { + "type": "string", + "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" + }, + "weights": { + "type": "object", + "properties": { + "address": { + "type": "string", + "maxLength": 6, + "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" + }, + "company": { + "type": "string", + "maxLength": 6, + "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" + }, + "name": { + "type": "string", + "maxLength": 6, + "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" + } + } + }, + "sanctionLists": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" + }, + "proceedOnMatch": { + "type": "boolean", + "description": "Indicates whether the transaction should proceed if there is a match.\nPossible values:\n- `true`: Transaction proceeds even when match is found in the Denied Parties List. The match is noted in the response.\n- `false`: Normal watchlist screening behavior occurs. (Transaction stops if a match to DPL occurs. Transaction proceeds if no match.)\n" + } + } + }, + "tokenInformation": { + "type": "object", + "properties": { + "jti": { + "type": "string", + "maxLength": 64, + "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" + } + } + } + } + } + } + ], + "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" + }, + "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" + }, + "issuer": { + "type": "string", + "maxLength": 255, + "description": "Name of the bank or entity that issued the card account.\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" + }, + "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" + } + } + }, + "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.\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" + }, + "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" + }, + "exemptionDataRaw": { + "type": "string", + "maxLength": 4, + "description": "Payer authentication exemption indicator for Carte Bancaire exemptions. \nThis is used with unbundled authentication and authorizations calls, for example: \"low fraud merchant program\".\nThe value returned in this field should be passed in the authorization request under the field -\n`consumerAuthenticationInformation.strongAuthentication.issuerInformation.exemptionDataRaw`.\n" + }, + "ivr": { + "type": "object", + "properties": { + "enabledMessage": { + "type": "boolean", + "description": "Flag to indicate if a valid IVR transaction was detected.\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. \nFor cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.For cards not issued in the U.S. or Canada, your bank may require this data as proof of enrollment\nchecking for any payer authentication transaction that you re-present because of a chargeback.\n" + }, + "proxyPan": { + "type": "string", + "description": "Encrypted version of the card number used in the payer authentication request message.\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: 2.2.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" + }, + "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", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html", + "isMLEsupported": true + }, + "parameters": [ + { + "name": "payerAuthSetupRequest", + "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", + "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" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + } + } + }, + "fluidData": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "maxLength": 4000, + "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" + }, + "keySerialNumber": { + "type": "string", + "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" + }, + "descriptor": { + "type": "string", + "maxLength": 128, + "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" + }, + "encoding": { + "type": "string", + "maxLength": 6, + "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" + } + } + }, + "customer": { + "type": "object", + "required": [ + "customerId" + ], + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + } + } + }, + "tokenInformation": { + "type": "object", + "properties": { + "transientToken": { + "type": "string", + "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" + }, + "jti": { + "type": "string", + "maxLength": 64, + "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" + } + } + } + } + } + } + ], + "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": { + "paymentInformation": { + "card": { + "expirationMonth": "12", + "expirationYear": "2025", + "number": "4000000000002503", + "type": "001" + } + } + } + }, + "example1": { + "summary": "Setup Completion with Fluid Data Value and Payment Solution", + "value": { + "paymentInformation": { + "fluidData": { + "value": "eyJkYXRhIjoiOFJTK2o1a2ZLRjZkTnkzNVwvOTluR3ZEVis0WUVlaStBb2VmUUNMXC9SNTN0TnVMeHJxTzh4b1g2SnBScm9WWUVUOUNvUkhIWFZMRjJNSVNIZlVtM25UczltdGFPTUdqcW1oeWdjTFpWVWI3OHhxYVVUT2JwWUxLelY0dFR1QmhvRkV4UVJ1d2lvTmo2bXJsRlRjUm5LNzdcL2lCR01yYVlZcXZTVnhGK3ViK1JXK3BGeTRDNUVUOVhmcHBkS2xHYXVpODdzcTBtYVlYVk9qOGFaNTFMWjZvS1NKZkR1clhvWEtLNHRqd1wvaDVRK1dcL0x2dnJxSUhmZmVhK21MZXVRY3RHK0k3UUN6MTRpVmdROUFEMW1oWFUrbVdwZXRUQWZ5WXhoVituZlh1NlpISGRDWFV1cUp6djQydHg4UlwvN0lvdld5OWx6Z0N3YnpuclVsY3pUcThkb3JtV3A4eXhYQklDNnJHRTdlTVJrS3oxZFwvUFFDXC9DS2J1NDhNK0R4XC9VejNoUFwvZ1NnRGoxakJNcUllUUZiRWFzcTRWTUV1ZG9FNUh1UjBcLzRQMXJmdG9EVlpwNnhFdnF1STY5dkt2YnZHcXpmTkpUNjVnPT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNzQ2NTczNzQ2MTcwNzA2QzY5NjM2MTc0Njk2RjZFNjQ2MTc0NjEiLCJ0cmFuc2FjdGlvbklkIjoiNzQ2NTczNzQ3NDcyNjE2RTczNjE2Mzc0Njk2RjZFNjk2NCIsImVwaGVtZXJhbFB1YmxpY0tleSI6Ik1JSUJTekNDQVFNR0J5cUdTTTQ5QWdFd2dmY0NBUUV3TEFZSEtvWkl6ajBCQVFJaEFQXC9cL1wvXC84QUFBQUJBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9NRnNFSVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC84QkNCYXhqWFlxanFUNTdQcnZWVjJtSWE4WlIwR3NNeFRzUFk3emp3K0o5SmdTd01WQU1TZE5naUc1d1NUYW1aNDRST2RKcmVCbjM2UUJFRUVheGZSOHVFc1FrZjR2T2JsWTZSQThuY0RmWUV0NnpPZzlLRTVSZGlZd3BaUDQwTGlcL2hwXC9tNDduNjBwOEQ1NFdLODR6VjJzeFhzN0x0a0JvTjc5UjlRSWhBUFwvXC9cL1wvOEFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC8rODV2cXRweGVlaFBPNXlzTDhZeVZSQWdFQkEwSUFCQmJHK2xtTHJIWWtKSVwvSUUwcTU3dEN0bE5jK2pBWHNudVMrSnFlOFVcLzc0cSs5NVRnbzVFRjBZNks3b01LTUt5cTMwY3VQbmtIenkwMjVpU1BGdWczRT0iLCJwdWJsaWNLZXlIYXNoIjoieCtQbUhHMzdUNjdBWUFIenVqbGJyaW1JdzZZaFlYaVpjYjV3WnJCNGpRdz0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lBMG9MXC9KSWFTN0tra1RFNG1pOGRmU2tQVVwvdlp2cVwva2NYZ1pUdGJZbENtTFM4YzNuS2VZNVE0c2s4MXJnZkI1ampBMWJRZldhUHBKc05tVWNSS3gzS0FGUEtpNzE0WWVYdGUrcmc2V1k4MnVxcnlwRERiTkhqSWVpNjVqV0dvcGRZUEx6TEk5c1Z3NDh5OHlqSXY3SjFaQVlycnp6YjBwNzUzcUJUQ0ZEN1p3PT0ifQ==" + } + }, + "processingInformation": { + "paymentSolution": "001" + } + } + }, + "example2": { + "summary": "Setup Completion with Tokenized Card", + "value": { + "paymentInformation": { + "tokenizedCard": { + "number": "4111111111111111", + "transactionType": "1", + "type": "001", + "expirationMonth": "11", + "expirationYear": "2025" + } + } + } + }, + "example3": { + "summary": "Setup Completion with TMS Token", + "value": { + "paymentInformation": { + "customer": { + "customerId": "21607EACE092FD29E063A2598D0A01B8" + } + } + } + }, + "example4": { + "summary": "Setup Completion with Visa Checkout", + "value": { + "paymentInformation": { + "visaCheckoutId": "4768462067836455354", + "paymentSolution": "visacheckout" + } + } + }, + "example5": { + "summary": "Setup Completion with Flex Transient Token", + "value": { + "tokenInformation": { + "jti": "1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056" + } + } + } + } + } + }, + "/risk/v1/authentications": { + "post": { + "summary": "Check Payer Auth Enrollment", + "description": "This call verifies that the card is enrolled in a card authentication program.", + "operationId": "checkPayerAuthEnrollment", + "tags": [ + "Payer Authentication" + ], + "produces": [ + "application/hal+json;charset=utf-8" + ], + "x-devcenter-metaData": { + "categoryTag": "Payer_Authentication", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html", + "isMLEsupported": true + }, + "parameters": [ + { + "name": "checkPayerAuthEnrollmentRequest", + "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", + "maxLength": 255, + "description": "Brief description of the order or any comment you wish to add to the order.\n" + }, + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + } + } + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "description": "Contains `currency` and `totalAmount` for this order.", + "required": [ + "currency", + "totalAmount" + ], + "properties": { + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + } + } + }, + "preOrder": { + "type": "string", + "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" + }, + "preOrderDate": { + "type": "string", + "maxLength": 10, + "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" + }, + "reordered": { + "type": "boolean", + "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" + }, + "shipTo": { + "type": "object", + "properties": { + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address3": { + "type": "string", + "maxLength": 60, + "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 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": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "destinationCode": { + "type": "integer", + "maxLength": 2, + "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" + }, + "method": { + "type": "string", + "maxLength": 10, + "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" + } + } + }, + "lineItems": { + "type": "array", + "description": "This array contains detailed information about individual products in the order.", + "items": { + "type": "object", + "required": [ + "unitPrice" + ], + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "giftCardCurrency": { + "type": "integer", + "maxLength": 3, + "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" + }, + "productSKU": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "productDescription": { + "type": "string", + "description": "Brief description of item." + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "passenger": { + "type": "object", + "description": "Contains travel-related passenger details used by DM service only.", + "properties": { + "type": { + "type": "string", + "maxLength": 32, + "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" + }, + "status": { + "type": "string", + "maxLength": 32, + "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" + }, + "phone": { + "type": "string", + "maxLength": 15, + "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" + }, + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Passenger's first name." + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Passenger's last name." + }, + "id": { + "type": "string", + "maxLength": 40, + "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." + }, + "nationality": { + "type": "string", + "maxLength": 2, + "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } + } + }, + "shippingDestinationTypes": { + "type": "string", + "maxLength": 50, + "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "shippingAddress1": { + "type": "string", + "maxLength": 50, + "description": "Address where item will be shipped" + }, + "shippingAddress2": { + "type": "string", + "maxLength": 50, + "description": "Address where item will be shipped" + }, + "shippingCity": { + "type": "string", + "maxLength": 20, + "description": "City where item will be shipped" + }, + "shippingCountryCode": { + "type": "string", + "maxLength": 10, + "description": "Country where item will be shipped" + }, + "shippingFirstName": { + "type": "string", + "maxLength": 20, + "description": "Customer's first name" + }, + "shippingLastName": { + "type": "string", + "maxLength": 20, + "description": "Customer's last name" + }, + "shippingMiddleName": { + "type": "string", + "maxLength": 20, + "description": "Customer's middle name" + }, + "shippingPhone": { + "type": "integer", + "description": "Phone number where item will be shipped" + }, + "shippingPostalCode": { + "type": "integer", + "description": "Postal code where item will be shipped" + }, + "shippingState": { + "type": "string", + "maxLength": 20, + "description": "State where item will be shipped" + } + } + } + }, + "billTo": { + "type": "object", + "required": [ + "address1", + "country", + "administrativeArea", + "postalCode", + "email", + "firstName", + "lastName" + ], + "properties": { + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" + }, + "address3": { + "type": "string", + "maxLength": 60, + "description": "Additional address information (third line of the billing address)\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "country": { + "type": "string", + "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + } + } + }, + "totalOffersCount": { + "type": "string", + "maxLength": 2, + "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "required": [ + "expirationMonth", + "expirationYear", + "number" + ], + "properties": { + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "cryptogram": { + "type": "string", + "maxLength": 255, + "description": "This field contains token information." + }, + "securityCode": { + "type": "string", + "maxLength": 4, + "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n" + }, + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + } + } + }, + "fluidData": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "maxLength": 4000, + "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" + }, + "keySerialNumber": { + "type": "string", + "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" + }, + "descriptor": { + "type": "string", + "maxLength": 128, + "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" + }, + "encoding": { + "type": "string", + "maxLength": 6, + "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" + } + } + }, + "customer": { + "type": "object", + "required": [ + "customerId" + ], + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + } + } + }, + "tokenInformation": { + "type": "object", + "properties": { + "transientToken": { + "type": "string", + "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" + }, + "jti": { + "type": "string", + "maxLength": 64, + "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" + } + } + }, + "buyerInformation": { + "type": "object", + "required": [ + "mobilePhone" + ], + "properties": { + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "personalIdentification": { + "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 -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" + }, + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + }, + "issuedBy": { + "type": "string", + "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" + }, + "verificationResults": { + "type": "string", + "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" + } + } + } + }, + "mobilePhone": { + "type": "integer", + "maxLength": 25, + "description": "Cardholder's mobile phone number.\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" + }, + "workPhone": { + "type": "integer", + "maxLength": 25, + "description": "Cardholder's work phone number." + } + } + }, + "deviceInformation": { + "type": "object", + "required": [ + "userAgentBrowserValue", + "httpBrowserTimeDifference", + "httpBrowserScreenWidth", + "httpBrowserScreenHeight", + "httpBrowserLanguage", + "httpBrowserJavaEnabled", + "httpAcceptContent", + "httpBrowserColorDepth" + ], + "properties": { + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "rawData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" + }, + "provider": { + "type": "string", + "maxLength": 32, + "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" + } + } + } + }, + "httpAcceptBrowserValue": { + "type": "string", + "maxLength": 255, + "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" + }, + "httpAcceptContent": { + "type": "string", + "maxLength": 256, + "description": "The exact content of the HTTP accept header.\n" + }, + "httpBrowserLanguage": { + "type": "string", + "maxLength": 8, + "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" + }, + "httpBrowserJavaEnabled": { + "type": "boolean", + "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" + }, + "httpBrowserJavaScriptEnabled": { + "type": "boolean", + "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" + }, + "httpBrowserColorDepth": { + "type": "string", + "maxLength": 2, + "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" + }, + "httpBrowserScreenHeight": { + "type": "string", + "maxLength": 6, + "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" + }, + "httpBrowserScreenWidth": { + "type": "string", + "maxLength": 6, + "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" + }, + "httpBrowserTimeDifference": { + "type": "string", + "maxLength": 5, + "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" + }, + "userAgentBrowserValue": { + "type": "string", + "maxLength": 255, + "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "url": { + "type": "string", + "maxLength": 255, + "description": "Address of company's website provided by merchant\n" + } + } + }, + "merchantName": { + "type": "string", + "maxLength": 25, + "description": "Your company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" + } + } + }, + "acquirerInformation": { + "type": "object", + "properties": { + "acquirerBin": { + "type": "string", + "maxLength": 11, + "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" + }, + "password": { + "type": "string", + "maxLength": 8, + "description": "Registered password for the Visa directory server.\n" + }, + "merchantId": { + "type": "string", + "maxLength": 15, + "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" + } + } + }, + "recurringPaymentInformation": { + "type": "object", + "description": "This object contains recurring payment information.", + "required": [ + "frequency", + "endDate" + ], + "properties": { + "endDate": { + "type": "string", + "maxLength": 10, + "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" + }, + "frequency": { + "type": "integer", + "maxLength": 4, + "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" + }, + "numberOfPayments": { + "type": "integer", + "maxLength": 3, + "description": "Total number of payments for the duration of the recurring subscription.\n" + }, + "originalPurchaseDate": { + "type": "string", + "maxLength": 17, + "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" + }, + "sequenceNumber": { + "type": "integer", + "maxLength": 3, + "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" + }, + "type": { + "type": "string", + "maxLength": 1, + "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" + }, + "occurrence": { + "type": "string", + "maxLength": 2, + "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" + }, + "validationIndicator": { + "type": "string", + "maxLength": 1, + "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" + }, + "amountType": { + "type": "string", + "maxLength": 1, + "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" + }, + "maximumAmount": { + "type": "string", + "maxLength": 12, + "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" + }, + "referenceNumber": { + "type": "string", + "maxLength": 35, + "description": "This will contain a unique reference number for the recurring payment transaction.\n" + } + } + }, + "consumerAuthenticationInformation": { + "type": "object", + "required": [ + "deviceChannel" + ], + "properties": { + "strongAuthentication": { + "type": "object", + "properties": { + "authenticationIndicator": { + "type": "string", + "maxLength": 2, + "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" + } + } + }, + "acsWindowSize": { + "type": "string", + "maxLength": 2, + "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" + }, + "alternateAuthenticationData": { + "type": "string", + "maxLength": 2048, + "description": "Data that documents and supports a specific authentication process.\n" + }, + "alternateAuthenticationDate": { + "type": "string", + "maxLength": 14, + "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" + }, + "alternateAuthenticationMethod": { + "type": "string", + "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" + }, + "authenticationDate": { + "type": "string", + "maxLength": 14, + "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" + }, + "authenticationTransactionId": { + "type": "string", + "maxLength": 26, + "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" + }, + "transactionFlowIndicator": { + "type": "integer", + "maxLength": 2, + "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" + }, + "challengeCode": { + "type": "string", + "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n" + }, + "challengeStatus": { + "type": "string", + "maxLength": 2, + "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" + }, + "customerCardAlias": { + "type": "string", + "maxLength": 128, + "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" + }, + "decoupledAuthenticationIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" + }, + "decoupledAuthenticationMaxTime": { + "type": "string", + "maxLength": 5, + "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" + }, + "defaultCard": { + "type": "boolean", + "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" + }, + "deviceChannel": { + "type": "string", + "maxLength": 10, + "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" + }, + "installmentTotalCount": { + "type": "integer", + "maxLength": 4, + "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" + }, + "merchantFraudRate": { + "type": "string", + "maxLength": 2, + "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" + }, + "marketingOptIn": { + "type": "boolean", + "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" + }, + "marketingSource": { + "type": "string", + "maxLength": 40, + "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" + }, + "mcc": { + "type": "string", + "maxLength": 4, + "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" + }, + "merchantScore": { + "type": "integer", + "maxLength": 2, + "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" + }, + "messageCategory": { + "type": "string", + "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" + }, + "npaCode": { + "type": "string", + "maxLength": 2, + "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" + }, + "overridePaymentMethod": { + "type": "string", + "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" + }, + "overrideCountryCode": { + "type": "string", + "maxLength": 2, + "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" + }, + "priorAuthenticationData": { + "type": "string", + "maxLength": 2048, + "description": "This field carry data that the ACS can use to verify the authentication process.\n" + }, + "priorAuthenticationMethod": { + "type": "string", + "maxLength": 2, + "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" + }, + "priorAuthenticationReferenceId": { + "type": "string", + "maxLength": 36, + "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" + }, + "priorAuthenticationTime": { + "type": "string", + "maxLength": 12, + "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" + }, + "productCode": { + "type": "string", + "maxLength": 3, + "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" + }, + "returnUrl": { + "type": "string", + "maxLength": 2048, + "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" + }, + "requestorId": { + "type": "string", + "maxLength": 35, + "description": "Cardinal's directory server assigned 3DS Requestor ID value" + }, + "requestorInitiatedAuthenticationIndicator": { + "type": "string", + "maxLength": 2, + "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" + }, + "requestorName": { + "type": "string", + "maxLength": 40, + "description": "Cardinal's directory server assigned 3DS Requestor Name value" + }, + "referenceId": { + "type": "string", + "maxLength": 50, + "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" + }, + "sdkMaxTimeout": { + "type": "string", + "maxLength": 2, + "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" + }, + "secureCorporatePaymentIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" + }, + "transactionMode": { + "type": "string", + "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" + }, + "whiteListStatus": { + "type": "string", + "maxLength": 1, + "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" + }, + "scoreRequest": { + "type": "integer", + "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" + } + } + }, + "riskInformation": { + "type": "object", + "properties": { + "buyerHistory": { + "type": "object", + "properties": { + "customerAccount": { + "type": "object", + "properties": { + "lastChangeDate": { + "type": "string", + "maxLength": 10, + "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" }, - "digitalPayments": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - }, - "features": { - "type": "object", - "description": "Allowed values are;\n\n \n \n \n \n \n \n \n \n \n \n \n \n
visaCheckout
applePay
samsungPay
googlePay
\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "visaCheckout", - "applePay", - "samsungPay", - "googlePay" - ], - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - } - } - } + "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" + }, + "status": { + "type": "string", + "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\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.\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" + }, + "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" + }, + "exemptionDataRaw": { + "type": "string", + "maxLength": 4, + "description": "Payer authentication exemption indicator for Carte Bancaire exemptions. \nThis is used with unbundled authentication and authorizations calls, for example: \"low fraud merchant program\".\nThe value returned in this field should be passed in the authorization request under the field -\n`consumerAuthenticationInformation.strongAuthentication.issuerInformation.exemptionDataRaw`.\n" + }, + "ivr": { + "type": "object", + "properties": { + "enabledMessage": { + "type": "boolean", + "description": "Flag to indicate if a valid IVR transaction was detected.\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. \nFor cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.For cards not issued in the U.S. or Canada, your bank may require this data as proof of enrollment\nchecking for any payer authentication transaction that you re-present because of a chargeback.\n" + }, + "proxyPan": { + "type": "string", + "description": "Encrypted version of the card number used in the payer authentication request message.\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: 2.2.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" + }, + "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 400 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": { + "orderInformation": { + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address2": "Address 2", + "address1": "1 Market St", + "postalCode": "94105", + "locality": "san francisco", + "administrativeArea": "CA", + "country": "US", + "phoneNumber": "4158880000", + "company": "Visa", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "10.99", + "currency": "USD" + } + }, + "buyerInformation": { + "mobilePhone": "1245789632" + }, + "paymentInformation": { + "card": { + "expirationMonth": "12", + "expirationYear": "2025", + "number": "4000000000002503", + "type": "001" + } + }, + "deviceInformation": { + "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", + "httpBrowserTimeDifference": "300", + "httpBrowserScreenWidth": "100000", + "httpBrowserScreenHeight": "100000", + "httpBrowserLanguage": "en_us", + "httpBrowserJavaScriptEnabled": "Y", + "httpBrowserJavaEnabled": "N", + "httpAcceptContent": "test", + "httpBrowserColorDepth": "24", + "fingerprintSessionId": "xyz", + "ipAddress": "139.130.4.5" + }, + "consumerAuthenticationInformation": { + "deviceChannel": "BROWSER", + "transactionMode": "eCommerce" + } + } + }, + "example1": { + "summary": "Enroll with Travel Information", + "value": { + "travelInformation": { + "legs": [ + { + "carrierCode": "UA", + "departureDate": "2023-01-01", + "destination": "DEFGH", + "origin": "LAX" + }, + { + "carrierCode": "AS", + "departureDate": "2023-02-21", + "destination": "RESD", + "origin": "ECF" + } + ], + "numberOfPassengers": "2", + "passengers": [ + { + "firstName": "Raj", + "lastName": "Charles" + }, + { + "firstName": "Potter", + "lastName": "Suhember" + } + ] + }, + "orderInformation": { + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address2": "Address 2", + "address1": "1 Market St", + "postalCode": "94105", + "locality": "san francisco", + "administrativeArea": "CA", + "country": "US", + "phoneNumber": "4158880000", + "company": "Visa", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "10.99", + "currency": "USD" + } + }, + "buyerInformation": { + "mobilePhone": "1245789632" + }, + "paymentInformation": { + "card": { + "type": "002", + "expirationMonth": "12", + "expirationYear": "2025", + "number": "5200000000002151" + } + }, + "deviceInformation": { + "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", + "httpBrowserTimeDifference": "300", + "httpBrowserScreenWidth": "100000", + "httpBrowserScreenHeight": "100000", + "httpBrowserLanguage": "en_us", + "httpBrowserJavaScriptEnabled": "Y", + "httpBrowserJavaEnabled": "N", + "httpAcceptContent": "test", + "httpBrowserColorDepth": "24", + "fingerprintSessionId": "xyz", + "ipAddress": "139.130.4.5" + }, + "consumerAuthenticationInformation": { + "deviceChannel": "BROWSER", + "transactionMode": "MOTO" + } + } + }, + "example2": { + "summary": "Authentication with NO Redirect", + "value": { + "orderInformation": { + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address2": "Address 2", + "address1": "1 Market St", + "postalCode": "94105", + "locality": "san francisco", + "administrativeArea": "CA", + "country": "US", + "phoneNumber": "4158880000", + "company": "Visa", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "10.99", + "currency": "USD" + } + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationMonth": "12", + "expirationYear": "2025", + "number": "4000000000002701" + } + }, + "deviceInformation": { + "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", + "httpBrowserTimeDifference": "300", + "httpBrowserScreenWidth": "100000", + "httpBrowserScreenHeight": "100000", + "httpBrowserLanguage": "en_us", + "httpBrowserJavaScriptEnabled": "Y", + "httpBrowserJavaEnabled": "N", + "httpAcceptContent": "test", + "httpBrowserColorDepth": "24", + "fingerprintSessionId": "xyz", + "ipAddress": "139.130.4.5" + }, + "consumerAuthenticationInformation": { + "deviceChannel": "BROWSER" + } + } + }, + "example3": { + "summary": "Authentication with New Account", + "value": { + "orderInformation": { + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address2": "Address 2", + "address1": "1 Market St", + "postalCode": "94105", + "locality": "san francisco", + "administrativeArea": "CA", + "country": "US", + "phoneNumber": "4158880000", + "company": "Visa", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "10.99", + "currency": "USD" + } + }, + "paymentInformation": { + "card": { + "type": "001", + "expirationMonth": "12", + "expirationYear": "2025", + "number": "4000000000002701" + } + }, + "deviceInformation": { + "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", + "httpBrowserTimeDifference": "300", + "httpBrowserScreenWidth": "100000", + "httpBrowserScreenHeight": "100000", + "httpBrowserLanguage": "en_us", + "httpBrowserJavaScriptEnabled": "Y", + "httpBrowserJavaEnabled": "N", + "httpAcceptContent": "test", + "httpBrowserColorDepth": "24", + "fingerprintSessionId": "xyz", + "ipAddress": "139.130.4.5" + }, + "consumerAuthenticationInformation": { + "deviceChannel": "BROWSER", + "transactionMode": "MOTO" + }, + "riskInformation": { + "buyerHistory": { + "customerAccount": { + "shipAddressUsageDate": "2017-05-06", + "creationHistory": "NEW_ACCOUNT" + }, + "accountHistory": { + "firstUseOfShippingAddress": "false" + } + } + } + } + }, + "example4": { + "summary": "Pending Authentication with Tokenized Card", + "value": { + "orderInformation": { + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address2": "Address 2", + "address1": "1 Market St", + "postalCode": "94105", + "locality": "san francisco", + "administrativeArea": "CA", + "country": "US", + "phoneNumber": "4158880000", + "company": "Visa", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "10.99", + "currency": "USD" + } + }, + "paymentInformation": { + "tokenizedCard": { + "transactionType": "1", + "type": "001", + "expirationMonth": "11", + "expirationYear": "2025", + "number": "4111111111111111" + } + }, + "deviceInformation": { + "userAgentBrowserValue": "GxKnLy8TFDUFxJP1t", + "httpBrowserTimeDifference": "300", + "httpBrowserScreenWidth": "100000", + "httpBrowserScreenHeight": "100000", + "httpBrowserLanguage": "en_us", + "httpBrowserJavaScriptEnabled": "Y", + "httpBrowserJavaEnabled": "N", + "httpAcceptContent": "test", + "httpBrowserColorDepth": "24", + "fingerprintSessionId": "xyz", + "ipAddress": "139.130.4.5" + }, + "consumerAuthenticationInformation": { + "deviceChannel": "BROWSER" + } + } + }, + "example5": { + "summary": "Enroll with customerId as payment information", + "value": { + "orderInformation": { + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address1": "1 Market St", + "postalCode": "94105", + "locality": "san francisco", + "administrativeArea": "CA", + "country": "US", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "10.99", + "currency": "USD" + } + }, + "paymentInformation": { + "customer": { + "customerId": "21607EACE092FD29E063A2598D0A01B8" + } + }, + "deviceInformation": { + "httpAcceptContent": "all", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "userAgentBrowserValue": "chrome" + }, + "consumerAuthenticationInformation": { + "deviceChannel": "Browser", + "referenceId": "CybsCruiseTester-6259e7e2" + } + } + }, + "example6": { + "summary": "Enroll with transient token", + "value": { + "orderInformation": { + "billTo": { + "firstName": "John", + "lastName": "Doe", + "address2": "Address 2", + "address1": "1 Market St", + "postalCode": "94105", + "locality": "san francisco", + "administrativeArea": "CA", + "country": "US", + "phoneNumber": "4158880000", + "company": "Visa", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "10.99", + "currency": "USD" + } + }, + "consumerAuthenticationInformation": { + "referenceId": "CybsCruiseTester-ddb08174", + "deviceChannel": "Browser" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + }, + "tokenInformation": { + "jti": "1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056" + } + } + }, + "example7": { + "summary": "First Recurring Transaction", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + } + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "5200000000002805", + "expirationMonth": "12", + "type": "002" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "02" + }, + "messageCategory": "01", + "challengeCode": "03", + "referenceId": "CybsCruiseTester-ddb08174", + "deviceChannel": "Browser" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + }, + "recurringPaymentInformation": { + "sequenceNumber": "1", + "numberOfPayments": "1", + "originalPurchaseDate": "2024080511243877", + "frequency": "31", + "endDate": "20240906" + } + } + }, + "example8": { + "summary": "Subsequent Recurring Transaction", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "5200000000002235", + "expirationMonth": "12", + "type": "002" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "02" + }, + "requestorInitiatedAuthenticationIndicator": "01", + "priorAuthenticationData": "bf67e7e6-c8cf-4b93-a211-3f4f60b07524", + "messageCategory": "01", + "authenticationDate": "20190829154531", + "referenceId": "CybsCruiseTester-ddb08174", + "deviceChannel": "3RI" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + }, + "recurringPaymentInformation": { + "sequenceNumber": "1", + "numberOfPayments": "1", + "originalPurchaseDate": "2024080511243877", + "frequency": "31", + "endDate": "20240906" + } + } + }, + "example9": { + "summary": "Customer Initiated Installment Transaction", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "5200000000002805", + "expirationMonth": "12", + "type": "002" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "03" + }, + "messageCategory": "01", + "authenticationDate": "20190829154531", + "referenceId": "CybsCruiseTester-2551acb2", + "deviceChannel": "Browser", + "installmentTotalCount": "2" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + }, + "recurringPaymentInformation": { + "sequenceNumber": "1", + "numberOfPayments": "1", + "originalPurchaseDate": "2024080511243877", + "frequency": "31", + "endDate": "20240906" + } + } + }, + "example10": { + "summary": "Split/Partial Shipment Transaction", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "5200000000002235", + "expirationMonth": "12", + "type": "002" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "02" + }, + "requestorInitiatedAuthenticationIndicator": "06", + "priorAuthenticationTime": "202408051124", + "priorAuthenticationMethod": "02", + "priorAuthenticationData": "bf67e7e6-c8cf-4b93-a211-3f4f60b07524", + "messageCategory": "01", + "challengeCode": "03", + "referenceId": "CybsCruiseTester-ddb08174", + "deviceChannel": "3RI" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + }, + "recurringPaymentInformation": { + "sequenceNumber": "1", + "numberOfPayments": "1", + "originalPurchaseDate": "2024080511243877", + "frequency": "31", + "endDate": "20240906" + } + } + }, + "example11": { + "summary": "Split/Delayed Shipment Transaction", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "4000000000002701", + "expirationMonth": "12", + "type": "001" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "01" + }, + "requestorInitiatedAuthenticationIndicator": "06", + "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", + "priorAuthenticationTime": "202408051124", + "priorAuthenticationMethod": "02", + "messageCategory": "01", + "referenceId": "CybsCruiseTester-ddb08174", + "deviceChannel": "3RI" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + } + } + }, + "example12": { + "summary": "Multi-Party Commerce or OTA Frictionless", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "4000000000002701", + "expirationMonth": "12", + "type": "001" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "01" + }, + "requestorInitiatedAuthenticationIndicator": "11", + "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", + "priorAuthenticationTime": "202408051124", + "priorAuthenticationMethod": "02", + "messageCategory": "01", + "referenceId": "CybsCruiseTester-ddb08174", + "deviceChannel": "3RI" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + } + } + }, + "example13": { + "summary": "Customer Initiated Multi-Party Commerce or OTA", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "5200000000002805", + "expirationMonth": "12", + "type": "002" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "85" + }, + "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", + "priorAuthenticationTime": "202408051124", + "priorAuthenticationMethod": "02", + "messageCategory": "01", + "challengeCode": "03", + "referenceId": "CybsCruiseTester-500582d1", + "deviceChannel": "Browser" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + }, + "recurringPaymentInformation": { + "sequenceNumber": "1", + "numberOfPayments": "1", + "originalPurchaseDate": "2024080511243877", + "frequency": "31", + "endDate": "20240906" + } + } + }, + "example14": { + "summary": "Merchant Initiated Multi-Party Commerce or OTA", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "5200000000002235", + "expirationMonth": "12", + "type": "002" + } + }, + "consumerAuthenticationInformation": { + "strongAuthentication": { + "authenticationIndicator": "85" + }, + "requestorInitiatedAuthenticationIndicator": "85", + "priorAuthenticationReferenceId": "74fd3b64-5abb-4ac2-b090-1fba79996123", + "priorAuthenticationTime": "202408051124", + "priorAuthenticationMethod": "02", + "messageCategory": "01", + "referenceId": "CybsCruiseTester-8e9d566d", + "deviceChannel": "3RI" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + } + } + }, + "example15": { + "summary": "3RI Transaction Not Supported", + "value": { + "orderInformation": { + "billTo": { + "country": "US", + "lastName": "VDP", + "address1": "201 S. Division St.", + "postalCode": "48104-2201", + "locality": "Ann Arbor", + "administrativeArea": "MI", + "firstName": "RTS", + "email": "test@cybs.com" + }, + "amountDetails": { + "totalAmount": "100.00", + "currency": "eur" + }, + "lineItems": [ + { + "unitPrice": "120.00" + } + ] + }, + "paymentInformation": { + "card": { + "expirationYear": "2027", + "number": "4000000000002248", + "expirationMonth": "12", + "type": "001" + } + }, + "consumerAuthenticationInformation": { + "requestorInitiatedAuthenticationIndicator": "01", + "messageCategory": "02", + "referenceId": "CybsCruiseTester-500582d1", + "deviceChannel": "Browser" + }, + "deviceInformation": { + "userAgentBrowserValue": "chrome", + "httpBrowserLanguage": "en", + "httpBrowserJavaEnabled": "y", + "httpBrowserColorDepth": 1, + "httpBrowserScreenHeight": 1, + "httpBrowserScreenWidth": 1, + "httpBrowserTimeDifference": 5, + "httpAcceptContent": "all", + "httpAcceptHeader": "all" + } + } + } + } + } + }, + "/risk/v1/authentication-results": { + "post": { + "summary": "Validate Authentication Results", + "description": "This call retrieves and validates the authentication results from issuer and allows the merchant to proceed with processing the payment.\n", + "tags": [ + "Payer Authentication" + ], + "operationId": "validateAuthenticationResults", + "x-devcenter-metaData": { + "categoryTag": "Payer_Authentication", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html", + "isMLEsupported": true + }, + "parameters": [ + { + "name": "validateRequest", + "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", + "maxLength": 255, + "description": "Brief description of the order or any comment you wish to add to the order.\n" + }, + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + } + } + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "visaCheckoutId": { + "type": "string", + "maxLength": 48, + "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "description": "Contains `currency` and `totalAmount` for this order.", + "properties": { + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + } + } + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + } + } + }, + "fluidData": { + "type": "object", + "properties": { + "value": { + "type": "string", + "maxLength": 4000, + "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" + }, + "keySerialNumber": { + "type": "string", + "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" + }, + "descriptor": { + "type": "string", + "maxLength": 128, + "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" + }, + "encoding": { + "type": "string", + "maxLength": 6, + "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" + } + } + }, + "customer": { + "type": "object", + "required": [ + "customerId" + ], + "properties": { + "customerId": { + "type": "string", + "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + } + } + }, + "consumerAuthenticationInformation": { + "type": "object", + "required": [ + "authenticationTransactionId" + ], + "properties": { + "authenticationTransactionId": { + "type": "string", + "maxLength": 26, + "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" + }, + "authenticationTransactionContext": { + "type": "string", + "maxLength": 256, + "description": "Authentication transaction context is used as a unique identifier to link enroll and validate call.\n" + }, + "otpToken": { + "type": "string", + "maxLength": 255, + "description": "OTP entered by the card holder.\n" + }, + "responseAccessToken": { + "type": "string", + "description": "JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.\n" + }, + "signedParesStatusReason": { + "type": "string", + "maxLength": 2, + "description": "Provides additional information as to why the PAResStatus has a specific value.\n" + }, + "signedPares": { + "type": "string", + "description": "Payer authentication result (PARes) message returned by the card-issuing bank.\nIf you need to show proof of enrollment checking, you may need to\ndecrypt and parse the string for the information required by the payment card company.\nFor more information, see \"Storing Payer Authentication Data,\" page 160.\nImportant The value is in base64. You must remove all carriage returns and line feeds before\nadding the PARes to the request.\n" + }, + "whiteListStatus": { + "type": "string", + "maxLength": 1, + "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" + }, + "credentialEncrypted": { + "type": "string", + "maxLength": 10, + "description": "A flag to indicate if the passed credential has been encrypted by the Merchant." + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + } + } + }, + "tokenInformation": { + "type": "object", + "properties": { + "jti": { + "type": "string", + "maxLength": 64, + "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" + } + } + } + } + } + } + ], + "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" + }, + "status": { + "type": "string", + "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\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" + }, + "acsReferenceNumber": { + "type": "string", + "maxLength": 50, + "description": "Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval." + }, + "acsTransactionId": { + "type": "string", + "maxLength": 36, + "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n" + }, + "acsOperatorID": { + "type": "string", + "description": "Directory Server assigned ACS identifier." + }, + "authenticationResult": { + "type": "string", + "description": "Raw authentication data that comes from the cardissuing bank. Primary authentication field that\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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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: 2.2.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 400 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": { + "paymentInformation": { + "card": { + "type": "002" + } + }, + "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": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "country": { + "type": "string", + "maxLength": 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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "emailDomain": { + "type": "string", + "maxLength": 100, + "description": "Email domain of the customer. The domain of the email address comprises all characters that follow the @ symbol, such as mail.example.com. For the Risk Update service, if the email address and the domain are sent in the request, the domain supersedes the email address.\n" + } + } + }, + "shipTo": { + "type": "object", + "description": "Contains recipient shipping information.", + "properties": { + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 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": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + } + } + }, + "lineItems": { + "type": "array", + "description": "This array contains detailed information about individual products in the order.", + "items": { + "type": "object", + "properties": { + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + } + } + } + } + } + }, + "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 -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" + }, + "id": { + "type": "string", + "maxLength": 26, + "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" + }, + "issuedBy": { + "type": "string", + "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n" + }, + "verificationResults": { + "type": "string", + "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" + } + } + } + } + } + } + } + } + } + ], + "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" } } - }, - "secureAcceptance": { + } + } + } + } + }, + "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": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } + "href": { + "type": "string", + "description": "This is the endpoint of the resource that was created by the successful request.\n", + "example": "/pts/v2/reversals/4963015972176007901547" }, - "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", - "description": "Possible values:\n- CARD\n- ECHECK\n- VISACHECKOUT\n- PAYPAL" - } - } - } - }, - "checkout": { - "type": "object", - "properties": { - "displayTaxAmount": { - "type": "boolean", - "description": "Toggles whether or not the tax amount is displayed on the Hosted Checkout." - }, - "templateType": { - "type": "string", - "description": "Specifies whether the Hosted Checkout is displayed as a single page form or multi page checkout. \n\nValid values: \n`multi` \n`single`\n" - }, - "returnToMerchantSiteUrl": { - "type": "string", - "description": "URL of the website linked to from the Secure Acceptance receipt page. Only used if the profile does not have custom receipt pages configured." - } - } - }, - "paymentTypes": { - "type": "object", - "description": "Object containing Payment Types supported", - "properties": { - "cardTypes": { - "type": "object", - "properties": { - "discover": { - "type": "object", - "description": "Object containing supported Card Types and settings", - "properties": { - "cardVerificationNumberSupported": { - "type": "boolean", - "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." - }, - "cardVerificationNumberDisplay": { - "type": "boolean", - "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." - }, - "payerAuthenticationSupported": { - "type": "boolean", - "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." - }, - "supportedCurrencies": { - "type": "array", - "description": "Array of the supported ISO 4217 alphabetic currency codes.", - "items": { - "type": "string" - } - }, - "method": { - "type": "string" - }, - "cardVerificationNumberRequired": { - "type": "boolean" - }, - "payerAuthenticationEnabled": { - "type": "boolean" - } - } - }, - "amex": { - "type": "object", - "description": "Object containing supported Card Types and settings", - "properties": { - "cardVerificationNumberSupported": { - "type": "boolean", - "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." - }, - "cardVerificationNumberDisplay": { - "type": "boolean", - "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." - }, - "payerAuthenticationSupported": { - "type": "boolean", - "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." - }, - "supportedCurrencies": { - "type": "array", - "description": "Array of the supported ISO 4217 alphabetic currency codes.", - "items": { - "type": "string" - } - }, - "method": { - "type": "string" - }, - "cardVerificationNumberRequired": { - "type": "boolean" - }, - "payerAuthenticationEnabled": { - "type": "boolean" - } - } - }, - "masterCard": { - "type": "object", - "description": "Object containing supported Card Types and settings", - "properties": { - "cardVerificationNumberSupported": { - "type": "boolean", - "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." - }, - "cardVerificationNumberDisplay": { - "type": "boolean", - "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." - }, - "payerAuthenticationSupported": { - "type": "boolean", - "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." - }, - "supportedCurrencies": { - "type": "array", - "description": "Array of the supported ISO 4217 alphabetic currency codes.", - "items": { - "type": "string" - } - }, - "method": { - "type": "string" - }, - "cardVerificationNumberRequired": { - "type": "boolean" - }, - "payerAuthenticationEnabled": { - "type": "boolean" - } - } - }, - "visa": { - "type": "object", - "description": "Object containing supported Card Types and settings", - "properties": { - "cardVerificationNumberSupported": { - "type": "boolean", - "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." - }, - "cardVerificationNumberDisplay": { - "type": "boolean", - "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." - }, - "payerAuthenticationSupported": { - "type": "boolean", - "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." - }, - "supportedCurrencies": { - "type": "array", - "description": "Array of the supported ISO 4217 alphabetic currency codes.", - "items": { - "type": "string" - } - }, - "method": { - "type": "string" - }, - "cardVerificationNumberRequired": { - "type": "boolean" - }, - "payerAuthenticationEnabled": { - "type": "boolean" - } - } - } - } - } - } - } - } - } - } + "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": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "country": { + "type": "string", + "maxLength": 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": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "country": { + "type": "string", + "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", + "maxLength": 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": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + } + } + }, + "lineItems": { + "type": "array", + "items": { + "type": "object", + "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#### 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\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. \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." }, - "virtualTerminal": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "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", - "description": "Possible values:\n- AUTHORIZATION\n- SALE" - }, - "defaultPaymentType": { - "type": "string", - "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" - }, - "defaultTransactionSource": { - "type": "string" - }, - "displayRetail": { - "type": "boolean" - }, - "displayMoto": { - "type": "boolean" - }, - "displayInternet": { - "type": "boolean" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "displayCardVerificationValue": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "requireCardVerificationValue": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "acceptedCardTypes": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "displayCreditCards": { - "type": "boolean" - }, - "displayEchecks": { - "type": "boolean" - }, - "displayDebtIndicator": { - "type": "boolean" - }, - "displayBillPayment": { - "type": "boolean" - }, - "enableEchecks": { - "type": "boolean" - }, - "displayIgnoreECheckAvsCheckbox": { - "type": "boolean" - }, - "firstNameRequired": { - "type": "boolean" - }, - "lastNameRequired": { - "type": "boolean" - }, - "displayFirstName": { - "type": "boolean" - }, - "displayLastName": { - "type": "boolean" - } - } - }, - "merchantDefinedDataFields": { - "type": "object", - "properties": { - "displayMerchantDefinedData1": { - "type": "boolean" - }, - "displayMerchantDefinedData2": { - "type": "boolean" - }, - "displayMerchantDefinedData3": { - "type": "boolean" - }, - "displayMerchantDefinedData4": { - "type": "boolean" - }, - "displayMerchantDefinedData5": { - "type": "boolean" - }, - "merchantDefinedData1DefaultValue": { - "type": "string" - }, - "merchantDefinedData1Label": { - "type": "string" - }, - "requireMerchantDefinedData1": { - "type": "boolean" - }, - "merchantDefinedData2DefaultValue": { - "type": "string" - }, - "merchantDefinedData2Label": { - "type": "string" - }, - "requireMerchantDefinedData2": { - "type": "boolean" - }, - "merchantDefinedData3DefaultValue": { - "type": "string" - }, - "merchantDefinedData3Label": { - "type": "string" - }, - "requireMerchantDefinedData3": { - "type": "boolean" - }, - "merchantDefinedData4DefaultValue": { - "type": "string" - }, - "merchantDefinedData4Label": { - "type": "string" - }, - "requireMerchantDefinedData4": { - "type": "boolean" - }, - "merchantDefinedData5DefaultValue": { - "type": "string" - }, - "merchantDefinedData5Label": { - "type": "string" - }, - "requireMerchantDefinedData5": { - "type": "boolean" - }, - "merchantDefinedData1DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData2DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData3DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData4DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData5DisplayOnReceipt": { - "type": "boolean" - } - } - } - } - }, - "receiptInformation": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "virtualTerminalReceiptHeader": { - "type": "string" - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "emailAliasName": { - "type": "string" - }, - "customReplyToEmailAddress": { - "type": "string" - } - } - }, - "emailReceipt": { - "type": "object", - "properties": { - "sendersEmailAddress": { - "type": "string" - } - } - } - } - } - } - }, - "cardPresent": { - "type": "object", - "properties": { - "globalPaymentInformation": { - "type": "object", - "properties": { - "basicInformation": { - "type": "object", - "properties": { - "defaultStandardEntryClassCode": { - "type": "string" - }, - "defaultCountryCode": { - "type": "string", - "description": "ISO 4217 format" - }, - "defaultCurrencyCode": { - "type": "string", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" - }, - "defaultTransactionType": { - "type": "string", - "description": "Possible values:\n- AUTHORIZATION\n- SALE" - }, - "defaultPaymentType": { - "type": "string", - "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" - }, - "defaultTransactionSource": { - "type": "string" - }, - "displayRetail": { - "type": "boolean" - }, - "displayMoto": { - "type": "boolean" - }, - "displayInternet": { - "type": "boolean" - } - } - }, - "paymentInformation": { - "type": "object", - "properties": { - "displayCardVerificationValue": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "requireCardVerificationValue": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "acceptedCardTypes": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "displayCreditCards": { - "type": "boolean" - }, - "displayEchecks": { - "type": "boolean" - }, - "displayDebtIndicator": { - "type": "boolean" - }, - "displayBillPayment": { - "type": "boolean" - }, - "enableEchecks": { - "type": "boolean" - }, - "displayIgnoreECheckAvsCheckbox": { - "type": "boolean" - }, - "firstNameRequired": { - "type": "boolean" - }, - "lastNameRequired": { - "type": "boolean" - }, - "displayFirstName": { - "type": "boolean" - }, - "displayLastName": { - "type": "boolean" - } - } - }, - "merchantDefinedDataFields": { - "type": "object", - "properties": { - "displayMerchantDefinedData1": { - "type": "boolean" - }, - "displayMerchantDefinedData2": { - "type": "boolean" - }, - "displayMerchantDefinedData3": { - "type": "boolean" - }, - "displayMerchantDefinedData4": { - "type": "boolean" - }, - "displayMerchantDefinedData5": { - "type": "boolean" - }, - "merchantDefinedData1DefaultValue": { - "type": "string" - }, - "merchantDefinedData1Label": { - "type": "string" - }, - "requireMerchantDefinedData1": { - "type": "boolean" - }, - "merchantDefinedData2DefaultValue": { - "type": "string" - }, - "merchantDefinedData2Label": { - "type": "string" - }, - "requireMerchantDefinedData2": { - "type": "boolean" - }, - "merchantDefinedData3DefaultValue": { - "type": "string" - }, - "merchantDefinedData3Label": { - "type": "string" - }, - "requireMerchantDefinedData3": { - "type": "boolean" - }, - "merchantDefinedData4DefaultValue": { - "type": "string" - }, - "merchantDefinedData4Label": { - "type": "string" - }, - "requireMerchantDefinedData4": { - "type": "boolean" - }, - "merchantDefinedData5DefaultValue": { - "type": "string" - }, - "merchantDefinedData5Label": { - "type": "string" - }, - "requireMerchantDefinedData5": { - "type": "boolean" - }, - "merchantDefinedData1DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData2DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData3DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData4DisplayOnReceipt": { - "type": "boolean" - }, - "merchantDefinedData5DisplayOnReceipt": { - "type": "boolean" - } - } - } - } - }, - "receiptInformation": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "virtualTerminalReceiptHeader": { - "type": "string" - } - } - }, - "orderInformation": { - "type": "object", - "properties": { - "emailAliasName": { - "type": "string" - }, - "customReplyToEmailAddress": { - "type": "string" - } - } - }, - "emailReceipt": { - "type": "object", - "properties": { - "sendersEmailAddress": { - "type": "string" - } - } - } - } - } - } - } - } - } - } + "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": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "country": { + "type": "string", + "maxLength": 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\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", + "properties": { + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. If line items are present in the request, the unit price is a mandatory field.\n" + }, + "allowedExportCountries": { + "type": "array", + "items": { + "type": "string", + "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" + } + }, + "restrictedExportCountries": { + "type": "array", + "items": { + "type": "string", + "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" + } + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productSKU": { + "type": "string", + "maxLength": 255, + "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" + }, + "productRisk": { + "type": "string", + "maxLength": 6, + "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + } + } + } + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Optional customer's account ID, tracking number, reward number, or other unique number\nthat you assign to the customer for the purpose that you choose\n" + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string", + "maxLength": 45, + "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" + }, + "hostName": { + "type": "string", + "maxLength": 60, + "description": "DNS resolved hostname from `ipAddress`." + } + } + }, + "exportComplianceInformation": { + "type": "object", + "properties": { + "addressOperator": { + "type": "string", + "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" + }, + "weights": { + "type": "object", + "properties": { + "address": { + "type": "string", + "maxLength": 6, + "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" + }, + "company": { + "type": "string", + "maxLength": 6, + "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" + }, + "name": { + "type": "string", + "maxLength": 6, + "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" + } + } + }, + "sanctionLists": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" + } + } + } + } + } + } + ], + "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", + "isMLEsupported": true + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "surcharge": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "maxLength": 15, + "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n" + } + } + } + } + }, + "billTo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 60, + "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "lastName": { + "type": "string", + "maxLength": 60, + "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" + }, + "country": { + "type": "string", + "maxLength": 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": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 15, + "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "phoneType": { + "type": "string", + "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" + } + } + }, + "isCryptocurrencyPurchase": { + "type": "string", + "description": "#### Visa Platform Connect :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nAdditional values to add :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nvalid values are\n- Y/y, true\n- N/n, false\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "categoryCode": { + "type": "integer", + "maximum": 9999, + "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" + }, + "submitLocalDateTime": { + "type": "string", + "description": "Time that the transaction was submitted in local time. The time is in hhmmss format.\n" + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" + }, + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" + }, + "locality": { + "type": "string", + "maxLength": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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": "Contact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of merchant's address.\n" + } + } + } + } + }, + "recipientInformation": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 30, + "description": "First name of the recipient. \nThis field is applicable for AFT & OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" + }, + "middleName": { + "type": "string", + "maxLength": 30, + "description": "Middle name of the recipient. \nThis field is applicable for AFT & OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" + }, + "lastName": { + "type": "string", + "maxLength": 30, + "description": "Last name of the recipient. \nThis field is applicable for AFT & OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" + }, + "address1": { + "type": "string", + "maxLength": 35, + "description": "The street address of the recipient\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" + }, + "locality": { + "type": "string", + "maxLength": 25, + "description": "The city of the recipient.\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported.\nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 2, + "description": "The state or province of the recipient.\nThis field is applicable for AFT and OCT transactions when the recipient country is US or CA. Else it is optional.\n\nMust be a two character value\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "minLength": 2, + "description": "The country associated with the address of the recipient.\nThis field is applicable for AFT and OCT transactions.\n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Recipient postal code. Required only for FDCCompass." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Recipient phone number. Required only for FDCCompass." + }, + "aliasName": { + "type": "string", + "maxLength": 50, + "description": "Account owner alias name.\n" + }, + "nationality": { + "type": "string", + "maxLength": 10, + "description": "Account Owner Nationality" + }, + "countryOfBirth": { + "type": "string", + "maxLength": 10, + "description": "Account Owner Country of Birth" + }, + "occupation": { + "type": "string", + "maxLength": 50, + "description": "Account Owner Occupation" + }, + "email": { + "type": "string", + "maxLength": 150, + "description": "Account Owner email address" + } + } + }, + "senderInformation": { + "type": "object", + "properties": { + "referenceNumber": { + "type": "string", + "maxLength": 19, + "description": "Reference number generated by you that uniquely identifies the sender." + }, + "account": { + "type": "object", + "properties": { + "fundsSource": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "description": "Source of funds. Possible values:\n\n Paymentech, CTV, FDC Compass:\n - 01: Credit card\n - 02: Debit card\n - 03: Prepaid card\n\n Paymentech, CTV -\n - 04: Cash\n - 05: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings\n accounts, and proprietary debit or ATM cards.\n - 06: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines\n of credit.\n\n FDCCompass -\n - 04: Deposit Account\n\n**Funds Disbursement**\n\nThis value is most likely 05 to identify that the originator used a deposit account to fund the\ndisbursement.\n\n**Credit Card Bill Payment**\n\nThis value must be 02, 03, 04, or 05.\n" + }, + "number": { + "type": "string", + "maxLength": 34, + "description": "The account number of the entity funding the transaction. It is the sender's account number. It can\nbe a debit/credit card account number or bank account number.\n\n**Funds disbursements and OCT transactions**\n\nThis field is optional.\n\n**All other transactions**\n\nThis field is required when the sender funds the transaction with a financial instrument, for example\ndebit card.\nLength:\n* FDCCompass (<= 19)\n* Paymentech (<= 16)\n" + } + } + }, + "firstName": { + "type": "string", + "maxLength": 30, + "description": "First name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor.\n" + }, + "middleInitial": { + "type": "string", + "maxLength": 1, + "description": "Recipient middle initial (Optional).\n" + }, + "middleName": { + "type": "string", + "maxLength": 30, + "description": "Middle name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" + }, + "lastName": { + "type": "string", + "maxLength": 30, + "description": "Last name of the sender.\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n" + }, + "name": { + "type": "string", + "maxLength": 24, + "description": "Name of sender.\n\n**Funds Disbursement**\n\nThis value is the name of the originator sending the funds disbursement.\n* CTV, Paymentech (30)\n" + }, + "address1": { + "type": "string", + "maxLength": 50, + "description": "Street address of sender.\n\n**Funds Disbursement**\n\nThis value is the address of the originator sending the funds disbursement.\n" + }, + "locality": { + "type": "string", + "maxLength": 25, + "description": "City of sender.\n\n**Funds Disbursement**\n\nThis value is the city of the originator sending the funds disbursement.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 2, + "description": "Sender's state. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" + }, + "countryCode": { + "type": "string", + "maxLength": 2, + "description": "Country of sender. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n* CTV (3)\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Sender's postal code. Required only for FDCCompass." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "description": "Sender's phone number. Required only for FDCCompass." + }, + "dateOfBirth": { + "type": "string", + "minLength": 8, + "maxLength": 8, + "description": "Sender's date of birth in YYYYMMDD format. Required only for FDCCompass." + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 13, + "description": "Customer's government-assigned tax identification number.\n" + }, + "personalIdType": { + "type": "string", + "maxLength": 4, + "description": "#### Visa Platform Connect\nThis tag will contain the type of sender identification.\nThe valid values are:\n\u2022 BTHD (Date of birth)\n\u2022 CUID (Customer identification (unspecified))\n\u2022 NTID (National identification)\n\u2022 PASN (Passport number)\n\u2022 DRLN (Driver license)\n\u2022 TXIN (Tax identification)\n\u2022 CPNY (Company registration number)\n\u2022 PRXY (Proxy identification)\n\u2022 SSNB (Social security number)\n\u2022 ARNB (Alien registration number)\n\u2022 LAWE (Law enforcement identification)\n\u2022 MILI (Military identification)\n\u2022 TRVL (Travel identification (non-passport))\n\u2022 EMAL (Email)\n\u2022 PHON (Phone number)\n" + }, + "type": { + "type": "string", + "maxLength": 1, + "description": "#### Visa Platform Connect\nThis tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are:\n\u2022 B (Business)\n\u2022 I (Individual)\n" + }, + "identificationNumber": { + "type": "string", + "maxLength": 255, + "description": "#### Visa Platform Connect\nThis tag will contain an acquirer-populated value associated with the API : senderInformation.personalIdType which will identify the personal ID type of the sender.\n" + }, + "aliasName": { + "type": "string", + "maxLength": 50, + "description": "Sender's alias name." + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "businessApplicationId": { + "type": "string", + "maxLength": 2, + "description": "Payouts transaction type.\n\nApplicable Processors: FDC Compass, Paymentech, CtV\n\nPossible values:\n\n**Credit Card Bill Payment**\n\n - **CP**: credit card bill payment\n\n**Funds Disbursement**\n\n - **FD**: funds disbursement\n - **GD**: government disbursement\n - **MD**: merchant disbursement\n\n**Money Transfer**\n\n - **AA**: account to account. Sender and receiver are same person.\n - **PP**: person to person. Sender and receiver are different.\n\n**Prepaid Load**\n\n - **TU**: top up\n" + }, + "networkRoutingOrder": { + "type": "string", + "maxLength": 30, + "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to get the attributes for specified networks only.\nThe networks specified in this field must be a subset of the information provided during program enrollment. Refer to Sharing Group Code/Network Routing Order.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service.\n\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the network routing order.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference. \nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on the acquirer's routing priorities. \n" + }, + "commerceIndicator": { + "type": "string", + "maxLength": 13, + "description": "Type of transaction.\n\nValue for an OCT transaction:\n- `internet`\n" + }, + "reconciliationId": { + "type": "string", + "maxLength": 60, + "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" + }, + "payoutsOptions": { + "type": "object", + "properties": { + "acquirerMerchantId": { + "type": "string", + "maxLength": 15, + "description": "This field identifies the card acceptor for defining the point of service terminal in both local and interchange environments. An acquirer-assigned code identifying the card acceptor for the transaction. \nDepending on the acquirer and merchant billing and reporting requirements, the code can represent a merchant, a specific merchant location, or a specific merchant location terminal.\nAcquiring Institution Identification Code uniquely identifies the merchant.\nThe value from the original is required in any subsequent messages, including reversals, chargebacks, and representments.\n* Applicable only for CTV for Payouts.\n" + }, + "acquirerBin": { + "type": "string", + "maxLength": 11, + "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant or ADM or dispensed cash. \nThis number is usually Visa-assigned.\n* Applicable only for CTV for Payouts.\n" + }, + "retrievalReferenceNumber": { + "type": "string", + "maxLength": 12, + "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction;\nthat is, to a given transaction set.\n\nFormat:\n Positions 1-4: The `yddd` equivalent of the date, where `y` = 0-9 and `ddd` = 001 \u2013 366.\n Positions 5-12: A unique identification number generated by the merchant\n\n* Applicable only for CTV for Payouts.\n" + }, + "accountFundingReferenceId": { + "type": "string", + "maxLength": 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 field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide.\n" + }, + "fundingOptions": { + "type": "object", + "properties": { + "initiator": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 1, + "description": "#### Visa Platform Connect :\nThis API will contain a code that denotes whether the customer identification data belongs to the sender or the recipient.\n\nThe valid values are:\n\u2022 S (Payer (sender))\n\u2022 R (Payee (recipient))\n" + } + } + } + } + }, + "languageCode": { + "type": "string", + "maxLength": 10, + "description": "Contains the ISO 639-2 defined language Code\n" + }, + "purchaseOptions": { + "type": "object", + "properties": { + "benefitAmount": { + "type": "string", + "maxLength": 20, + "description": "Workplace benefit amount." + }, + "benefitType": { + "type": "string", + "maxLength": 100, + "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n" + } + } + } + } + }, + "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" + }, + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "instrumentIdentifier": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 12, + "maxLength": 32 + }, + "state": { + "type": "string", + "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" + } + } + }, + "tokenizedCard": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 20, + "description": "Customer's payment network token value.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n" + }, + "type": { + "type": "string", + "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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" + }, + "securityCodeIndicator": { + "type": "string", + "maxLength": 1, + "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" + }, + "assuranceMethod": { + "type": "string", + "maxLength": 2, + "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" + } + } + } + } + }, + "aggregatorInformation": { + "type": "object", + "x-nullable": true, + "properties": { + "aggregatorId": { + "type": "string", + "x-nullable": true, + "maxLength": 20, + "description": "Value that identifies you as a payment aggregator. Get this value from the processor.\n" + }, + "name": { + "type": "string", + "x-nullable": true, + "maxLength": 37, + "description": "Your payment aggregator business name. This field is conditionally required when aggregator id is present.\n" + }, + "independentSalesOrganizationID": { + "type": "string", + "x-nullable": true, + "maxLength": 11, + "description": "Independent sales organization ID.\nThis field is only used for Mastercard transactions submitted through PPGS.\n" + }, + "subMerchant": { + "type": "object", + "x-nullable": true, + "properties": { + "id": { + "type": "string", + "maxLength": 20, + "x-nullable": true, + "description": "The ID you assigned to your sub-merchant.\n" + } + } + }, + "streetAddress": { + "type": "string", + "maxLength": 150, + "description": "Acquirer street name." + }, + "city": { + "type": "string", + "maxLength": 100, + "description": "Acquirer city." + }, + "state": { + "type": "string", + "maxLength": 10, + "description": "Acquirer state." + }, + "postalCode": { + "type": "string", + "maxLength": 20, + "description": "Acquirer postal code." + }, + "country": { + "type": "string", + "maxLength": 10, + "description": "Acquirer country." + } + } + } + }, + "example": { + "clientReferenceInformation": { + "code": "33557799" + }, + "senderInformation": { + "referenceNumber": "1234567890", + "address1": "900 Metro Center Blvd.900", + "countryCode": "US", + "locality": "Foster City", + "name": "Thomas Jefferson", + "administrativeArea": "CA", + "account": { + "number": "1234567890123456789012345678901234", + "fundsSource": "01" + }, + "aliasName": "Thomas my friend" + }, + "processingInformation": { + "commerceIndicator": "internet", + "businessApplicationId": "FD", + "networkRoutingOrder": "ECG", + "languageCode": "US", + "purchaseOptions": { + "benefitAmount": "10.00", + "benefitType": "5T" + } + }, + "payoutsOptions": { + "retrievalReferenceNumber": "123456789012", + "acquirerBin": "567890124" + }, + "reconciliationId": "1087488702VIAQNSPQ", + "orderInformation": { + "amountDetails": { + "totalAmount": "100.00", + "currency": "USD" + } + }, + "merchantInformation": { + "merchantCategoryCode": "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", + "aliasName": "John My Friend", + "nationality": "GB", + "countryOfBirth": "GB", + "occupation": "freelancer", + "email": "joe@visa.com" + }, + "aggregatorInformation": { + "streetAddress": "202 S. Division St.", + "city": "Phoenix", + "state": "Arizona", + "postalCode": "560048", + "country": "USA" + } + } + } + } + ], + "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": 30, + "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" + }, + "country": { + "type": "string", + "maxLength": 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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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" + } + } + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "purchaseOptions": { + "type": "object", + "properties": { + "benefitAmount": { + "type": "string", + "maxLength": 20, + "description": "Workplace benefit amount." + }, + "benefitType": { + "type": "string", + "maxLength": 100, + "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n" + } + } + } + } + } + } + } + }, + "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", + "purchaseOptions": { + "benefitAmount": "10.00", + "benefitType": "5S" + } + }, + "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", + "isMLEsupported": true + }, + "parameters": [ + { + "name": "pushFundsRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "required": [ + "orderInformation" + ], + "properties": { + "aggregatorInformation": { + "type": "object", + "x-nullable": true, + "properties": { + "aggregatorId": { + "type": "string", + "x-nullable": true, + "maxLength": 20, + "description": "Value that identifies you as a payment aggregator. Get this value from the processor.\n" + }, + "name": { + "type": "string", + "x-nullable": true, + "maxLength": 37, + "description": "Your payment aggregator business name. This field is conditionally required when aggregator id is present.\n" + }, + "independentSalesOrganizationID": { + "type": "string", + "x-nullable": true, + "maxLength": 11, + "description": "Independent sales organization ID.\nThis field is only used for Mastercard transactions submitted through PPGS.\n" + }, + "subMerchant": { + "type": "object", + "x-nullable": true, + "properties": { + "id": { + "type": "string", + "maxLength": 20, + "x-nullable": true, + "description": "The ID you assigned to your sub-merchant.\n" + } + } + }, + "streetAddress": { + "type": "string", + "maxLength": 150, + "description": "Acquirer street name." + }, + "city": { + "type": "string", + "maxLength": 100, + "description": "Acquirer city." + }, + "state": { + "type": "string", + "maxLength": 10, + "description": "Acquirer state." + }, + "postalCode": { + "type": "string", + "maxLength": 20, + "description": "Acquirer postal code." + }, + "country": { + "type": "string", + "maxLength": 10, + "description": "Acquirer country." + } + } + }, + "clientReferenceInformation": { + "type": "object", + "x-nullable": true, + "properties": { + "code": { + "type": "string", + "maxLength": 50, + "x-nullable": true, + "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" + }, + "applicationName": { + "type": "string", + "maxLength": 50, + "x-nullable": true, + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "maxLength": 50, + "x-nullable": true, + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "maxLength": 60, + "x-nullable": true, + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "orderInformation": { + "type": "object", + "required": [ + "amountDetails" + ], + "properties": { + "amountDetails": { + "type": "object", + "required": [ + "totalAmount", + "currency" + ], + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places.\n" + }, + "currency": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "description": "Use a 3-character alpha currency code for currency of the funds transfer.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n\nCurrency must be supported by the processor.\n" + }, + "sourceCurrency": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "x-nullable": true, + "description": "Use a 3-character alpha currency code for source currency of the funds transfer. Supported for card and bank account based cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" + }, + "destinationCurrency": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "x-nullable": true, + "description": "Use a 3-character alpha currency code for destination currency of the funds transfer. Supported for card and bank account based cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" + }, + "surcharge": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "maxLength": 8, + "x-nullable": true, + "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. \nThe issuer can provide information about the surcharge amount to the customer. \n\nIf the amount is positive, then it is a debit for the customer. \n\nIf the amount is negative, then it is a credit for the customer.\n" + } + } + } + } + } + } + }, + "processingInformation": { + "type": "object", + "x-nullable": true, + "properties": { + "businessApplicationId": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,2}|.{2})$", + "description": "Money Transfer (MT)\n- `AA`: Account to Account\n- `BI`: Bank-Initiated Money Transfer\n- `CD`: Cash Deposit\n- `FT`: Funds Transfer\n- `TU`: Prepaid Card Loan\n- `WT`: Wallet Transfer-Staged Digital Wallet (SDW) Transfer\n- `PP`: P2P Money Transfer\n\nFunds Disbursement (FD)\n- `BB`: Business-to-business Supplier Payments\n-\t`BP`: Non-Card Bill Pay \n-\t`CP`: Credit Card Bill Pay\n-\t`FD`: General Funds Disbursements\n-\t`GD`: Government Disbursements and Government Initiated Tax Refunds\n-\t`GP`: Gambling/Gaming Payouts (other than online gaming)\n-\t`LO`: Loyalty Payments\n-\t`MD`: Merchant Settlement\n-\t`MI`: Faster Refunds\n-\t`OG`: Online Gambling Payouts\n-\t`PD`: Payroll and Pension Disbursements\n-\t`RP`: Request-to-Pay Service\n" + }, + "payoutsOptions": { + "type": "object", + "properties": { + "sourceCurrency": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "x-nullable": true, + "description": "Use a 3-character alpha currency code for source currency of the funds transfer.\n\nRequired if sending processingInformation.payoutsOptions.sourceAmount.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" + }, + "destinationCurrency": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "x-nullable": true, + "description": "Use a 3-character alpha currency code for destination currency of the funds transfer.\n\nYellow Pepper\n\nSupported for cross border funds transfers.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n" + }, + "sourceAmount": { + "type": "string", + "maxLength": 12, + "x-nullable": true, + "description": "Source Amount is required in certain markets to identify the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity.\n\nFormat:\n\nMinimum Value: 0\n\nMaximum value: 999999999.99\n\nAllowed fractional digits: 2\n" + }, + "retrievalReferenceNumber": { + "type": "string", + "maxLength": 24, + "x-nullable": true, + "description": "Unique reference number returned by the processor that identifies the transaction at the network.\n" + }, + "accountFundingReferenceId": { + "type": "string", + "maxLength": 15, + "x-nullable": true, + "description": "Visa-generated transaction identifier (TID) that is unique for each original authorization and financial request.\n" + } + } + }, + "feeProgramId": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,3}|[a-zA-Z0-9]{3})$", + "description": "Fee Program Indicator. This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n" + }, + "networkPartnerId": { + "type": "string", + "x-nullable": true, + "maxLength": 8, + "description": "Merchant payment gateway ID that is assigned by Mastercard and is provided by the acquirer when a registered merchant payment gateway service provider is involved in the transaction.\n" + }, + "processingCode": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,4}|\\d{4})$", + "description": "This field contains coding that identifies (1) the customer transaction type and (2) the customer account types affected by the transaction.\n\nDefault: 5402 (Original Credit Transaction)\n\nContains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases. For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund.\n" + }, + "sharingGroupCode": { + "type": "string", + "x-nullable": true, + "maxLength": 16, + "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities.\n\nValid Values:\n\nACCEL_EXCHANGE_E\n\nCU24_C\n\nINTERLINK_G\n\nMAESTRO_8\n\nNYCE_Y\n\nNYCE_F\n\nPULSE_S\n\nPULSE_L\n\nPULSE_H\n\nSTAR_N\n\nSTAR_W\n\nSTAR_Z\n\nSTAR_Q\n\nSTAR_M\n\nVISA_V\n" + }, + "purposeOfPayment": { + "type": "string", + "x-nullable": true, + "maxLength": 12, + "description": "This will send purpose of funds code for original credit transactions (OCTs).\n" + } + } + }, + "recipientInformation": { + "type": "object", + "properties": { + "paymentInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "x-nullable": true, + "description": "- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n- `033`: Visa Electron\n- `024`: Maestro\n- `042`: Maestro International\n" + }, + "securityCode": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "x-nullable": true, + "description": "3-digit value that indicates the cardCvv2Value. Values can be 0-9.\n" + }, + "number": { + "type": "string", + "pattern": "^(\\s{0,19}|.{13,19})$", + "x-nullable": true, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n\nConditional: this field is required if not using tokens.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "x-nullable": true, + "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "x-nullable": true, + "description": "Four-digit year in which the payment card expires.\n\nFormat: YYYY.\n" + }, + "customer": { + "type": "object", + "properties": { + "id": { + "type": "string", + "x-nullable": true, + "maxLength": 32, + "description": "Unique identifier for the Customer token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" + } + } + }, + "paymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "x-nullable": true, + "maxLength": 32, + "description": "Unique identifier for the Payment Instrument token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" + } + } + }, + "instrumentIdentifier": { + "type": "object", + "properties": { + "id": { + "type": "string", + "x-nullable": true, + "maxLength": 32, + "description": "Unique identifier for the Instrument Identifier token used in the transaction. When you include this value in your request, many of the fields that can be supplied for an authorization or credit become optional.\n" } } + } + } + } + } + }, + "address1": { + "type": "string", + "maxLength": 50, + "x-nullable": true, + "description": "First line of the recipient's address.\nRequired for card payments\n" + }, + "address2": { + "type": "string", + "maxLength": 50, + "x-nullable": true, + "description": "Second line of the recipient's address\n" + }, + "locality": { + "type": "string", + "maxLength": 25, + "x-nullable": true, + "description": "Recipient city.\n" + }, + "postalCode": { + "type": "string", + "x-nullable": true, + "maxLength": 10, + "description": "Recipient postal code. \n\nFor USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nMandatory for card payments.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 3, + "x-nullable": true, + "description": "The recipient's province, state or territory. Conditional, required if recipient's country is USA or CAN. Must be an ISO 3166-2 uppercase alpha 2 or 3 character country subdivision code. For example, Missouri is MO.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nRequired for card payments.\n" + }, + "country": { + "type": "string", + "pattern": "^(\\s{0,2}|.{2})$", + "x-nullable": true, + "description": "Recipient country code. Use the ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n" + }, + "firstName": { + "type": "string", + "maxLength": 40, + "x-nullable": true, + "description": "First name of recipient.\n" + }, + "middleName": { + "type": "string", + "maxLength": 40, + "x-nullable": true, + "description": "Sender's middle name. This field is a passthrough, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. If the field is not required for the transaction, CyberSource does not forward it to the processor.\n" + }, + "lastName": { + "type": "string", + "maxLength": 40, + "x-nullable": true, + "description": "Last name of recipient.\n" + }, + "phoneNumber": { + "type": "string", + "x-nullable": true, + "maxLength": 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" + }, + "email": { + "type": "string", + "x-nullable": true, + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n" + }, + "personalIdentification": { + "type": "object", + "x-nullable": true, + "properties": { + "id": { + "type": "string", + "x-nullable": true, + "maxLength": 80, + "description": "The ID number/value.\nProcessor(35)\n" + }, + "type": { + "type": "string", + "x-nullable": true, + "maxLength": 4, + "description": "This tag will contain the type of sender identification. The valid values are:\n-\t`BTHD`: (Date of birth)\n-\t`CUID`: (Customer identification (unspecified))\n-\t`NTID`: (National identification)\n-\t`PASN`: (Passport number)\n-\t`DRLN`: (Driver license)\n-\t`TXIN`: (Tax identification)\n-\t`CPNY`: (Company registration number)\n-\t`PRXY`: (Proxy identification)\n-\t`SSNB`: (Social security number)\n-\t`ARNB`: (Alien registration number)\n-\t`LAWE`: (Law enforcement identification)\n-\t`MILI`: (Military identification)\n-\t`TRVL`: (Travel identification (non-passport))\n-\t`EMAL`: (Email)\n-\t`PHON`: (Phone number)\n" + }, + "issuingCountry": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,2}|.{2})$", + "description": "Issuing country of the identification.\nThe field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" + }, + "personalIdType": { + "type": "string", + "x-nullable": true, + "maxLength": 1, + "description": "This tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are: \n- `B` (Business)\n- `I` (Individual)\n" + } + } + }, + "buildingNumber": { + "type": "string", + "x-nullable": true, + "maxLength": 255, + "description": "Building number in the street address.\n\nFor example, if the street address is: Rua da Quitanda 187 then the building number is 187.\n\nApplicable to domestic Colombia transactions only.\n" + }, + "streetName": { + "type": "string", + "x-nullable": true, + "maxLength": 99, + "description": "This field contains the street name of the recipient's address.\n\nApplicable to domestic Colombia transactions only.\n" + }, + "type": { + "type": "string", + "x-nullable": true, + "maxLength": 1, + "description": "`B` for Business or `I` for individual.\n" + } + } + }, + "senderInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 30, + "x-nullable": true, + "description": "Name of sender.\n\nFunds Disbursement\n\nThis value is the name of the originator sending the funds disbursement.\n\nGovernment entities should use this field\n" + }, + "email": { + "type": "string", + "maxLength": 255, + "x-nullable": true, + "description": "Customer's email address, including the full domain name.\n" + }, + "firstName": { + "type": "string", + "maxLength": 40, + "x-nullable": true, + "description": "This field contains the first name of the entity funding the transaction\nMandatory for card payments\n" + }, + "lastName": { + "type": "string", + "maxLength": 40, + "x-nullable": true, + "description": "This field contains the last name of the entity funding the transaction\nMandatory for card payments\n" + }, + "middleName": { + "type": "string", + "maxLength": 40, + "x-nullable": true, + "description": "This field contains the middle name of the entity funding the transaction\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "x-nullable": true, + "description": "Sender's postal code. For USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nRequired for FDCCompass.\n" + }, + "buildingNumber": { + "type": "string", + "maxLength": 255, + "x-nullable": true, + "description": "Building number in the street address.\n\nFor example, if the street address is: Rua da Quitanda 187 then the building number is 187.\n\nApplicable to domestic Colombia transactions only.\n" + }, + "streetName": { + "type": "string", + "x-nullable": true, + "maxLength": 99, + "description": "This field contains the street name of the recipient's address.\n\nApplicable to domestic Colombia transactions only.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "x-nullable": true, + "description": "Street address of sender.\n\nFunds Disbursement\n\nThis value is the address of the originator sending the funds disbursement.\n\nRequired for card transactions\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "x-nullable": true, + "description": "Used for additional address information. For example: Attention: Accounts Payable \nOptional field.\n" + }, + "locality": { + "type": "string", + "maxLength": 25, + "x-nullable": true, + "description": "The sender's city\nMandatory for card payments\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 3, + "x-nullable": true, + "description": "Sender's state. Use the State, Province, and Territory Codes for the United States and Canada.The sender's province, state or territory. Conditional, required if sender's country is USA or CAN. Must be uppercase alpha 2 or 3 character country subdivision code.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nMandatory for card payments\n" + }, + "country": { + "type": "string", + "pattern": "^(\\s{0,2}|.{2})$", + "x-nullable": true, + "description": "Sender's country code. Use ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n" + }, + "dateOfBirth": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,8}|.{8})$", + "description": "Sender's date of birth in YYYYMMDD format.\n" + }, + "phoneNumber": { + "type": "string", + "x-nullable": true, + "maxLength": 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" + }, + "paymentInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "pattern": "^(\\s{0,3}|.{3})$", + "x-nullable": true, + "description": "Three-digit value that indicates the card type.\n\nIMPORTANT It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n-\t`001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value 001 for Visa Electron.\n-\t`002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n-\t`033`: Visa Electron\n-\t`024`: Maestro\n-\t`042`: Maestro International\n" + }, + "securityCode": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,3}|.{3})$", + "description": "3-digit value that indicates the card Cvv2Value. Values can be 0-9.\n" + }, + "sourceAccountType": { + "type": "string", + "x-nullable": true, + "maxLength": 20, + "description": "Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process.\n" + }, + "number": { + "type": "string", + "x-nullable": true, + "maxLength": 19, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n" + }, + "expirationMonth": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,2}|.{2})$", + "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n" + }, + "expirationYear": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,4}|.{4})$", + "description": "Four-digit year in which the payment card expires.\n" + } + } + } + } + }, + "referenceNumber": { + "type": "string", + "maxLength": 19, + "x-nullable": true, + "description": "Reference number generated by you that uniquely identifies the sender.\n" + }, + "account": { + "type": "object", + "x-nullable": true, + "properties": { + "fundsSource": { + "type": "string", + "x-nullable": true, + "pattern": "^(\\s{0,2}|.{2})$", + "description": "Source of funds. Possible values:\n\n- `01`: Credit card\n- `02`: Debit card\n- `03`: Prepaid card\n- `04`: Cash/Deposit Account\n- `05`: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings accounts, and proprietary debit or ATM cards.\n- `06`: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines of credit.\n\nFunds Disbursement This value is most likely 05 to identify that the originator used a deposit account to fund the disbursement.\n\nCredit Card Bill Payment This value must be 02, 03, 04, or 05.\n" + }, + "number": { + "type": "string", + "x-nullable": true, + "maxLength": 34, + "description": "The account number of the entity funding the transaction. It is the sender's account number. It can be a debit/credit card account number or bank account number.\n\nFunds disbursements\n\nThis field is optional.\n\nAll other transactions\n\nThis field is required when the sender funds the transaction with a financial instrument, for example debit card. Length:\n" + } + } + }, + "personalIdentification": { + "type": "object", + "x-nullable": true, + "properties": { + "id": { + "type": "string", + "maxLength": 80, + "x-nullable": true, + "description": "Processor(35)\n" + }, + "personalIdType": { + "type": "string", + "maxLength": 1, + "x-nullable": true, + "description": "This tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are:\n- `B` (Business)\n- `I` (Individual)\n" + }, + "type": { + "type": "string", + "maxLength": 4, + "x-nullable": true, + "description": "This tag will contain the type of sender identification. The valid values are:\n\n- `BTHD`: (Date of birth)\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `CPNY`: (Company registration number)\n- `PRXY`: (Proxy identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `LAWE`: (Law enforcement identification)\n- `MILI`: (Military identification)\n- `TRVL`: (Travel identification (non-passport))\n- `EMAL`: (Email)\n- `PHON`: (Phone number)\n" + }, + "issuingCountry": { + "x-nullable": true, + "type": "string", + "pattern": "^(\\s{0,2}|.{2})$", + "description": "Issuing country of the identification.\nThe field format should be a 2 character ISO 3166-1 alpha-2 country code.\n" + } + } + }, + "type": { + "type": "string", + "x-nullable": true, + "maxLength": 1, + "description": "`B` for Business or `I` for individual.\n" + }, + "vatRegistrationNumber": { + "type": "string", + "x-nullable": true, + "maxLength": 20, + "description": "Customer's government-assigned tax identification number.\n" + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "categoryCode": { + "x-nullable": true, + "type": "string", + "pattern": "^(\\s{0,4}|\\d{4})$", + "description": "The value for this field is a four-digit number that the payment card industry uses to \nclassify merchants into market segments. A payment card company assigned one or more of \nthese values to your business when you started accepting the payment card company's cards. \nWhen you do not include this field in your request, CyberSource uses the value in your CyberSource account.\n" + } + } + }, + "pointOfServiceInformation": { + "type": "object", + "properties": { + "emv": { + "type": "object", + "properties": { + "cardSequenceNumber": { + "x-nullable": true, + "type": "string", + "maxLength": 3, + "description": "Number assigned to a specific card when two or more cards are associated with the same primary account number.\n\nThis value enables issuers to distinguish among multiple cards that are linked to the same account.\n\nThis value can also act as a tracking tool when reissuing cards.\n\nWhen this value is available, it is provided by the chip reader.\n\nWhen the chip reader does not provide this value, do not include this field in your request.\n\nWhen sequence number is not provided via this API field, the value is extracted from EMV tag 5F34 for Mastercard transactions. To enable this feature please call support.\n\nNote Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing.\n" + } + } + } + } + } + }, + "example": { + "orderInformation": { + "amountDetails": { + "totalAmount": "124.05", + "currency": "USD" + } + }, + "processingInformation": { + "businessApplicationId": "AA", + "payoutsOptions": { + "sourceAmount": "100", + "sourceCurrency": "USD" + } + }, + "recipientInformation": { + "paymentInformation": { + "card": { + "type": "001", + "securityCode": "123", + "number": "4104920120500001", + "expirationMonth": "12", + "expirationYear": "2025" + } + }, + "locality": "Atlanta", + "address1": "1200 Peachtree Street", + "buildingNumber": "1200", + "country": "US", + "firstName": "John", + "lastName": "Doe", + "middleInitial": "D", + "middleName": "Dan", + "postalCode": "12345", + "administrativeArea": "GA", + "streetName": "Peachtree Street" + }, + "senderInformation": { + "account": { + "fundsSource": "05", + "number": "4104920120500002" + }, + "address1": "123 Street", + "address2": "123", + "buildingNumber": "123", + "country": "US", + "firstName": "Jane", + "lastName": "Doe", + "middleInitial": "N", + "middleName": "Nancy", + "postalCode": "54321", + "administrativeArea": "CA", + "streetName": "Street", + "referenceNumber": "1231823" + } + } + } + }, + { + "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, + "minLength": 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" + } + } + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\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- DAGGDENIED\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": 15, + "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": 1, + "description": "Transaction status from the processor.\n" + }, + "systemTraceAuditNumber": { + "type": "string", + "maxLength": 6, + "description": "This field is returned by authorization and incremental authorization services.\nSystem trace number that must be printed on the customer's receipt.\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\nRecommended format: ydddhhnnnnnn\n\nPositions 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 or assigned by Cybersource.\n" + }, + "actionCode": { + "type": "string", + "maxLength": 2, + "description": "The results of the transaction request\n\nNote: The VisaNet Response Code for the transaction\n" + }, + "approvalCode": { + "type": "string", + "x-nullable": true, + "maxLength": 6, + "description": "Issuer-generated approval code for the transaction.\n" + }, + "feeProgramIndicator": { + "type": "string", + "maxLength": 3, + "description": "This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n" + }, + "name": { + "type": "string", + "maxLength": 30, + "description": "Name of the processor.\n" + }, + "routing": { + "type": "object", + "properties": { + "network": { + "type": "string", + "maxLength": 4, + "description": "Contains the ID of the debit network to which the transaction was routed.\n\nCode: Network\n\n0000 : Priority Routing or Generic File Update\n\n0002: Visa programs, Private Label and non-Visa Authorization Gateway Services\n\n0003: Interlink\n\n0004: Plus\n\n0008: Star\n\n0009: Pulse\n\n0010: Star\n\n0011: Star\n\n0012: Star (primary network ID)\n\n0013: AFFN\n\n0015: Star\n\n0016: Maestro\n\n0017: Pulse (primary network ID)\n\n0018: NYCE (primary network ID)\n\n0019: Pulse\n\n0020: Accel\n\n0023: NETS\n\n0024: CU24\n\n0025: Alaska Option\n\n0027: NYCE\n\n0028: Shazam\n\n0029: EBT POS\n" + } + } + }, + "settlement": { + "type": "object", + "properties": { + "responsibilityFlag": { + "type": "boolean", + "description": "Settlement Responsibility Flag: VisaNet sets this flag.\n\nThis flag is set to true to indicate that VisaNet has settlement responsibility for this transaction. This flag does not indicate the transaction will be settled.\n" + }, + "serviceFlag": { + "type": "string", + "maxLength": 24, + "description": "Settlement Service for the transaction.\n\nValues:\n\nVIP: V.I.P. to decide; or not applicable\n\nINTERNATIONAL_SETTLEMENT: International \n\nNATIONAL_NET_SETTLEMENT: National Net Settlement\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" + }, + "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" + } + } + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "tokenizedCard": { + "type": "object", + "properties": { + "assuranceMethod": { + "type": "string", + "pattern": "^(\\s{0,2}|.{2})$", + "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\nValid Values:\n\nSpaces (No value set)\n\n00 = No issuer ID&V\n\n10 = Card issuer account verification\n\n11 = Card issuer interactive cardholder authentication - 1 factor\n\n12 = Card issuer interactive cardholder authentication - 2 factor\n\n13 = Card issuer risk oriented non-interactive cardholder authentication\n\n14 = Card issuer asserted authentication\n" + } + } + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "domesticNationalNet": { + "type": "object", + "description": "Settlement Service Data object for additional transaction requirements when the transaction indicates domestic national settlement.\n", + "properties": { + "reimbursementFeeBaseAmount": { + "type": "string", + "maxLength": 12, + "description": "National Net Interchange Reimbursement Fee (IRF) calculation base amount. This must be less than the transaction amount.\n\nFormat:\n\nMinimum Value: 0\n\nMaximum value: 999999999.99\n\nAllowed fractional digits: 3.\n\nNote: If a currency has three decimal places, the last digit of this field must be zero.\n\nRequired for Columbia National Net Settlement Service (NNSS) 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": { + "processorInformation": { + "routing": { + "network": "1234" + }, + "approvalCode": "98765X", + "feeProgramIndicator": "A", + "transactionId": "187470320952493", + "systemTraceAuditNumber": "512807", + "retrievalReferenceNumber": "418420512807", + "settlement": { + "responsibilityFlag": true, + "serviceFlag": "INTERNATIONAL_SETTLEMENT" + }, + "responseCode": "5", + "name": "vdcpromerica" + }, + "id": "7199515124531234567890", + "_links": { + "self": { + "method": "GET", + "href": "/pts/v1/push-funds-transfer/7199515124531234567890" + } + }, + "paymentInformation": { + "tokenizedCard": { + "assuranceMethod": "a1" + } + }, + "status": "AUTHORIZED", + "submitTimeUtc": "2023-09-15T19:31:08Z" + } + } + }, + "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- One or more fields in the request contains invalid data.\n- The request is missing one or more required 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- SERVICE_TIMEOUT\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- The request was received, but a service did not finish running in time.\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": { + "amountDetails": { + "totalAmount": "53.00", + "currency": "USD", + "settlementCurrency": "USD" + } + }, + "processingInformation": { + "businessApplicationId": "FT" + }, + "recipientInformation": { + "paymentInformation": { + "card": { + "type": "001", + "securityCode": "123", + "number": "4111111111111111", + "expirationMonth": "12", + "expirationYear": "2025" + } + }, + "address1": "8310 Capital of Texas Highwas North", + "address2": "Bluffstone Drive", + "locality": "Austin", + "postalCode": "78731", + "administrativeArea": "CA", + "country": "USA", + "firstName": "Jennifer", + "lastName": "Doe", + "middleName": "A", + "personalIdentification": { + "id": "123132456", + "type": "EIDN" + } + }, + "senderInformation": { + "firstName": "John", + "lastName": "Doe", + "middleName": "A", + "postalCode": "94440", + "address1": "Paseo Padre Boulevard", + "address2": "Bluffstone Drive", + "locality": "Foster City", + "administrativeArea": "CA", + "country": "US", + "referenceNumber": "1234567890", + "paymentInformation": { + "card": { + "sourceAccountType": "SA", + "type": "001", + "securityCode": "932", + "number": "4111111111111111", + "expirationMonth": "12", + "expirationYear": "2025" + } + }, + "personalIdentification": { + "id": "123132456", + "type": "CUID" + }, + "account": { + "fundsSource": "02" + } + } + } + } + } + } + }, + "/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.\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.\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.\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.\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\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n", + "type": "string", + "maxLength": 20 + }, + "authorizationOptions": { + "type": "object", + "properties": { + "initiator": { + "type": "object", + "properties": { + "type": { + "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.\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.\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.\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\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n", + "type": "string", + "maxLength": 20 + }, + "authorizationOptions": { + "type": "object", + "properties": { + "initiator": { + "type": "object", + "properties": { + "type": { + "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." + } + } + } + } + } + } + }, + "/bin/v1/binlookup": { + "post": { + "summary": "BIN Lookup API", + "description": "The BIN Lookup Service is a versatile business tool that provides card network agnostic solution designed to ensure frictionless transaction experience by utilizing up-to-date Bank Identification Number (BIN) attributes sourced from multiple global and regional data sources.\nThis service helps to improve authorization rates by helping to route transactions to the best-suited card network, minimizes fraud through card detail verification and aids in regulatory compliance by identifying card properties. The service is flexible and provides businesses with a flexible choice of inputs such as primary account number (PAN), network token from major networks which includes device PAN (DPAN), and all types of tokens generated via CyberSource Token Management Service (TMS).\nCurrently, the range of available credentials is contingent on the networks enabled for the business entity. Therefore, the network information specified in this documentation is illustrative and subject to personalized offerings for each reseller or merchant.\n", + "tags": [ + "Bin Lookup" + ], + "operationId": "getAccountInfo", + "x-devcenter-metaData": { + "categoryTag": "Bin_Lookup", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/bin-lookup/developer/all/rest/bin-lookup/bin-lookup-intro.html", + "firstLevelApiLifeCycle": "beta", + "secondLevelApiLifeCycle": "beta", + "apiLifeCycle": "beta", + "disableProcessorDropDown": true, + "SDK_ONLY_AddDisclaimer": true + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "parameters": [ + { + "name": "createBinLookupRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "partner": { + "type": "object", + "properties": { + "developerId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" + }, + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" + } + } + }, + "applicationName": { + "type": "string", + "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" + }, + "applicationVersion": { + "type": "string", + "description": "Version of the CyberSource application or integration used for a transaction.\n" + }, + "applicationUser": { + "type": "string", + "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 20, + "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" + } + } + }, + "customer": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "paymentInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", + "minLength": 1, + "maxLength": 32 + } + } + }, + "instrumentIdentifier": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", + "minLength": 12, + "maxLength": 32 + } + } + } + } + }, + "tokenInformation": { + "type": "object", + "properties": { + "jti": { + "type": "string", + "maxLength": 64, + "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" + }, + "transientTokenJwt": { + "type": "string", + "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "binSource": { + "type": "string", + "description": "Bin Source File Identifier.\n\nPossible values:\n- itmx\n- rupay\n" + }, + "payoutOptions": { + "type": "object", + "description": "Payout fields request parameters\n", + "properties": { + "payoutInquiry": { + "type": "boolean", + "description": "If `true` then provide attributes related to fund transfer/payouts. If payout information not found then response will have standard account lookup.\n\nPossible values:\n- true\n- false\n" + }, + "networkId": { + "type": "string", + "description": "The networks specified in this field must be a subset of the information provided during program enrollment\n \nPossible values:\n- 0020 : Accel/Exchange\n- 0024 : CU24\n- 0003 : Interlink\n- 0016 : Maestro\n- 0018 : NYCE\n- 0027 : NYCE\n- 0009 : Pulse\n- 0017 : Pulse\n- 0019 : Pulse\n- 0008 : Star\n- 0010 : Star\n- 0011 : Star\n- 0012 : Star\n- 0015 : Star\n- 0002 : Visa/PLUS\n" + }, + "acquirerBin": { + "type": "string", + "description": "BIN under which the Funds Transfer application is registered. This must match the information provided during enrollment.\n" + } + } + } + } + } + } + } + } + ], + "responses": { + "201": { + "description": "Successful response.", + "schema": { + "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 - COMPLETED\n - MULTIPLE\n - NO MATCH\n" + }, + "paymentAccountInformation": { + "type": "object", + "properties": { + "card": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "maxLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the max length of the card.\n" + }, + "credentialType": { + "type": "string", + "maxLength": 5, + "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n" + }, + "brands": { + "description": "Array of brands", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "maxLength": 3, + "description": "This field contains the 3-digit value that indicates the 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- `008`: Optima\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: Enroute[^1]\n- `015`: Lowes Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL[^1]\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sams Club Consumer\n- `026`: Sams Club Business\n- `027`: Nicos\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `032`: Solo\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- `035`: Laser\n- `036`: Cartes Bancaires[^1]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `041`: HOUSEHOLD\n- `042`: Maestro (International)[^1]\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style\n- `046`: J.Crew\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo[^3]\n- `055`: Capital One Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\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\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\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" + }, + "brandName": { + "type": "string", + "maxLength": 20, + "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - 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" + }, + "corporatePurchase": { + "type": "boolean", + "description": "This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n" + }, + "healthCard": { + "type": "boolean", + "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This field contains a code that identifies the network.\n[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" + } + } + } + } + }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 200, + "description": "This field contains the issuer name.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" + }, + "binLength": { + "type": "string", + "maxLength": 2, + "description": "This field contains the length of the BIN.\n" + }, + "accountPrefix": { + "type": "string", + "maxLength": 8, + "description": "This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).\n" + }, + "phoneNumber": { + "type": "string", + "maxLength": 50, + "description": "This field contains the customer service phone number for the issuer.\n" + } + } + }, + "payoutInformation": { + "type": "object", + "properties": { + "pushFunds": { + "type": "object", + "properties": { + "moneyTransferFastFundsCrossBorder": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if cross-border money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "moneyTransferFastFundsDomestic": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if domestic money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "moneyTransferCrossBorder": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if cross-border money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "moneyTransferDomestic": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if domestic money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "nonMoneyTransferFastFundsCrossBorder": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if cross-border non-money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "nonMoneyTransferFastFundsDomestic": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if domestic non-money transfer OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "nonMoneyTransferCrossBorder": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if cross-border non-money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "nonMoneyTransferDomestic": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if domestic non-money transfer OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "onlineGamblingFastFundsCrossBorder": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if cross-border gambling OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "onlineGamblingFastFundsDomestic": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if domestic gambling OCTs (fast push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "onlineGamblingCrossBorder": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if cross-border gambling OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "onlineGamblingDomestic": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if domestic gambling OCTs (push funds) are allowed.\nPossible values:\n - `Y`\n - `N`\n" + }, + "domesticParticipant": { + "type": "string", + "maxLength": 5, + "description": "This field indicates if domestic OCTs (push funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + }, + "crossBorderParticipant": { + "type": "string", + "maxLength": 5, + "description": "This field indicates if cross-border OCTs (push funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + } + } + }, + "pullFunds": { + "type": "object", + "properties": { + "domesticParticipant": { + "type": "string", + "maxLength": 5, + "description": "This field indicates if domestic AFTs (pull funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + }, + "crossBorderParticipant": { + "type": "string", + "maxLength": 5, + "description": "This field indicates if cross-border AFTs (pull funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + } + } + }, + "geoRestrictionIndicator": { + "type": "string", + "maxLength": 1, + "description": "This field indicates if the recipient issuer can accept transactions from the originator country.\nPossible values:\n - `Y`\n - `N`\n" + } + } + } + } + } + }, + "400": { + "description": "Invalid request.", + "schema": { + "type": "object", + "title": "binLookupv400Response", + "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": { + "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": "BIN Lookup with Card", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "paymentInformation": { + "card": { + "number": "4111111111111111" + } + } + } + }, + "example1": { + "summary": "BIN Lookup with Healthcare Card", + "value": { + "paymentInformation": { + "card": { + "number": "4288900100000" + } + } + } + }, + "example2": { + "summary": "BIN Lookup with Network Token", + "value": { + "paymentInformation": { + "card": { + "number": "4895370016313691" + } + } + } + }, + "example3": { + "summary": "BIN Lookup with TMS Customer ID", + "value": { + "paymentInformation": { + "customer": { + "id": "E5426CFDE77F7390E053A2598D0A925D" + } + } + } + }, + "example4": { + "summary": "BIN Lookup with TMS Payment Instrument", + "value": { + "paymentInformation": { + "paymentInstrument": { + "id": "E5427539180789D0E053A2598D0AF053" + } + } + } + }, + "example5": { + "summary": "BIN Lookup with TMS Instrument Identifier", + "value": { + "paymentInformation": { + "instrumentIdentifier": { + "id": "7010000000016241111" + } + } + } + }, + "example6": { + "summary": "BIN Lookup with TMS jti Transient Token", + "value": { + "tokenInformation": { + "jti": "1E0WC1GO87JG1BDP0CQ8SCR1TTK86U9N98H3WH8IFM9MVEWTIYFI62F4941E7A92" + } + } + }, + "example7": { + "summary": "BIN Lookup with TMS JWT Transient Token", + "value": { + "tokenInformation": { + "transientTokenJwt": "eyJraWQiOiIwODd0bk1DNU04bXJHR3JHMVJQTkwzZ2VyRUh5VWV1ciIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJGbGV4LzA4IiwiZXhwIjoxNjYwMTk1ODcwLCJ0eXBlIjoiYXBpLTAuMS4wIiwiaWF0IjoxNjYwMTk0OTcwLCJqdGkiOiIxRTBXQzFHTzg3SkcxQkRQMENROFNDUjFUVEs4NlU5Tjk4SDNXSDhJRk05TVZFV1RJWUZJNjJGNDk0MUU3QTkyIiwiY29udGVudCI6eyJwYXltZW50SW5mb3JtYXRpb24iOnsiY2FyZCI6eyJudW1iZXIiOnsibWFza2VkVmFsdWUiOiJYWFhYWFhYWFhYWFgxMTExIiwiYmluIjoiNDExMTExIn0sInR5cGUiOnsidmFsdWUiOiIwMDEifX19fX0.MkCLbyvufN4prGRvHJcqCu1WceDVlgubZVpShNWQVjpuFQUuqwrKg284sC7ucVKuIsOU0DTN8_OoxDLduvZhS7X_5TnO0QjyA_aFxbRBvU_bEz1l9V99VPADG89T-fox_L6sLUaoTJ8T4PyD7rkPHEA0nmXbqQCVqw4Czc5TqlKCwmL-Fe0NBR2HlOFI1PrSXT-7_wI-JTgXI0dQzb8Ub20erHwOLwu3oni4_ZmS3rGI_gxq2MHi8pO-ZOgA597be4WfVFAx1wnMbareqR72a0QM4DefeoltrpNqXSaASVyb5G0zuqg-BOjWJbawmg2QgcZ_vE3rJ6PDgWROvp9Tbw" + } + } + } + } + } + }, + "/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" + }, + "hashedPassword": { + "type": "string", + "maxLength": 100, + "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\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" + }, + "cavv": { + "type": "string", + "maxLength": 40, + "description": "Cardholder authentication verification value (CAVV)." + }, + "xid": { + "type": "string", + "maxLength": 40, + "description": "Transaction identifier.\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" + }, + "value": { + "type": "string", + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Your merchant name.\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": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" + }, + "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" + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "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": 50, + "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "company": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\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" + }, + "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" + }, + "fulfillmentType": { + "type": "string", + "description": "The description for this field is not available." + } + } + } + }, + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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" + }, + "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": 32, + "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" + } + } + }, + "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" + }, + "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. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" + } + } + }, + "brands": { + "type": "array", + "description": "This array contains the supported brands.\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" + }, + "transactionInformation": { + "type": "string", + "maxLength": 36, + "description": "In a Mastercard Transaction, this field contains the unique identifier (Transaction Link ID) for the first transaction in a transaction life cycle. \nThis ID is crucial for maintaining continuity and linking subsequent operations to the original transaction.\n" + } + } + }, + "bank": { + "type": "object", + "properties": { + "routingNumber": { + "type": "string", + "description": "Bank routing number. This is also called the transit number.\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" + }, + "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" + }, + "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" + }, + "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" + }, + "account": { + "type": "object", + "properties": { + "suffix": { + "type": "string", + "description": "Last four digits of the customer's payment account number.\n" }, - "currencyConversion": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "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" - } - } - } - } - } - } - } - } - } + "prefix": { + "type": "string", + "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n" }, - "tax": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } + "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" }, - "customerInvoicing": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } + "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" }, - "recurringBilling": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } + "name": { + "type": "string", + "description": "Name used on the bank account. You can use this field only when scoring a direct debit transaction\n" }, - "paymentOrchestration": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } + "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" }, - "payouts": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "configurations": { - "type": "object", - "properties": { - "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" - } - } - } - } - } - } - } - } - } + "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" + } + } + }, + "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- `ISSUER_WILL_NEVER_APPROVE`\n- `ISSUER_CANNOT_APPROVE_AT_THIS_TIME`\n- `ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS`\n- `GENERIC_ERROR`\n- `PAYMENT_INSIGHTS_INTERNAL_ERROR`\n- `OTHERS`\n- `PAYMENT_INSIGHTS_RESPONSE_CATEGORY_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_CANNOT_APPROVE_AT_THIS_TIME\n- `03` : ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS\n- `04` : GENERIC_ERROR\n- `97` : PAYMENT_INSIGHTS_INTERNAL_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" + } + } + }, + "orchestration": { + "type": "object", + "properties": { + "infoCodes": { + "type": "array", + "items": { + "type": "string", + "maxLength": 60 + }, + "description": "Infocodes indicating which rules were triggered by the Service Orchestration product.\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", + "maxLength": 1, + "description": "Indicates the type of unscheduled payment. This field is required for unscheduled payments CIT/MIT Possible values:\n1: First unscheduled transaction.\n2: Subsequent unscheduled transaction.\n" + } + } + }, + "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.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" + }, + "commerceIndicatorLabel": { + "type": "string", + "maxLength": 20, + "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n" + }, + "businessApplicationId": { + "type": "string", + "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n" + }, + "authorizationOptions": { + "type": "object", + "properties": { + "authType": { + "type": "string", + "maxLength": 15, + "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n" + }, + "authIndicator": { + "type": "string", + "maxLength": 1, + "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - **0**: Preauthorization\n - **1**: Final authorization\n\nTo set the default for this field, contact CyberSource Customer Support.\n\n#### Barclays and Elavon\nThe default for Barclays and Elavon is 1 (final authorization). To change the default for this field, contact CyberSource Customer Support.\n\n#### CyberSource through VisaNet\nWhen the value for this field is 0, it corresponds to the following data in the TC 33 capture file:\n - Record: CP01 TCR0\n - Position: 164\n - Field: Additional Authorization Indicators\nWhen the value for this field is 1, it does not correspond to any data in the TC 33 capture file.\n" + }, + "extendAuthIndicator": { + "type": "string", + "maxLength": 5, + "description": "Indicates Authorization extension transaction. Extension transaction is used to prolong the settlement period by one additional settlement cycle period.\n\nPossible values:\n- true: Transaction is an Authorization Extension transaction. \n- false: Transaction is not an Authorization Extension transaction.\n" + }, + "cardVerificationIndicator": { + "type": "boolean", + "description": "This API field will indicate whether a card verification check is being performed during the transaction\n\nPossible values:\n - `true`\n - `false` (default value)\n" + }, + "initiator": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n" }, - "differentialFee": { + "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\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": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - }, - "features": { - "type": "object", - "properties": { - "surcharge": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - } - } - } - } + "reason": { + "type": "string", + "maxLength": 1, + "description": "Reason for the merchant-initiated transaction or incremental authorization. Possible values:\n- `1`: Resubmission\n- `2`: Delayed charge\n- `3`: Reauthorization for split shipment\n- `4`: No show\n- `5`: Account top up\nThis field is required only for the five kinds of transactions in the preceding list.\nThis field is supported only for merchant-initiated transactions and incremental authorizations.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 160-163\n- Field: Message Reason Code\n" + }, + "previousTransactionId": { + "type": "string", + "maxLength": 15, + "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n\nIf the current payment request includes a token instead of an account number, the following time limits apply for the value of this field:\n- For a **resubmission**, the transaction ID must be less than 14 days old.\n- For a **delayed charge** or **reauthorization**, the transaction ID must be less than 30 days old.\n\n**NOTE**: The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported\nonly for Visa transactions on CyberSource through VisaNet.\n" + }, + "originalAuthorizedAmount": { + "type": "string", + "maxLength": 61, + "description": "Amount of the original authorization.\n\nThis field is supported only for Apple Pay, Google Pay, and Samsung Pay transactions with Discover on FDC Nashville Global and Chase Paymentech.\n" + }, + "agreementId": { + "type": "string", + "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" + }, + "businessNameEnglish": { + "type": "string", + "maxLength": 25, + "description": "Business name in English characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" + }, + "bonuses": { + "type": "array", + "description": "An array of objects, each of which contains a bonus month and bonus amount. \nLength of bonuses array is equal to the number of bonuses. Max length = 6. \nIn case of bonus month and amount not specified, null objects to be returned in the array.\nExample: bonuses : [ {\"month\": \"1\",\"amount\": \"200\"}, {\"month\": \"3\",\"amount\": \"2500\"}, null]\n", + "items": { + "type": "object", + "properties": { + "month": { + "type": "string", + "maxLength": 2, + "description": "This value is a 2-digit code indicating the first bonus month. Valid value from 1 to 12.\n" + }, + "amount": { + "type": "string", + "maxLength": 8, + "description": "This value contains the bonus amount of the first month. Maximum value without decimal 99999999.\n" + } + } + } + }, + "firstBillingMonth": { + "type": "string", + "maxLength": 2, + "description": "Billing month in MM format.\n" + }, + "numberOfInstallments": { + "type": "string", + "maximum": 99, + "description": "Number of Installments.\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" + } + } + } + } + }, + "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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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 \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\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\n#### paypalgateway\nProcessor generated ID for the itemized detail.\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" + } + } + }, + "achVerification": { + "type": "object", + "properties": { + "resultCode": { + "type": "string", + "maxLength": 2, + "description": "Results from the ACH verification service.\n" + }, + "resultCodeRaw": { + "type": "string", + "maxLength": 10, + "description": "Raw results from the ACH verification service.\n" + } + } + }, + "electronicVerificationResults": { + "type": "object", + "properties": { + "email": { + "type": "string", + "maxLength": 1, + "description": "Mapped Electronic Verification response code for the customer's email address.\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" + }, + "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" + }, + "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" + }, + "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 - `4`: Biometric\n - `5`: OTP\n" + }, + "emv": { + "type": "object", + "properties": { + "tags": { + "type": "string", + "maxLength": 1998, + "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" + } + } + } + } + }, + "riskInformation": { + "type": "object", + "properties": { + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the profile.\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 about this order - Expedited shipping" + }, + "consumerAuthenticationInformation": { + "eciRaw": "02", + "cavv": "12345", + "xid": "12345678", + "transactionId": "00152259513040478521", + "strongAuthentication": { + "lowValueExemptionIndicator": "1", + "riskAnalysisExemptionIndicator": "1", + "trustedMerchantExemptionIndicator": "1", + "secureCorporatePaymentIndicator": "1", + "delegatedAuthenticationExemptionIndicator": "1" + } + }, + "deviceInformation": { + "ipAddress": "1.10.10.10", + "hostName": "cybs test", + "cookiesAccepted": "no" + }, + "errorInformation": { + "reason": "MISSING_FIELD", + "message": "abc", + "details": [ + { + "field": "xyz", + "reason": "MISSING_FIELD" + } + ] + }, + "installmentInformation": { + "numberOfInstallments": 0, + "identifier": "1234567" + }, + "fraudMarkingInformation": { + "reason": "suspected" + }, + "healthCareInformation": { + "amountDetails": { + "amountType": "healthcare-transit", + "amount": "100.00" + } + }, + "merchantDefinedInformation": [ + { + "key": "abc", + "value": "xyz" + } + ], + "merchantInformation": { + "merchantDescriptor": { + "name": "ng_paymentech" + } + }, + "orderInformation": { + "billTo": { + "firstName": "JAMES", + "lastName": "DOUGH", + "middleName": "ROY", + "nameSuffix": "Mr", + "address1": "600 Morgan Falls Road", + "address2": "Room 2-2123", + "locality": "Atlanta", + "administrativeArea": "GA", + "postalCode": "30350", + "company": "cybersource", + "email": "jdough@cybersource.com", + "country": "US", + "title": "Manager", + "phoneNumber": "6509656111" + }, + "shipTo": { + "firstName": "Test", + "lastName": "TSS", + "address1": "201S.DivisionSt._1", + "address2": "Suite500", + "locality": "Austin", + "administrativeArea": "TX", + "postalCode": "78750", + "company": "cybs", + "country": "US", + "phoneNumber": "5120000000" + }, + "lineItems": [ + { + "productCode": "code2", + "productName": "name2", + "productSku": "KKY", + "taxAmount": "3.00", + "quantity": 2, + "unitPrice": "5.00", + "fulfillmentType": "abc" + } + ], + "amountDetails": { + "totalAmount": "100.00", + "currency": "USD", + "taxAmount": "5", + "authorizedAmount": "100.00", + "settlementAmount": "97.50", + "settlementCurrency": "USD", + "surcharge": "1.11" + }, + "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", + "transactionInformation": "7af749d8-f883-42e7-8b42-2204578d22e1" + }, + "payoutInformation": { + "pushFunds": { + "moneyTransferFastFundsCrossBorder": "Y", + "moneyTransferFastFundsDomestic": "Y", + "moneyTransferCrossBorder": "Y", + "moneyTransferDomestic": "Y", + "nonMoneyTransferFastFundsCrossBorder": "Y", + "nonMoneyTransferFastFundsDomestic": "Y", + "nonMoneyTransferCrossBorder": "Y", + "nonMoneyTransferDomestic": "Y", + "onlineGamblingFastFundsCrossBorder": "N", + "onlineGamblingFastFundsDomestic": "N", + "onlineGamblingCrossBorder": "N", + "onlineGamblingDomestic": "N", + "domesticParticipant": "true" + }, + "pullFunds": { + "domesticParticipant": "false", + "crossBorderParticipant": "false" + }, + "geoRestrictionIndicator": "Y" + }, + "payoutOptions": { + "payoutInquiry": "true", + "networkId": "0002", + "acquirerBin": "123456" + }, + "invoice": { + "number": "BOLETONUM34567890123barcode12345678901231234567890", + "barcodeNumber": "barcode1234567890123barcode12345678901231234567890", + "expirationDate": "2018-01-07T07:59:59.999Z" + }, + "bank": { + "routingNumber": "routing123", + "branchCode": "branchcode1234567", + "swiftCode": "bankswift1", + "bankCode": "bankcode1212345", + "iban": "SUFF", + "account": { + "suffix": "1111", + "prefix": "123456", + "checkNumber": "123456", + "type": "check", + "name": "BankAccountName123456789012345", + "checkDigit": "CD", + "encoderId": "AID" + }, + "mandate": { + "referenceNumber": "mandaterefnum1234567", + "recurringType": "direct1234", + "id": "mandateId1" + } + }, + "accountFeatures": { + "balanceAmount": "3.00", + "previousBalanceAmount": "2.00", + "currency": "usd" + }, + "paymentInstrument": { + "id": "1C56E3115482033FEA539399130A4BC2" + }, + "instrumentIdentifier": { + "id": "1C56E3115482033FEA539399130A4BC2" + }, + "shippingAddress": { + "id": "1C56E3115482033FEA539399130A4BC2" + }, + "fluidData": { + "descriptor": "bluefin" + } + }, + "paymentInsightsInformation": { + "responseInsights": { + "category": "ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS", + "categoryCode": "03", + "processorRawName": "processorRawName123" + } + }, + "unscheduledPaymentInformation": { + "type": "1" + }, + "processingInformation": { + "binSource": "itmx", + "industryDataType": "healthcare_transit", + "paymentSolution": "Visa", + "commerceIndicator": "7", + "commerceIndicatorLabel": "Motto", + "businessApplicationId": "12345", + "authorizationOptions": { + "authType": "O", + "authIndicator": "0", + "extendAuthIndicator": "1", + "cardVerificationIndicator": "0", + "initiator": { + "type": "Y", + "credentialStoredOnFile": "Y", + "storedCredentialUsed": "Y", + "merchantInitiatedTransaction": { + "reason": "1", + "previousTransactionId": "networktransactionid67890", + "originalAuthorizedAmount": "100.00", + "agreementId": "agreementId123" + } + } + }, + "bankTransferOptions": { + "secCode": "web" + }, + "captureOptions": { + "totalCaptureCount": "2", + "captureSequenceNumber": "1" + }, + "reconciliationId": "abc123", + "japanPaymentOptions": { + "paymentMethod": "1", + "terminalId": "1234567890123", + "businessName": "shop_local", + "businessNameKatakana": "shop_katakana", + "businessNameEnglish": "shop_local_english", + "bonuses": [ + { + "month": "07", + "amount": "999" + }, + { + "month": "08", + "amount": "9889" + } + ], + "firstBillingMonth": "06", + "numberOfInstallments": "99", + "preApprovalType": "1" + } + }, + "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" }, - "payByLink": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } + "name": { + "type": "string", + "maxLength": 100, + "description": "Name of tag.\n" }, - "unifiedCheckout": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } + "length": { + "type": "integer", + "description": "Tag length in bytes.\n" }, - "receivablesManager": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } + "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" }, - "serviceFee": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "configurations": { - "type": "object", - "properties": { - "products": { - "type": "object", - "description": "Products enabled for this account. The following values are supported:\nvirtualTerminal\npaymentTokenizationOtp\nsubscriptionsOtp\nvirtualTerminalCp\neCheck\n", - "additionalProperties": { - "type": "object", - "properties": { - "serviceFeeEnabled": { - "type": "boolean", - "description": "Boolean flag to determine if service fee will be applied to the Product." - } - } - } - }, - "terminalId": { - "type": "string", - "pattern": "/^[a-zA-Z0-9]+$/", - "description": "Identifier of the terminal at the retail location.", - "maxLength": 8 - }, - "merchantId": { - "type": "string", - "pattern": "/^[a-zA-Z0-9]+$/", - "description": "Identifier of a merchant account.", - "maxLength": 15 - }, - "merchantInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the merchant account.", - "maxLength": 25 - }, - "contact": { - "type": "string", - "pattern": "/^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/", - "description": "Phone number of the primary contact for the merchant account." - }, - "state": { - "type": "string", - "description": "2-character ISO code for the U.S. state in which the merchant is registered", - "maxLength": 2 - } - } - }, - "paymentInformation": { - "type": "array", - "items": { - "type": "object", - "properties": { - "paymentType": { - "type": "string", - "description": "Payment types accepted by this merchant. The supported values are: MASTERDEBIT, MASTERCREDIT, VISACREDIT, VISADEBIT, DISCOVERCREDIT, AMEXCREDIT, ECHECK \nPossible values:\n- MASTERDEBIT\n- MASTERCREDIT\n- VISACREDIT\n- VISADEBIT\n- DISCOVERCREDIT\n- AMEXCREDIT\n- ECHECK" - }, - "feeType": { - "type": "string", - "description": "Fee type for the selected payment type. Supported values are: Flat or Percentage.\n \nPossible values:\n- FLAT\n- PERCENTAGE" - }, - "feeAmount": { - "type": "number", - "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", - "description": "Fee Amount of the selected payment type if you chose Flat fee type.\n" - }, - "percentage": { - "type": "number", - "description": "Percentage of the selected payment type if you chose Percentage Fee type. Supported values use numbers with decimals. For example, 1.0\n" - }, - "feeCap": { - "type": "number", - "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", - "description": "Fee cap for the selected payment type. Supported values use numbers with decimals. For example, 1.0\n" - } - } - } - } - } - } - } - } - } + "description": { + "type": "string", + "maxLength": 400, + "description": "Description of tag.\n" } } - }, - "risk": { - "title": "riskProducts", - "type": "object", - "properties": { - "fraudManagementEssentials": { - "type": "object", - "properties": { - "subscriptionInformation": { + } + } + } + } + } + } + } + }, + "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": { - "enabled": { - "type": "boolean" + "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" }, - "selfServiceability": { + "reasonCode": { "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { + "description": "3-digit reason code that indicates why the customer profile payment succeeded or failed." + }, + "status": { "type": "string", - "format": "uuid" + "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." } - }, - "decisionManager": { + } + }, + "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" + } + } + }, + "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" + }, + "transactionId": { + "type": "string", + "description": "Payer auth Transaction identifier." + }, + "eciRaw": { + "type": "string", + "maxLength": 2, + "description": "Raw electronic commerce indicator (ECI).\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": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } + "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" }, - "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" - } - } - } - } - } - } - } - } - } - } - } + "value": { + "type": "string", + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "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\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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } - } - }, - "commerceSolutions": { - "title": "commerceSolutionsProducts", - "type": "object", - "properties": { - "tokenManagement": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } + }, + "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." } - }, - "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." - }, - "vault": { - "type": "object", - "properties": { - "defaultTokenType": { - "type": "string", - "description": "Default token type to be used.\nPossible Values: \n - 'CUSTOMER'\n - 'PAYMENT_INSTRUMENT'\n - 'INSTRUMENT_IDENTIFIER'\n", - "example": "CUSTOMER" - }, - "location": { - "type": "string", - "description": "Location where the vault will be stored.\n\nUse 'IDC' (the Indian Data Centre) when merchant is storing token data in India or 'GDC' (the Global Data Centre) for all other cases.\n\nPossible Values: \n - 'IDC'\n - 'GDC'\n", - "example": "GDC" - }, - "tokenFormats": { - "title": "tmsTokenFormats", - "type": "object", - "properties": { - "customer": { - "type": "string", - "description": "Format for customer tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", - "example": "32_HEX" - }, - "paymentInstrument": { - "type": "string", - "description": "Format for payment instrument tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", - "example": "32_HEX" - }, - "instrumentIdentifierCard": { - "type": "string", - "description": "Format for card based instrument identifier tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '16_DIGIT_LAST_4'\n - '19_DIGIT'\n - '19_DIGIT_LAST_4'\n - '22_DIGIT'\n - '32_HEX'\n" - }, - "instrumentIdentifierBankAccount": { - "type": "string", - "description": "Format for bank account based instrument identifier tokens.\n\nPossible Values: \n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n" - } - } - }, - "tokenPermissions": { - "title": "TokenPermissions", - "type": "object", - "properties": { - "create": { - "type": "boolean", - "description": "Indicates if tokens may be created" - }, - "read": { - "type": "boolean", - "description": "Indicates if tokens may be read" - }, - "update": { - "type": "boolean", - "description": "Indicates if tokens may be updated" - }, - "delete": { - "type": "boolean", - "description": "Indicates if tokens may be deleted" - } - } - }, - "sensitivePrivileges": { - "title": "tmsSensitivePrivileges", - "type": "object", - "properties": { - "cardNumberMaskingFormat": { - "type": "string", - "description": "Indicates which digits of the card number will be unmasked.\n\nPossible Values: \n - 'FIRST_6_LAST_4'\n - 'LAST_4'\n - 'MASKED'\n" - } - } - }, - "nullify": { - "title": "tmsNullify", - "type": "object", - "properties": { - "instrumentIdentifierCardNumber": { - "type": "boolean", - "description": "Indicates if the card number should be nullified (i.e. not stored)" - }, - "instrumentIdentifierCardExpiration": { - "type": "boolean", - "description": "Indicates if the expiration date associated to the instrument identifier should be nullified (i.e. not stored)" - }, - "paymentInstrumentCardDetails": { - "type": "boolean", - "description": "Indicates if the card details should be nullified (i.e. not stored)" - } - } - }, - "networkTokenServices": { - "title": "tmsNetworkTokenServices", - "type": "object", - "properties": { - "notifications": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if lifecycle management (LCM) notifications are enabled" - } - } - }, - "paymentCredentials": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if Payment Credentials are enabled. If enabled, this provides access to the unredacted token and its associated cryptogram." - } - } - }, - "synchronousProvisioning": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if network tokens are provisioned synchronously (i.e. as part of the transaction flow) or asychronously (i.e. in parallel to the payment flow)\n\nNOTE: The synchronous provisioning feature is designed exclusively for aggregator merchants.\n\nDirect merchants should not enable synchronous provisioning as TMS manages the asynchronous creation of network tokens for direct clients. \n\nActivation of this feature by direct merchants will lead to latency in the authorization response.\n" - } - } - }, - "visaTokenService": { - "type": "object", - "properties": { - "enableService": { - "type": "boolean", - "description": "Indicates if the service for network tokens for the Visa card association are enabled" - }, - "enableTransactionalTokens": { - "type": "boolean", - "description": "Indicates if network tokens for the Visa card association are enabled for transactions" - }, - "tokenRequestorId": { - "type": "string", - "description": "Token Requestor ID provided by Visa during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"40000000082\"\n", - "pattern": "^[0-9]{11}\\\\z$\"", - "minLength": 11, - "maxLength": 11 - }, - "relationshipId": { - "type": "string", - "description": "Relationship ID provided by visa\n\nMin Length: 1\nMax Length: 100\nExample: \"24681921-40000000082\"\n", - "minLength": 1, - "maxLength": 100 - } - } - }, - "mastercardDigitalEnablementService": { - "type": "object", - "properties": { - "enableService": { - "type": "boolean", - "description": "Indicates if the service for network tokens for the Mastercard card association are enabled" - }, - "enableTransactionalTokens": { - "type": "boolean", - "description": "Indicates if network tokens for the Mastercard card association are enabled for transactions" - }, - "tokenRequestorId": { - "type": "string", - "description": "Token Requestor ID provided by Mastercard during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"50162233570\"\n", - "pattern": "^[0-9]{11}\\\\z$\"", - "minLength": 11, - "maxLength": 11 - } - } - }, - "americanExpressTokenService": { - "type": "object", - "properties": { - "enableService": { - "type": "boolean", - "description": "Indicates if the service for network tokens for the American Express card association are enabled" - }, - "enableTransactionalTokens": { - "type": "boolean", - "description": "Indicates if network tokens for the American Express card association are enabled for transactions" - }, - "tokenRequestorId": { - "type": "string", - "description": "Token Requestor ID provided by American Express during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"12345678912\"\n", - "pattern": "^[0-9]{11}\\\\z$\"", - "minLength": 11, - "maxLength": 11 - }, - "seNumber": { - "type": "string", - "minLength": 10, - "maxLength": 10, - "pattern": "^[0-9]{11}\\z$", - "description": "SE Number assigned by American Express for the merchant's account\n\nPattern: \"^[0-9]{11}\\\\z$\"\nMin Length: 10\nMax Length: 10\nExample: \"9876543212\"\n" - } - } - } - } - } - } - }, - "networkTokenEnrollment": { - "title": "networkTokenEnrollment", - "type": "object", - "properties": { - "businessInformation": { - "title": "tmsBusinessInformation", - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "minLength": 1, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "description": "Name of the network token merchant.", - "example": "NetworkTokenMerchant" - }, - "doingBusinessAs": { - "type": "string", - "maxLength": 60, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "description": "Name the network token merchant does business as", - "example": "NetworkTokenCo1" - }, - "address": { - "type": "object", - "properties": { - "country": { - "type": "string", - "maxLength": 2, - "minLength": 2, - "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", - "description": "Country of network token merchant.", - "example": "US" - }, - "locality": { - "type": "string", - "maxLength": 50, - "minLength": 1, - "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", - "description": "City of network token merchant.", - "example": "ORMOND BEACH" - } - } - }, - "websiteUrl": { - "type": "string", - "maxLength": 100, - "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac.\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", - "description": "Website of network token merchant.", - "example": "https://www.NetworkTokenMerchant.com" - }, - "businessIdentificationType": { - "type": "string", - "description": "The Identifier associated with the business type; required unless both acquirerId and acquirerMerchantId are provided.\n", - "maxLength": 15 - }, - "businessIdentificationValue": { - "type": "string", - "description": "The value associated with the business identifier type; required unless both acquirerId and acquirerMerchantId are provided.\n", - "maxLength": 25 - }, - "acquirer": { - "type": "object", - "properties": { - "acquirerId": { - "type": "string", - "description": "Acquirer ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", - "maxLength": 15 - }, - "acquirerMerchantId": { - "type": "string", - "description": "Acquirer merchant ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", - "maxLength": 25 - } - } - } - } - }, - "networkTokenServices": { - "title": "NetworkTokenServicesEnablement", - "type": "object", - "properties": { - "visaTokenService": { - "type": "object", - "properties": { - "enrollment": { - "type": "boolean", - "description": "Indicates if an enrollment to create a TRID for the Visa card association should be attempted" - } - } - }, - "mastercardDigitalEnablementService": { - "type": "object", - "properties": { - "enrollment": { - "type": "boolean", - "description": "Indicates if an enrollment to create a TRID for the MasterCard card association should be attempted" - } - } - } - } - } - } - } - } - } + } + }, + "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" } } - } - }, - "accountUpdater": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } + }, + "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" } - }, - "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 - } + } + }, + "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" } } } } } - }, - "binLookup": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "paymentSolution": { + "type": "string", + "maxLength": 12, + "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" + }, + "businessApplicationId": { + "type": "string", + "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n" + }, + "commerceIndicator": { + "type": "string", + "maxLength": 20, + "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" + }, + "commerceIndicatorLabel": { + "type": "string", + "maxLength": 20, + "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n" + } + } + }, + "processorInformation": { + "type": "object", + "properties": { + "processor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 30, + "description": "Name of the Processor.\n" + } + } + }, + "providerTransactionId": { + "type": "string", + "description": "Unique ID [codigo] generated by the processor for real-time payments processed directly by the Iugu processor." + }, + "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" + }, + "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" + } + } + }, + "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" } - }, - "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" - } - } - } + } + }, + "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" } } } } - } - }, - "valueAddedServices": { - "title": "valueAddedServicesProducts", - "type": "object", - "properties": { - "reporting": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + }, + "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.\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" + } } } } } - }, - "transactionSearch": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } + } + }, + "_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." } } } @@ -107765,2060 +98931,12613 @@ } } }, - "documentInformation": { + "_links": { "type": "object", "properties": { - "signedDocuments": { - "type": "array", - "items": { - "type": "object", - "properties": { - "documentId": { - "type": "string", - "maxLength": 200, - "example": "TCProcessing" - } + "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." } } } } } }, - "required": [ - "organizationInformation" - ] + "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", + "retrievalReferenceNumber": "122908889379", + "providerTransactionId": "78906" + }, + "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": { - "201": { - "description": "Created", - "headers": { - "v-c-correlationid": { - "type": "string", - "description": "Unique identifier for this request" - } - }, + "200": { + "description": "Successful response.", "schema": { "type": "object", + "title": "tssV2TransactionsPost201Response", "properties": { - "id": { + "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", - "maxLength": 60, - "example": "12351234" + "description": "Name of this search. When `save` is set to `true`, this search is saved with this name.\n" }, - "submitTimeUtc": { + "timezone": { "type": "string", - "format": "date-time", - "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 + "description": "Merchant's time zone in ISO standard, using the TZ database format. For example: `America/Chicago`\n" }, - "status": { + "query": { "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" + "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" }, - "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" - }, - "salesRepId": { - "type": "string", - "maxLength": 60, - "example": "Rep1" - } - } + "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" }, - "integrationInformation": { + "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": { - "tenantConfigurations": { + "transactionSummaries": { "type": "array", - "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.", + "description": "transaction search summary", "items": { "type": "object", "properties": { - "solutionId": { + "id": { "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" + "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" }, - "tenantConfigurationId": { + "submitTimeUtc": { "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" + "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": { + "merchantId": { "type": "string", - "description": "Possible values:\n- LIVE\n- INACTIVE\n- TEST" + "description": "Your CyberSource merchant ID." }, - "submitTimeUtc": { + "status": { "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": { + "description": "The status of the submitted transaction.\nNote: This field may not be returned for all transactions.\n" + }, + "applicationInformation": { "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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" }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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" }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "rFlag": { + "type": "string", + "description": "One-word description of the result of the application.\n" }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } + "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." } } } }, - "digitalPayments": { + "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" + } + } + }, + "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": { - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "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" }, - "secureAcceptance": { + "transactionId": { + "type": "string", + "description": "Payer auth Transaction identifier." + }, + "eciRaw": { + "type": "string", + "maxLength": 2, + "description": "Raw electronic commerce indicator (ECI).\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" + }, + "value": { + "type": "string", + "maxLength": 800, + "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. \n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "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": { - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "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" }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "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\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" } } }, - "virtualTerminal": { + "shipTo": { "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "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" }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "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." } } }, - "currencyConversion": { + "amountDetails": { "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } + } + } + } + }, + "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" } } }, - "tax": { + "card": { "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "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" } } }, - "customerInvoicing": { + "bank": { "type": "object", "properties": { - "subscriptionStatus": { + "account": { "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": { + "suffix": { "type": "string", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + "description": "Last four digits of the customer's payment account number.\n" }, - "reason": { + "prefix": { "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "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 REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, - "recurringBilling": { + "businessApplicationId": { + "type": "string", + "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n" + }, + "commerceIndicator": { + "type": "string", + "maxLength": 20, + "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" + }, + "commerceIndicatorLabel": { + "type": "string", + "maxLength": 20, + "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n" + } + } + }, + "processorInformation": { + "type": "object", + "properties": { + "processor": { "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "name": { + "type": "string", + "maxLength": 30, + "description": "Name of the Processor.\n" } } }, - "cybsReadyTerminal": { + "providerTransactionId": { + "type": "string", + "description": "Unique ID [codigo] generated by the processor for real-time payments processed directly by the Iugu processor." + }, + "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" + }, + "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" + } + } + }, + "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": { - "subscriptionStatus": { + "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": { - "submitTimeUtc": { + "true_ipaddress": { "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" + "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" }, - "status": { + "hash": { "type": "string", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + "maxLength": 255, + "description": "The unique identifier of the device that is returned in the `riskInformation.providers.fingerprint.device_fingerprint_hash` API reply field.\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" }, - "reason": { + "smartId": { "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "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." }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } + "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", + "retrievalReferenceNumber": "122908889379", + "providerTransactionId": "78906" + }, + "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" }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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" }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "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" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + } + } + }, + "freight": { + "type": "object", + "description": "Contains all of the shipping-related fields for the 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" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "taxRate": { + "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "type": "string", + "maxLength": 7 + } + } + } + } + }, + "lineItems": { + "type": "array", + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + } + }, + "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- PENDING\n" + }, + "customerInformation": { + "type": "object", + "description": "Contains all of the customer-related fields for the invoice.", + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "description": "Payer name for the invoice." + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + } + } + }, + "freight": { + "type": "object", + "description": "Contains all of the shipping-related fields for the 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" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "taxRate": { + "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "type": "string", + "maxLength": 7 + } + } + } + } + }, + "lineItems": { + "type": "array", + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + } + }, + "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- PENDING\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 - PENDING\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." }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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." }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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." }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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." }, - "serviceFee": { - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } + "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- PENDING\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" + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } + } + } + } + } + } + } + }, + "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`, `CANCELED` or `PENDING`.", + "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- PENDING\n" + }, + "customerInformation": { + "type": "object", + "description": "Contains all of the customer-related fields for the invoice.", + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "description": "Payer name for the invoice." + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + } + } + }, + "freight": { + "type": "object", + "description": "Contains all of the shipping-related fields for the 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" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "taxRate": { + "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "type": "string", + "maxLength": 7 + } + } + } + } + }, + "lineItems": { + "type": "array", + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \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\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 15, + "description": "Total discount amount applied to the order.\n" + }, + "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" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + } + } + }, + "freight": { + "type": "object", + "description": "Contains all of the shipping-related fields for the 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" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "taxRate": { + "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "type": "string", + "maxLength": 7 + } + } + } + } + }, + "lineItems": { + "type": "array", + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + } + }, + "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- PENDING\n" + }, + "customerInformation": { + "type": "object", + "description": "Contains all of the customer-related fields for the invoice.", + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "description": "Payer name for the invoice." + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + } + } + }, + "freight": { + "type": "object", + "description": "Contains all of the shipping-related fields for the 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" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "taxRate": { + "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "type": "string", + "maxLength": 7 + } + } + } + } + }, + "lineItems": { + "type": "array", + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + } + }, + "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- PENDING\n" + }, + "customerInformation": { + "type": "object", + "description": "Contains all of the customer-related fields for the invoice.", + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "description": "Payer name for the invoice." + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + } + } + }, + "freight": { + "type": "object", + "description": "Contains all of the shipping-related fields for the 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" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "taxRate": { + "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "type": "string", + "maxLength": 7 + } + } + } + } + }, + "lineItems": { + "type": "array", + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + } + }, + "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- PENDING\n" + }, + "customerInformation": { + "type": "object", + "description": "Contains all of the customer-related fields for the invoice.", + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "description": "Payer name for the invoice." + }, + "email": { + "type": "string", + "maxLength": 255, + "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" + }, + "merchantCustomerId": { + "type": "string", + "maxLength": 100, + "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n" + }, + "company": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n" + } + } + } + } + }, + "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.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "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" + }, + "amount": { + "type": "string", + "maxLength": 13, + "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" + }, + "rate": { + "type": "string", + "maxLength": 6, + "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" + } + } + }, + "freight": { + "type": "object", + "description": "Contains all of the shipping-related fields for the 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" + }, + "taxable": { + "type": "boolean", + "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n" + }, + "taxRate": { + "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", + "type": "string", + "maxLength": 7 + } + } + } + } + }, + "lineItems": { + "type": "array", + "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#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "discountAmount": { + "type": "string", + "maxLength": 13, + "description": "Discount applied to the item." + }, + "discountRate": { + "type": "string", + "maxLength": 6, + "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "taxRate": { + "type": "string", + "maxLength": 7, + "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" + }, + "totalAmount": { + "type": "string", + "maxLength": 13, + "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" + } + } + } + } + } + } + }, + "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.\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.\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.\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" }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } - } - } + "roleId": { + "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } - } + "permissions": { + "type": "array", + "items": { + "type": "string", + "description": "array of permissions" } }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } - } - } + "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" + } } } } - }, - "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" - } - } + } + }, + "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" }, - "x-devcenter-additional-properties": [ - "organizationInformation", - "productInformation" - ] + "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": "Bad Request", - "headers": { - "v-c-correlationid": { - "type": "string", - "description": "Unique identifier for this request" - } - }, + "description": "Invalid request.", "schema": { "type": "object", + "title": "umsV1UsersGet400Response", "properties": { "submitTimeUtc": { "type": "string", - "format": "date-time", - "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 + "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 http status description of the submitted request.", - "example": "BAD_REQUEST" + "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "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" + "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": "Descriptive message for the error." + "description": "The detail message related to the status and reason listed above." }, "details": { "type": "array", @@ -109831,8 +111550,7 @@ }, "reason": { "type": "string", - "description": "Possible reasons for the error.", - "example": "MISSING_FIELD" + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } @@ -109840,36 +111558,210 @@ } } }, - "422": { - "description": "Business Validations failed", - "headers": { - "v-c-correlationid": { - "type": "string", - "description": "Unique identifier for this request" + "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", - "format": "date-time", - "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 + "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 http status description of the submitted request.", - "example": "UNPROCESSABLE_ENTITY" + "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "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" + "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": "Descriptive message for the error." + "description": "The detail message related to the status and reason listed above." }, "details": { "type": "array", @@ -109878,611 +111770,693 @@ "properties": { "field": { "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." - }, - "reason": { + "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": "Brief description of the order or any comment you wish to add to the order." + } + } + }, + "taxInformation": { + "type": "object", + "properties": { + "reportingDate": { + "type": "string", + "maxLength": 8, + "description": "Reporting date of transaction. Format: YYYYMMDD. Defaults to current date if not specified.\nOptional for U.S., Canadian, international tax, and value added taxes.\n" + }, + "dateOverrideReason": { + "type": "string", + "maxLength": 50, + "description": "If a past or future date is specified in `orderInformation.invoiceDetails.invoiceDate`, then provide the reason for that for audit purposes.\nTypical reasons include: 'Return', 'Layaway', 'Imported'.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" + }, + "nexus": { + "description": "Comma-separated list of states or provinces in which merchandise is taxable. Note merchandise may be still be non-taxable or tax exempt depending on the product taxability. Indicate the type of product you are selling in the product code field for product-level taxability rules to be applied. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.noNexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", + "type": "array", + "items": { + "type": "string", + "maxLength": 2 + } + }, + "noNexus": { + "description": "Comma-separated list of states or provinces where you do not have nexus. Check with a tax advisor to determine where your business has nexus. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province.\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.nexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", + "type": "array", + "items": { "type": "string", - "description": "Possible reasons for the error.", - "example": "MISSING_FIELD" + "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" } } - } - } - } - }, - "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-time", - "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", - "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" }, - "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" - } - ] - } - } + "orderInformation": { + "type": "object", + "properties": { + "amountDetails": { + "type": "object", + "properties": { + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, - "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 - } - } + "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" } } }, - "virtualTerminal": { - "subscriptionInformation": { - "enabled": "true" + "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" + } } }, - "customerInvoicing": { - "subscriptionInformation": { - "enabled": "true" + "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": 50, + "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 32, + "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address1": { + "type": "string", + "maxLength": 60, + "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + }, + "address3": { + "type": "string", + "maxLength": 60, + "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" + } } }, - "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 + "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" }, - "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" + "productCode": { + "type": "string", + "maxLength": 255, + "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" + }, + "quantity": { + "type": "integer", + "minimum": 1, + "maximum": 999999999, + "default": 1, + "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "productName": { + "type": "string", + "maxLength": 255, + "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" + }, + "unitPrice": { + "type": "string", + "maxLength": 15, + "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" + }, + "taxAmount": { + "type": "string", + "maxLength": 15, + "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" + }, + "orderAcceptance": { + "type": "object", + "description": "The Order Acceptance address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Acceptance address in your tax service request for some or all of your transactions based on your business.", + "properties": { + "locality": { + "type": "string", + "maxLength": 50, + "description": "Order acceptance city. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 2, + "description": "Order acceptance state. This field is not used unless the `orderInformation.orderAcceptance.locality` and `orderInformation.orderAcceptance.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Order acceptance postal code. This field is not used unless the `orderInformation.orderAcceptance.locality`, `orderInformation.orderAcceptance.administrativeArea`, and `orderInformation.orderAcceptance.country` fields are present.\nMust be sent at the line or offer level to be surfaced in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Order acceptance country. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.locality` fields are present. Use the [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, - "features": { - "cardNotPresent": { - "processors": { - "amexdirect": { - "relaxAddressVerificationSystem": true, - "relaxAddressVerificationSystemAllowExpiredCard": true, - "relaxAddressVerificationSystemAllowZipWithoutCountry": false - } + "orderOrigin": { + "type": "object", + "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.", + "properties": { + "locality": { + "type": "string", + "maxLength": 50, + "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 2, + "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } + }, + "shipFromCountry": { + "type": "string", + "maxLength": 2, + "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" + }, + "shipFromAdministrativeArea": { + "type": "string", + "maxLength": 2, + "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "shipFromLocality": { + "type": "string", + "maxLength": 50, + "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "shipFromPostalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "buyerVatRegistrationNumber": { + "type": "string", + "maxLength": 25, + "description": "Buyer's VAT registration number.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" + }, + "sellerVatRegistrationNumber": { + "type": "string", + "maxLength": 25, + "description": "VAT seller registration number.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" } - }, - "templateId": "2B80A3C7-5A39-4CC3-9882-AC4A828D3646" + } } }, - "virtualTerminal": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" + "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" + } } }, - "customerInvoicing": { - "subscriptionInformation": { - "enabled": true - } - } - }, - "risk": {}, - "commerceSolutions": { - "tokenManagement": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" - } - } - }, - "valueAddedServices": { - "transactionSearch": { - "subscriptionInformation": { - "enabled": true + "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" + } } }, - "reporting": { - "subscriptionInformation": { - "enabled": true + "orderOrigin": { + "type": "object", + "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.", + "properties": { + "locality": { + "type": "string", + "maxLength": 50, + "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 2, + "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" + } } } } + }, + "merchantInformation": { + "type": "object", + "properties": { + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n" + } + } + }, + "buyerInformation": { + "type": "object", + "properties": { + "vatRegistrationNumber": { + "type": "string", + "maxLength": 20, + "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" + } + } } } } - }, - "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" - } - } - } - } - } + } + ], + "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." }, - "templateId": "0A413572-1995-483C-9F48-FCBE4D0B2E86" + "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" }, - "virtualTerminal": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" - } + "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" }, - "customerInvoicing": { - "subscriptionInformation": { - "enabled": true - } - } - }, - "risk": {}, - "commerceSolutions": { - "tokenManagement": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" - } + "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" } - }, - "valueAddedServices": { - "transactionSearch": { - "subscriptionInformation": { - "enabled": true - } + } + }, + "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" }, - "reporting": { - "subscriptionInformation": { - "enabled": true - } + "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" } } - } - } - } - }, - "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 + }, + "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" + } + } + } }, - "cardPresent": { - "enabled": true - } - } - }, - "configurationInformation": { - "configurations": { - "common": { - "merchantCategoryCode": "1799", - "processors": { - "CUP": { - "acquirer": { - "countryCode": "344_hongkong", - "institutionId": "22344" + "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" }, - "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": "" - } + "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" }, - "paymentTypes": { - "CUP": { - "enabled": true - } + "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" } - }, - "templateId": "1D8BC41A-F04E-4133-87C8-D89D1806106F" + } } }, - "virtualTerminal": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" + "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" + } + } } }, - "customerInvoicing": { - "subscriptionInformation": { - "enabled": true + "amountDetails": { + "type": "object", + "properties": { + "totalAmount": { + "type": "string", + "maxLength": 19, + "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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. \n\n#### DCC for First Data\nNot used.\n" + }, + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + } } } - }, - "risk": {}, - "commerceSolutions": { - "tokenManagement": { - "subscriptionInformation": { - "enabled": true + } + } + } + } + }, + "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." }, - "configurationInformation": { - "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" - } - } - }, - "valueAddedServices": { - "transactionSearch": { - "subscriptionInformation": { - "enabled": true - } - }, - "reporting": { - "subscriptionInformation": { - "enabled": true + "reason": { + "type": "string", + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } @@ -110490,231 +112464,320 @@ } } }, - "example4": { - "summary": "Merchant Boarding with EFTPOS", + "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": { - "organizationInformation": { - "parentOrganizationId": "apitester00", - "type": "MERCHANT", - "configurable": "true", - "businessInformation": { - "name": "StuartWickedFastEatz", - "address": { - "country": "US", - "address1": "123456 SandMarket", - "locality": "ORMOND BEACH", - "administrativeArea": "FL", - "postalCode": "32176" + "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 }, - "websiteUrl": "https://www.StuartWickedEats.com", - "phoneNumber": "6574567813", - "businessContact": { - "firstName": "Stuart", - "lastName": "Stuart", - "phoneNumber": "6574567813", - "email": "svc_email_bt@corpdev.visa.com" + { + "productSKU": "07-12-00659", + "productName": "Sugar Cookies", + "productCode": 50181905, + "quantity": 1, + "unitPrice": 1240 }, - "merchantCategoryCode": "5999" - } + { + "productSKU": "07-12-00658", + "productName": "Carbonated Water", + "productCode": 5020.11, + "quantity": 1, + "unitPrice": 9001 + } + ] }, - "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" - } - } + "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" } } }, - "example5": { - "summary": "Merchant Boarding with FDIGlobal", + "example2": { + "summary": "Committed Tax Call Request", + "sample-name": "Committed Tax Calculation", "value": { - "organizationInformation": { - "parentOrganizationId": "apitester00", - "type": "MERCHANT", - "configurable": "true", - "businessInformation": { - "name": "StuartWickedFastEatz", - "address": { - "country": "US", - "address1": "123456 SandMarket", - "locality": "ORMOND BEACH", - "administrativeArea": "FL", - "postalCode": "32176" + "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 }, - "websiteUrl": "https://www.StuartWickedEats.com", - "phoneNumber": "6574567813", - "businessContact": { - "firstName": "Stuart", - "lastName": "Stuart", - "phoneNumber": "6574567813", - "email": "svc_email_bt@corpdev.visa.com" + { + "productSKU": "07-12-00659", + "productName": "Sugar Cookies", + "productCode": 50181905, + "quantity": 1, + "unitPrice": 1240 }, - "merchantCategoryCode": "5999" - } + { + "productSKU": "07-12-00658", + "productName": "Carbonated Water", + "productCode": 5020.11, + "quantity": 1, + "unitPrice": 9001 + } + ] }, - "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 - } - } + "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": "Brief description of the order or any comment you wish to add to the order." + }, + "partner": { + "type": "object", + "properties": { + "solutionId": { + "type": "string", + "maxLength": 8, + "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, - "templateId": "685A1FC9-3CEC-454C-9D8A-19205529CE45" + "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" + } } } } @@ -110722,175 +112785,95 @@ } } }, - "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" - } + { + "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" }, - "customerInvoicing": { - "subscriptionInformation": { - "enabled": true - } + "currency": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } - }, - "risk": {}, - "commerceSolutions": { - "tokenManagement": { - "subscriptionInformation": { - "enabled": true + } + } + } + } + }, + "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." }, - "configurationInformation": { - "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" - } - } - }, - "valueAddedServices": { - "transactionSearch": { - "subscriptionInformation": { - "enabled": true - } - }, - "reporting": { - "subscriptionInformation": { - "enabled": true + "reason": { + "type": "string", + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } @@ -110898,1401 +112881,4076 @@ } } }, - "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" + "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" }, - "productInformation": { - "selectedProducts": { - "payments": { - "cardProcessing": { - "subscriptionInformation": { - "enabled": true, - "features": { - "cardNotPresent": { - "enabled": true - }, - "cardPresent": { - "enabled": true + "fieldMapping": [ + { + "sourceField": "id", + "destinationField": "id", + "fieldTypeInDestination": "path" + } + ] + } + } + } + } + }, + "/boarding/v1/registrations": { + "post": { + "tags": [ + "Merchant Boarding" + ], + "x-devcenter-metaData": { + "categoryTag": "Merchant_Boarding", + "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" + }, + "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-time", + "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" + }, + "boardingPackageId": { + "type": "string", + "maxLength": 60, + "example": 1004001 + }, + "boardingFlow": { + "type": "string", + "description": "Determines the boarding flow for this registration.\nPossible Values:\n - 'ENTERPRISE'\n - 'SMB'\n - 'ADDPRODUCT'\n" + }, + "mode": { + "type": "string", + "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n" + }, + "salesRepId": { + "type": "string", + "maxLength": 60, + "example": "Rep1" + } + } + }, + "integrationInformation": { + "type": "object", + "properties": { + "oauth2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "client_id": { + "type": "string", + "maxLength": 32, + "example": "client123" + }, + "state": { + "type": "string", + "maxLength": 20, + "example": "test123" } - } - }, - "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" + }, + "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" } } } }, - "templateId": "3173DA78-A71E-405B-B79C-928C1A9C6AB2" + "required": [ + "solutionId" + ] } + } + } + }, + "organizationInformation": { + "type": "object", + "properties": { + "organizationId": { + "type": "string", + "maxLength": 30, + "minLength": 6, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" }, - "virtualTerminal": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" - } + "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" }, - "customerInvoicing": { - "subscriptionInformation": { - "enabled": true + "childOrganizations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "maxLength": 30, + "minLength": 6, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "transactional-org" } - } - }, - "risk": {}, - "commerceSolutions": { - "tokenManagement": { - "subscriptionInformation": { - "enabled": true + }, + "type": { + "type": "string", + "description": "Determines the type of organization in the hirarchy that this registration will use to onboard this Organization\nPossible Values:\n - 'TRANSACTING'\n - 'STRUCTURAL'\n - 'MERCHANT'\n" + }, + "status": { + "type": "string", + "description": "Determines the status that the organization will be after being onboarded\nPossible Values:\n - 'LIVE'\n - 'TEST'\n - 'DRAFT'\n" + }, + "configurable": { + "description": "This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products. Eventually this field will be deprecated and all organizations will be allowed for product configuration.", + "type": "boolean", + "default": false, + "example": false + }, + "businessInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "minLength": 1, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "Betos Restaurant" + }, + "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", + "example": "America/Chicago" + }, + "websiteUrl": { + "type": "string", + "maxLength": 100, + "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac\u009d\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", + "example": "www.test.com" + }, + "type": { + "type": "string", + "description": "Business type\nPossible Values:\n - 'PARTNERSHIP'\n - 'SOLE_PROPRIETORSHIP'\n - 'CORPORATION'\n - 'LLC'\n - 'NON_PROFIT'\n - 'TRUST'\n" + }, + "taxId": { + "type": "string", + "maxLength": 9, + "pattern": "\\d{9}", + "example": 254324 + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4564561234 + }, + "businessContact": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4567890398 + }, + "email": { + "type": "string", + "maxLength": 100, + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", + "example": "test@test.com" + } + }, + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ] + }, + "technicalContact": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4567890398 + }, + "email": { + "type": "string", + "maxLength": 100, + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", + "example": "test@test.com" + } + }, + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ] + }, + "emergencyContact": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4567890398 + }, + "email": { + "type": "string", + "maxLength": 100, + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", + "example": "test@test.com" + } + }, + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ] + }, + "merchantCategoryCode": { + "type": "string", + "maxLength": 4, + "pattern": "^\\d{3,4}$", + "example": 5300, + "description": "Industry standard Merchant Category Code (MCC)" + } }, - "configurationInformation": { - "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" - } - } - }, - "valueAddedServices": { - "transactionSearch": { - "subscriptionInformation": { - "enabled": true - } + "required": [ + "name" + ] }, - "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 + "KYC": { + "type": "object", + "properties": { + "whenIsCustomerCharged": { + "type": "string", + "example": "ONETIMEBEFORE", + "description": "Possible values:\n- ONETIMEBEFORE\n- ONETIMEAFTER\n- OTHER" + }, + "whenIsCustomerChargedDescription": { + "type": "string", + "maxLength": 100 + }, + "offerSubscriptions": { + "type": "boolean", + "example": true + }, + "monthlySubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 30 + }, + "quarterlySubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 20 + }, + "semiAnnualSubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 50 + }, + "annualSubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 100 + }, + "timeToProductDelivery": { + "type": "string", + "description": "Possible values:\n- INSTANT\n- UPTO2\n- UPTO5\n- UPTO10\n- GREATERTHAN10" + }, + "estimatedMonthlySales": { + "type": "number", + "format": "currency", + "pattern": "^\\d{1,8}(\\.\\d{1,2})?$", + "example": 10000.5 + }, + "averageOrderAmount": { + "type": "number", + "format": "currency", + "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", + "example": 50.5 + }, + "largestExpectedOrderAmount": { + "type": "number", + "format": "currency", + "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", + "example": 100.5 + }, + "depositBankAccount": { + "type": "object", + "properties": { + "accountHolderName": { + "type": "string", + "maxLength": 40, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", + "example": "John Doe" + }, + "accountType": { + "type": "string", + "example": "checking", + "description": "Possible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings" + }, + "accountRoutingNumber": { + "type": "string", + "maxLength": 9, + "pattern": "\\d{9}" + }, + "accountNumber": { + "type": "string", + "maxLength": 17, + "pattern": "^\\d{5,17}$" + } }, - "cardPresent": { - "enabled": true - } + "required": [ + "accountHolderName", + "accountType", + "accountRoutingNumber", + "accountNumber" + ] } }, - "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" - } - } + "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" }, - "features": { - "cardNotPresent": { - "visaStraightThroughProcessingOnly": false, - "amexTransactionAdviceAddendum1": null - } + "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" + ] } }, - "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 + "required": [ + "firstName", + "lastName", + "birthDate", + "jobTitle", + "hasSignificantResponsability", + "ownershipPercentage", + "phoneNumber", + "email", + "address", + "isPrimary" + ] } } - } - } - } - } - }, - "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": false, - "creditCardRefundLimitPercent": "2", - "businessCenterCreditCardRefundLimitPercent": "3", - "allowCapturesGreaterThanAuthorizations": false, - "enableDuplicateMerchantReferenceNumberBlocking": false, - "processors": { - "VPC": { - "acquirer": { - "countryCode": "840_usa", - "fileDestinationBin": "444500", - "interbankCardAssociationId": "3684", - "institutionId": "444571", - "discoverInstitutionId": null + "required": [ + "businessInformation" + ] + }, + "productInformation": { + "type": "object", + "properties": { + "selectedProducts": { + "type": "object", + "properties": { + "payments": { + "title": "paymentsProducts", + "type": "object", + "properties": { + "cardProcessing": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + }, + "features": { + "type": "object", + "description": "This is a map. The allowed keys are below. Value should be an object containing a sole boolean property - enabled.\n\n \n \n \n \n \n \n
cardPresent
cardNotPresent
\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "cardPresent", + "cardNotPresent" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + } }, - "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 + "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." + }, + "unionPayInstitutionId": { + "type": "string", + "description": "Assigned by China Union Pay to identify the acquirer. Applicable for VPC processors." + }, + "dinersClubInstitutionId": { + "type": "string", + "description": "Assigned by Diners Club to identify the acquirer. Applicable for VPC processors." + }, + "countryCode": { + "type": "string", + "description": "ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors." + }, + "fileDestinationBin": { + "type": "string", + "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors." + } + } + }, + "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" + } + } + } + }, + "visaAggregatorId": { + "type": "string", + "description": "This field is used as aggregator Id when Visa payment type is selected" + }, + "amexAggregatorId": { + "type": "string", + "description": "This field is used as aggregator Id when Amex payment type is selected" + }, + "masterCardAggregatorId": { + "type": "string", + "description": "This field is used as aggregator Id when Master Card payment type is selected" + }, + "sicCode": { + "type": "string", + "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." + }, + "allowMultipleBills": { + "type": "boolean", + "description": "Allows multiple captures for a single authorization transaction.\nApplicable for Paymentech Tampa (paymentechtampa), VPC, American Express Direct (amexdirect) and GPX (gpx) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, hybridYesNo
American Express DirectcnpNoNo
\n" + }, + "allowMerchantDescriptorOverride": { + "type": "boolean", + "description": "Enables partner to enable/disable merchant descriptors values. Applicable for VPC, EFTPOS and CUP processors." + }, + "enhancedData": { + "type": "string", + "description": "To enable airline transactions.\nApplicable for TSYS (tsys), VPC, Elavon Americas (elavonamericas), FDI Global (fdiglobal), GPX (gpx), Barclays (barclays2) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridNo
American Express Directcp, cnp, hybridNo
\n" + }, + "fireSafetyIndicator": { + "type": "boolean", + "description": "Indicates whether the merchant is compliant with Hotel and Motel Fire Safety Act of 1990. Applicable for GPX (gpx) and VPC processors." + }, + "quasiCash": { + "type": "boolean", + "description": "To enable quasi-cash transactions. A quasi-cash transaction is a cash-like transaction for the sale of items that are directly convertible to cash, such as:-\nCasino gaming chips,\nMoney orders,\nWire transfers.\n\nApplicable for GPX (gpx), TSYS (tsys), Barclays (barclays2) and VPC processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoNo
\n" + }, + "acquirerMerchantId": { + "type": "string", + "description": "Identifier assigned by the acquirer. Applicable for RUPAY, VPC and Six (six) processors." + }, + "avsFormat": { + "type": "string", + "description": "Enables Enhanced AVS/Automated Address Verification Plus (AAV+).\n\nValid values:\n\"basic\" - Standard address verification system.\n When a processor supports AVS for a transaction's card type, the issuing bank uses AVS to confirm that the customer has provided the correct billing address.\n When a customer provides incorrect information, the transaction might be fraudulent.\n\"basic + name\" - Enhanced address verification system.\n Consists of the standard AVS functionality plus verification of some additional fields.\n The additional fields that are verified for Enhanced AVS are:\n - customer_firstname\n - customer_lastname\n\"basic + name + shipto\" - Automated address verification plus.\n Consists of the Enhanced AVS functionality plus verification of some additional fields.\n AAV+ intended for merchants who deliver physical goods to a different address than the billing address.\n AAV+ verifies the additional fields only when the standard and Enhanced AVS tests pass first.\n For information about Enhanced AVS - The additional fields that are verified for AAV+ are:\n - ship_to_firstname\n - ship_to_lastname\n - ship_to_address1\n - ship_to_country\n - ship_to_zip\n - ship_to_phone\n - customer_phone(American Express Direct only)\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridYesbasic
\n" + }, + "enableLongTransRefNo": { + "type": "boolean", + "description": "Amex Direct specific merchant config value which determines what length (either 9 or Unique 12-char reference number) of reference number will be CYBS generated if the merchant does not pass in a trans_ref_no.\nCan be any combination of alpha, numeric and special characters, and/or binary data in hexadecimal.\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableLevel2": { + "type": "boolean", + "description": "Field that indicates whether merchant will send level 2 data for Amex cards.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableMultipleTransactionAdviceAddendum": { + "type": "boolean", + "description": "This flag related to multiple transaction advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "amexTransactionAdviceAddendum1": { + "type": "string", + "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo140^[0-9a-zA-Z\-\\s.]+$
\n" + }, + "enableMultiLineItems": { + "type": "boolean", + "description": "This flag is related to offer/line item details to be included instead of sending one line item, and a grand total. Example, offer0, offer 1...offer n.\nApplicable for American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableTransactionReferenceNumber": { + "type": "boolean", + "description": "To enable merchant to send in transaction reference number (unique reconciliation ID). Applicable for VPC, Vero (vero), FDI Global (fdiglobal), Six (six), CB2A, CUP, VPC, Chase Paymentech Salem (chasepaymentechsalem), Fiserv (fiserv), Elavon Americas (elavonamericas) and EFTPOS processors." + }, + "enableAutoAuthReversalAfterVoid": { + "type": "boolean", + "description": "Enables to meet the Visa mandate requirements to reverse unused authorizations, benefitting the customer by releasing the hold on unused credit card funds.\nApplicable for CB2A, Elavon Americas (elavonamericas), Six (six), VPC and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableExpresspayPanTranslation": { + "type": "boolean", + "description": "When this is enabled, authorization responses from American Express expresspay transactions include the Primary Account Number (PAN) and expiration date of the card. Applicable for American Express Direct (amexdirect) processor." + }, + "enableCreditAuth": { + "type": "boolean", + "description": "Authorizes a credit. Reduces refund chargebacks and prevents customers from seeing the online update for credits which are otherwise offline settlements." + }, + "industryCode": { + "type": "string", + "description": "Field used to identify the industry type of the merchant submitting the authorization request.\n\nValid values:\n`0` \u2013 unknown or unsure\n`A` \u2013 auto rental (EMV supported)\n`B` \u2013 bank/financial institution (EMV supported)\n`D` \u2013 direct marketing\n`F` \u2013 food/restaurant (EMV supported)\n`G` \u2013 grocery store/super market (EMV supported)\n`H` \u2013 hotel (EMV supported)\n`L` \u2013 limited amount terminal (EMV supported)\n`O` \u2013 oil company/automated fueling system (EMV supported)\n`P` \u2013 passenger transport (EMV supported)\n`R` \u2013 retail (EMV supported)\nApplicable for TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n \nPossible values:\n- 0\n- A\n- B\n- D\n- F\n- G\n- H\n- L\n- O\n- P\n- R" + }, + "sendAmexLevel2Data": { + "type": "boolean", + "description": "Field that indicates whether merchant will send level 2 data for Amex cards. Applicable for TSYS (tsys) processor." + }, + "softDescriptorType": { + "type": "string", + "description": "A soft descriptor is a text, rendered on a cardholder's statement, describing a particular product or service, purchased by the cardholder.\nDescriptors are intended to help the cardholder identify the products or services purchased.\nValid values:\n`1` - trans_ref_no\n`2` - merchant_descriptor\n`3` - trans_ref_no and merchant_descriptor\nApplicable for TSYS (tsys) processor.\n" + }, + "vitalNumber": { + "type": "string", + "description": "V-number provided by TSYS info. The leading `V` must be replaced by a `7`. For example, replace `V1234567` with `71234567`. Applicable for TSYS (tsys) processor." + }, + "bankNumber": { + "type": "string", + "description": "6 digit agent bank number provided by acquirer. Applicable for TSYS (tsys) processor." + }, + "chainNumber": { + "type": "string", + "description": "6 digit chain number provided by acquirer. Applicable for TSYS (tsys) processor." + }, + "merchantBinNumber": { + "type": "string", + "description": "6 digits acquirer bank identification number. Applicable for TSYS (tsys) processor." + }, + "merchantLocationNumber": { + "type": "string", + "description": "5 digit merchant location number. Unless otherwise specified by merchant's bank or processor, this field should default to 00001. Applicable for TSYS (tsys) processor." + }, + "storeID": { + "type": "string", + "description": "4 digits number used to identify a specific merchant store location within the member systems. Applicable for TSYS (tsys) processor." + }, + "travelAgencyCode": { + "type": "string", + "description": "Contains travel agency code if airline ticket was issued by a travel agency. Applicable for TSYS (tsys) processor." + }, + "travelAgencyName": { + "type": "string", + "description": "Contains travel agency name if airline ticket was issued by travel agency. Applicable for TSYS (tsys) processor." + }, + "settlementCurrency": { + "type": "string", + "description": "This field is used to indicate Merchant's settlement currency. [ISO 4217 ALPHA-3 Standard Currency Codes] Applicable for TSYS (tsys) and Streamline (streamline2) processors." + }, + "enableLeastCostRouting": { + "type": "boolean", + "description": "Indicates whether Least Cost Routing is enabled. Applicable for EFTPOS and CUP processors." + }, + "enableCVVResponseIndicator": { + "type": "boolean", + "description": "This field denotes EFTPOS Merchant's choice of receiving CVV Processing Response in return. Applicable for EFTPOS processors." + }, + "enableMultiCurrencyProcessing": { + "type": "string", + "description": "Applicable for Barclays (barclays2) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoYes
\n" + }, + "enablePosNetworkSwitching": { + "type": "boolean", + "description": "'POS Network Switching' or 'Alternate Routing' means merchant can process PIN Debit transactions without a PIN. Set the value to 'Yes' if it is supported. Applicable for FDI Global (fdiglobal) processor." + }, + "enableDynamicCurrencyConversion": { + "type": "boolean", + "description": "Enable dynamic currency conversion for a merchant." + }, + "merchantTier": { + "type": "string", + "maxLength": 3, + "minLength": 3, + "pattern": "^[0-9]+$", + "description": "Merchant Tier defines the type of merchant, the numeric Merchant Tier value is allocated by EFTPOS. Applicable for EFTPOS processors." + } + }, + "required": [ + "merchantId" + ] + } + }, + "amexVendorCode": { + "type": "string", + "description": "Vendor code assigned by American Express. Applicable for TSYS (tsys) processor." + }, + "defaultAuthTypeCode": { + "type": "string", + "description": "Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version.\nApplicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoFINAL
Barclays HISOcnp, cp, hybridYesFINAL
\n \nPossible values:\n- PRE\n- FINAL\n- UNDEFINED" + }, + "masterCardAssignedId": { + "type": "string", + "description": "MAID aka MasterCard assigned ID, MasterCard equivalent of Merchant Verification Value by Visa. Applicable for VPC, GPX (gpx) and FDI Global (fdiglobal) processors." + }, + "enablePartialAuth": { + "type": "boolean", + "description": "Allow merchants to accept partial authorization approvals.\nApplicable for Elavon Americas (elavonamericas), VPC, GPX (gpx), FDI Global (fdiglobal), FDC Nashville (smartfdc), GPN (gpn), TSYS (tsys), American Express Direct (amexdirect), Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridNoNo
\n" + }, + "merchantCategoryCode": { + "type": "string", + "description": "Indicates type of business product or service of the merchant.\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), FDI Global (fdiglobal), RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect), CMCIC (cmcic), GPX (gpx), VPC, TSYS (tsys), EFTPOS, CUP, Paymentech Tampa (paymentechtampa), CB2A, Barclays (barclays2), Prisma (prisma) and GPN (gpn) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
BarclayscnpNo44^[0-9]+$
American Express Directcnp, cp, hybridYes44^[0-9]+$
\n" + }, + "sicCode": { + "type": "string", + "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." + }, + "foodAndConsumerServiceId": { + "type": "string", + "description": "Food and Consumer Service ID. Identifies the merchant as being certified and approved to accept Food Stamps. Applicable for GPX (gpx) processor." + }, + "enableSplitShipment": { + "type": "boolean", + "description": "Enables you to split an order into multiple shipments with multiple captures. This feature is provided by CyberSource and supports three different scenarios:\n\n* multiple authorizations\n* multiple captures\n* multiple authorizations with multiple captures\n\nApplicable for VPC processors.\n" + }, + "enableInterchangeOptimization": { + "type": "boolean", + "description": "Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors." + }, + "visaDelegatedAuthenticationId": { + "type": "string", + "description": "Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors." + }, + "creditCardRefundLimitPercent": { + "type": "string", + "description": "Blocks over-refunds when the aggregated refund amount is higher than the percentage set for this field. Applicable for GPX (gpx), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors." + }, + "businessCenterCreditCardRefundLimitPercent": { + "type": "string", + "description": "Limits refunds to the percentage set in this field. Applicable for GPX (gpx) and VPC processors." + }, + "allowCapturesGreaterThanAuthorizations": { + "type": "boolean", + "description": "Enables this merchant account to capture amounts greater than the authorization amount. Applicable for GPX (gpx), VPC, Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors." + }, + "enableDuplicateMerchantReferenceNumberBlocking": { + "type": "boolean", + "description": "Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors." + }, + "domesticMerchantId": { + "type": "boolean", + "description": "This is a local merchant ID used by merchants in addition to the conventional merchant ID. This value is sent to the issuer. Applicable for VPC and Prisma (prisma) processors." + }, + "processLevel3Data": { + "type": "string", + "description": "Indicates whether merchant processes Level 3 transactions.\nApplicable for TSYS (tsys), Barclays (barclays2), Paymentech Tampa (paymentechtampa), FDI Global (fdiglobal), Elavon Americas (elavonamericas) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
BarclayscnpNo
\n" + }, + "subMerchantId": { + "type": "string", + "description": "The ID assigned to the sub-merchant.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo120^[0-9a-zA-Z\-\_\,\\s.]+$
\n" + }, + "subMerchantBusinessName": { + "type": "string", + "description": "Sub-merchant's business name.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo137^[0-9a-zA-Z\-\_\,\\s.]+$
\n" + }, + "preferCobadgedSecondaryBrand": { + "type": "boolean", + "description": "It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors." + }, + "merchantDescriptorInformation": { + "type": "object", + "description": "A merchant descriptor is the line of copy that identifies transactions on a cardholder's account activity and statement. If this information is not populated, the data will be retrieved from OMS.", + "properties": { + "name": { + "type": "string", + "description": "Applicable for TSYS (tsys), RUPAY, American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" + }, + "city": { + "type": "string", + "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes121^[0-9a-zA-Z\\s]+$
\n" + }, + "country": { + "type": "string", + "description": "Applicable for Six (six), Elavon Americas (elavonamericas), TSYS (tsys) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes33^[A-Z]+$
\n" + }, + "phone": { + "type": "string", + "description": "Applicable for RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes120^[0-9a-zA-Z\\s]+$
\n" + }, + "state": { + "type": "string", + "description": "Applicable for RUPAY, TSYS (tsys), Elavon Americas (elavonamericas) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo13^[A-Z]+$
\n" + }, + "street": { + "type": "string", + "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" + }, + "zip": { + "type": "string", + "description": "Applicable for Elavon Americas (elavonamericas), RUPAY, American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes115^[0-9a-zA-Z\\s]+$
\n" + }, + "url": { + "type": "string", + "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, hybridYes140URL
American Express DirectcpNo140URL
\n" + }, + "countryOfOrigin": { + "type": "string", + "description": "Country Cf Origin of merchant is applicable for VPC Processors and is dependent on governmentControlled attribute." + } + } + }, + "governmentControlled": { + "type": "boolean", + "description": "Indicates whether the merchant is government controlled. Applicable for VPC processors." + }, + "dropBillingInfo": { + "type": "boolean", + "description": "This field is used to indicate whether the merchant wants to drop the billing information from the request. If this field is set to true, then the billing information will be dropped from the request. If this field is set to false, then the billing information will be sent in the request." + } + } + }, + "features": { + "type": "object", + "properties": { + "cardNotPresent": { + "type": "object", + "properties": { + "processors": { + "type": "object", + "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "amexdirect", + "barclays2", + "CUP", + "EFTPOS", + "fdiglobal", + "gpx", + "smartfdc", + "tsys", + "VPC" + ], + "type": "object", + "properties": { + "relaxAddressVerificationSystem": { + "type": "boolean", + "description": "Enables you to submit the payment transaction without one or more of the fields for the billTo or card_expiration.\nApplicable for Elavon Americas (elavonamericas), CB2A, Six (six), CMCIC (cmcic), GPX (gpx), GPN (gpn), VPC, Vero (vero), Fiserv (fiserv), American Express Direct (amexdirect), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, FDI Global (fdiglobal) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express DirectcnpNoNo
American Express DirectcpNoYes
American Express DirecthybridYesYes
\n" + }, + "relaxAddressVerificationSystemAllowZipWithoutCountry": { + "type": "boolean", + "description": "Allows Zip code without country.\nApplicable for American Express Direct (amexdirect), GPX (gpx), VPC, FDI Global (fdiglobal), Elavon Americas (elavonamericas), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, GPN (gpn) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, bothNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" + }, + "relaxAddressVerificationSystemAllowExpiredCard": { + "type": "boolean", + "description": "Allows transactions that use an expired card.\nApplicable for American Express Direct (amexdirect), GPN (gpn), Barclays HISO (barclayshiso), Elavon Americas (elavonamericas), VPC, FDI Global (fdiglobal), GPX (gpx), RUPAY, Six (six), Chase Paymentech Salem (chasepaymentechsalem) and CB2A processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" + }, + "enableEmsTransactionRiskScore": { + "type": "boolean", + "description": "MasterCard Expert Monitoring Solutions (EMS) provides a predictive, behavior-based fraud score in real time during authorizations for card-not-present (CNP) transactions on cards issued in the U.S. Applicable for GPX (gpx) and VPC processors." + }, + "prestigiousPropertyIndicator": { + "type": "string", + "description": "Applicable for VPC processors." + }, + "payouts": { + "type": "object", + "properties": { + "reimbursementCode": { + "type": "string", + "description": "Applicable for VPC processors." + }, + "acquiringInstitutionId": { + "type": "string", + "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant. This number is usually a Visa-assigned. Applicable for VPC processors." + }, + "businessApplicationId": { + "type": "string", + "description": "Transaction type. List of supported identifiers documented in the Developer Guide. Applicable for GPX (gpx) and VPC processors." + }, + "financialInstitutionId": { + "type": "string", + "description": "Applicable for GPX (gpx) and VPC processors." + }, + "merchantAbaNumber": { + "type": "string", + "description": "Routing Number to identify banks within the United States. Applicable for VPC processors." + }, + "networkOrder": { + "type": "string", + "description": "Order of the networks in which Visa should make routing decisions. Applicable for VPC processors." + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled.\n" + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled.\n" + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + }, + "example": { + "USD": { + "enabled": true, + "enabledCardPresent": false, + "enabledCardNotPresent": true, + "merchantId": "merchantId", + "terminalIds": [ + "12345678", + "12345678" + ], + "serviceEnablementNumber": "serviceEnablementNumber" + } + } + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo111^[0-9]+$
\n" + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo1255^[0-9:\-]+$
\n" + } + } + } + } + } + }, + "ignoreAddressVerificationSystem": { + "type": "boolean", + "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization receives an AVS decline. Applicable for VPC, FDI Global (fdiglobal), GPX (gpx) and GPN (gpn) processors." + }, + "visaStraightThroughProcessingOnly": { + "type": "boolean", + "description": "Indicates if a merchant is enabled for Straight Through Processing - B2B invoice payments. Applicable for FDI Global (fdiglobal), TSYS (tsys), VPC and GPX (gpx) processors." + }, + "amexTransactionAdviceAddendum1": { + "type": "string", + "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement. Applicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors." + }, + "installment": { + "type": "object", + "properties": { + "enableInstallment": { + "type": "boolean", + "description": "This flag is to enable for installment plan programs.\nApplicable for Fiserv (fiserv), Vero (vero) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express DirectcnpNoNo
\n" + }, + "installmentPlan": { + "type": "string", + "description": "This indicates the type of funding for the installment plan associated with the payment.\n\nValid values:\n\"merchant\" - Merchant-funded installment plan\n\"issuer\" - Issuer-funded installment plan\n\nApplicable for Fiserv (fiserv), American Express Direct (amexdirect) and Vero (vero) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
American Express DirectcnpNo
\n" + } + } + } + } + }, + "cardPresent": { + "type": "object", + "properties": { + "processors": { + "type": "object", + "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "amexdirect", + "barclays2", + "CUP", + "EFTPOS", + "fdiglobal", + "gpx", + "smartfdc", + "tsys", + "VPC" + ], + "type": "object", + "properties": { + "defaultPointOfSaleTerminalId": { + "type": "string", + "description": "Default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC, GPX (gpx), American Express Direct (amexdirect) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express DirectcpYes48^[0-9a-zA-Z]+$1111
\n" + }, + "pointOfSaleTerminalIds": { + "type": "array", + "items": { + "type": "string", + "format": "csv" + }, + "description": "For retail transactions, if merchant chooses to send the terminal id in the API, then that value has to be validated before being used. Holds a comma separated list of all possible terminal ids that the merchant is likely to send. Applicable for VPC processors." + }, + "disablePointOfSaleTerminalIdValidation": { + "type": "boolean", + "description": "Disables terminal ID validation. Applicable for VPC processors." + }, + "pinDebitNetworkOrder": { + "type": "string", + "description": "Order of the networks in which Visa should make routing decisions. Applicable for GPX (gpx) and VPC processors." + }, + "pinDebitReimbursementCode": { + "type": "string", + "description": "This attribute requests VIP to qualify a given PIN Debit transaction for a certain type of interchange program. Y = SMS supermarket, Z = SMS general merchant. Applicable for GPX (gpx) and VPC processors." + }, + "financialInstitutionId": { + "type": "string", + "description": "Acquirer Institution ID for the PIN Debit Transactions. Applicable for GPX (gpx) and VPC processors." + }, + "enablePinTranslation": { + "type": "boolean", + "description": "Enables CyberSource PIN Translation for Online PIN Transactions. Please ensure you have exchanged PIN keys with CyberSource to use this feature. Applicable for VPC processors." + } + } + } + }, + "enableTerminalIdLookup": { + "type": "boolean", + "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor." + } + } + } + } + } } } } - }, - "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" + "cardPresentConnect": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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." + } + } + } + } } } - } - } - }, - "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": {} - } - } - } - }, - "example11": { - "summary": "Merchant Boarding with TMS and Network Token Enablement", - "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.NetworkTokenMerchant.com", - "businessContact": { - "firstName": "Token", - "lastName": "Man", - "phoneNumber": "6574567813", - "email": "networktokenman@visa.com" - } - } - }, - "productInformation": { - "selectedProducts": { - "commerceSolutions": { - "tokenManagement": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "configurations": { - "vault": { - "defaultTokenType": "CUSTOMER", - "location": "GDC", - "tokenFormats": { - "customer": "32_HEX", - "paymentInstrument": "32_HEX", - "instrumentIdentifierCard": "19_DIGIT_LAST_4", - "instrumentIdentifierBankAccount": "32_HEX" }, - "sensitivePrivileges": { - "cardNumberMaskingFormat": "FIRST_6_LAST_4" + "cybsReadyTerminal": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" + } + } + } + } }, - "networkTokenServices": { - "visaTokenService": { - "enableService": true, - "enableTransactionalTokens": true, - "tokenRequestorId": "40000000082", - "relationshipId": "24681921-40000000082" - }, - "mastercardDigitalEnablementService": { - "enableService": true, - "enableTransactionalTokens": true, - "tokenRequestorId": "50162233570" - }, - "americanExpressTokenService": { - "enableService": true, - "enableTransactionalTokens": true, - "tokenRequestorId": "12345678912", - "seNumber": "9876543212" - }, - "notifications": { - "enabled": true - }, - "paymentCredentials": { - "enabled": true - }, - "synchronousProvisioning": { - "enabled": false + "eCheck": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + }, + "mode": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Indicates what mode the product is expected to behave at boarding and transaction flows. Ex, Acquirer/Gateway/Other." + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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": { + "type": "string", + "default": "ALWAYS", + "description": "*NEW* \nPossible values:\n- ALWAYS" + }, + "setCompletedState": { + "type": "boolean", + "default": false, + "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." + } + }, + "required": [ + "companyEntryDescription" + ] + } + }, + "internalOnly": { + "type": "object", + "properties": { + "displayEcheckInfo": { + "type": "boolean", + "default": true, + "description": "*NEW* Used by EBC UI always set to true" + }, + "processors": { + "type": "object", + "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "bofaach", + "wellsfargoach" + ], + "type": "object", + "description": "Name of the payment processor. Example - \"wellsfargoach\"", + "properties": { + "enableCCS": { + "type": "boolean", + "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n" + }, + "terminalId": { + "type": "string", + "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n" + }, + "enable15anTransactionReferenceNumber": { + "type": "boolean", + "default": true, + "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS" + }, + "portalSupportedPaytypes": { + "type": "string", + "default": "CHECK", + "description": "*NEW* This is used by the EBC2 application" + }, + "settlementMethod": { + "type": "string", + "default": "BEST_GUESS", + "description": "*NEW* \nPossible values:\n- BEST_GUESS" + }, + "verificationLevel": { + "type": "string", + "default": "VALIDATION", + "description": "*NEW* \nPossible values:\n- VALIDATION" + }, + "setCompletedState": { + "type": "boolean", + "default": false, + "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." + } + } + } + } + } + }, + "accountHolderName": { + "type": "string", + "maxLength": 22, + "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n" + }, + "accountType": { + "type": "string", + "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n" + }, + "accountRoutingNumber": { + "type": "string", + "maxLength": 9, + "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n" + }, + "accountNumber": { + "type": "string", + "maxLength": 17, + "description": "Mandatory \nAccount number for Merchant's Bank Account\n" + } + }, + "required": [ + "accountHolderName", + "accountType", + "accountRoutingNumber", + "accountNumber" + ] + }, + "underwriting": { + "type": "object", + "properties": { + "standardEntryClassCodes": { + "type": "string", + "default": "CCD,PPD,TEL,WEB", + "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n" + }, + "enableHold": { + "type": "boolean", + "default": true, + "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n" + }, + "monthlyTotalTransactionAmountLimit": { + "type": "number", + "format": "currency", + "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n" + }, + "holdingDays": { + "type": "number", + "format": "integer", + "default": 7, + "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n" + }, + "enableCredits": { + "type": "boolean", + "description": "Optional \nAllow Credits (True/False)\n" + }, + "transactionAmountLimit": { + "type": "number", + "format": "currency", + "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n" + }, + "riskReserveMethod": { + "type": "string", + "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n" + }, + "riskReserveRate": { + "type": "number", + "format": "decimal", + "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n" + }, + "riskReserveTargetAmount": { + "type": "number", + "format": "currency", + "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n" + }, + "solutionOrganizationId": { + "type": "string", + "description": "Solution organization id" + } + }, + "required": [ + "standardEntryClassCodes", + "enableHold", + "monthlyTotalTransactionAmountLimit", + "holdingDays", + "transactionAmountLimit", + "riskReserveMethod", + "riskReserveRate", + "riskReserveTargetAmount" + ] + }, + "features": { + "type": "object", + "properties": { + "accountValidationService": { + "type": "object", + "properties": { + "internalOnly": { + "type": "object", + "properties": { + "processors": { + "type": "object", + "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "bofaach", + "wellsfargoach" + ], + "type": "object", + "description": "Name of the payment processor. Example - \"wellsfargoach\"", + "properties": { + "avsVersion": { + "type": "string", + "default": "2", + "description": "*NEW* \nPossible values:\n- 2" + } + } + } + } + } + }, + "processors": { + "type": "object", + "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", + "additionalProperties": { + "type": "object", + "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"", + "properties": { + "avsAccountOwnershipService": { + "type": "boolean", + "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service." + }, + "avsAccountStatusService": { + "type": "boolean", + "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service." + }, + "avsSignedAgreement": { + "type": "boolean", + "description": "*NEW* Taken from Addendum Agreement Column in boarding form." + }, + "avsCalculatedResponseBehavior": { + "type": "string", + "default": "continue", + "description": "*NEW* \nPossible values:\n- continue" + }, + "avsAdditionalId": { + "type": "string", + "description": "*NEW* Also known as the Additional ID. Taken from the boarding form." + }, + "enableAvs": { + "type": "boolean", + "default": true, + "description": "*NEW*" + }, + "avsEntityId": { + "type": "string", + "description": "*NEW* Also known as the AVS Gateway Entity ID." + }, + "avsResultMode": { + "type": "string", + "description": "*NEW* \nPossible values:\n- FULL_RESPONSE\n- LOGIC_BOX" + }, + "enableAvsTokenCreation": { + "type": "boolean", + "default": false, + "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only." + } + } + } + } + } + } + } + } + } + } + } + } } - } - } - } - } - } - } - } - } - } - }, - "example12": { - "summary": "Merchant Boarding with TMS and Network Token TRID Enrollment (Production Only)", - "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.NetworkTokenMerchant.com", - "businessContact": { - "firstName": "Token", - "lastName": "Man", - "phoneNumber": "6574567813", - "email": "networktokenman@visa.com" - } - } - }, - "productInformation": { - "selectedProducts": { - "commerceSolutions": { - "tokenManagement": { - "subscriptionInformation": { - "enabled": true - }, - "configurationInformation": { - "configurations": { - "vault": { - "defaultTokenType": "CUSTOMER", - "location": "GDC", - "tokenFormats": { - "customer": "32_HEX", - "paymentInstrument": "32_HEX", - "instrumentIdentifierCard": "19_DIGIT_LAST_4", - "instrumentIdentifierBankAccount": "32_HEX" - }, - "sensitivePrivileges": { - "cardNumberMaskingFormat": "FIRST_6_LAST_4" }, - "networkTokenServices": { - "visaTokenService": { - "enableService": true, - "enableTransactionalTokens": true - }, - "mastercardDigitalEnablementService": { - "enableService": true, - "enableTransactionalTokens": true - }, - "americanExpressTokenService": { - "enableService": true, - "enableTransactionalTokens": true, - "tokenRequestorId": "12345678912", - "seNumber": "9876543212" - }, - "notifications": { - "enabled": true - }, - "paymentCredentials": { - "enabled": true - }, - "synchronousProvisioning": { - "enabled": false - } - } - }, - "networkTokenEnrollment": { - "businessInformation": { - "name": "NetworkTokenMerchant", - "doingBusinessAs": "NetworkTokenCo1", - "address": { - "country": "US", - "locality": "ORMOND BEACH" - }, - "websiteUrl": "https://www.NetworkTokenMerchant.com", - "acquirer": { - "acquirerId": "40010052242", - "acquirerMerchantId": "MerchantOrgID" + "payerAuthentication": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "masterCardSecureCode": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "amexSafeKey": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "jCBJSecure": { + "type": "object", + "properties": { + "securePasswordForJCB": { + "type": "string", + "minLength": 8, + "maxLength": 8, + "description": "JSecure currency password for Japan Credit Bureau" + }, + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "dinersClubInternationalProtectBuy": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "ELO": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "UPI": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "CB": { + "type": "object", + "properties": { + "requestorId": { + "type": "string", + "minLength": 14, + "maxLength": 14, + "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." + }, + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + } + } + } + } + } + } + } } }, - "networkTokenServices": { - "visaTokenService": { - "enrollment": true - }, - "mastercardDigitalEnablementService": { - "enrollment": true + "digitalPayments": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + }, + "features": { + "type": "object", + "description": "Allowed values are;\n\n \n \n \n \n \n \n \n \n \n \n \n \n
visaCheckout
applePay
samsungPay
googlePay
\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "visaCheckout", + "applePay", + "samsungPay", + "googlePay" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + } + } } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/boarding/v1/registrations/{registrationId}": { - "get": { - "x-devcenter-metaData": { - "categoryTag": "Merchant_Boarding", - "disableProcessorDropDown": true, - "authorizationType": [ - "Json Web Token" - ], - "overrideMerchantCredential": "apitester00", - "developerGuides": "https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html" - }, - "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-time", - "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" - }, - "boardingPackageId": { - "type": "string", - "maxLength": 60, - "example": 1004001 - }, - "boardingFlow": { - "type": "string", - "description": "Determines the boarding flow for this registration.\nPossible Values:\n - 'ENTERPRISE'\n - 'SMB'\n - 'ADDPRODUCT'\n" - }, - "mode": { - "type": "string", - "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n" - }, - "salesRepId": { - "type": "string", - "maxLength": 60, - "example": "Rep1" - } - } - }, - "integrationInformation": { - "type": "object", - "properties": { - "oauth2": { - "type": "array", - "items": { - "type": "object", - "properties": { - "client_id": { - "type": "string", - "maxLength": 32, - "example": "client123" - }, - "state": { - "type": "string", - "maxLength": 20, - "example": "test123" - } - }, - "required": [ - "client_id" - ] - } - }, - "tenantConfigurations": { - "type": "array", - "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.", - "items": { - "type": "object", - "properties": { - "solutionId": { - "type": "string", - "maxLength": 8, - "minLength": 8, - "pattern": "^[0-9a-zA-Z_]+$", - "description": "The solutionId is the unique identifier for this system resource.\nPartner can use it to reference the specific solution through out the system.\n", - "example": "YumSolution1" - }, - "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", - "description": "Possible values:\n- LIVE\n- INACTIVE\n- 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" + }, + "secureAcceptance": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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", + "description": "Possible values:\n- CARD\n- ECHECK\n- VISACHECKOUT\n- PAYPAL" + } + } + } + }, + "checkout": { + "type": "object", + "properties": { + "displayTaxAmount": { + "type": "boolean", + "description": "Toggles whether or not the tax amount is displayed on the Hosted Checkout." + }, + "templateType": { + "type": "string", + "description": "Specifies whether the Hosted Checkout is displayed as a single page form or multi page checkout. \n\nValid values: \n`multi` \n`single`\n" + }, + "returnToMerchantSiteUrl": { + "type": "string", + "description": "URL of the website linked to from the Secure Acceptance receipt page. Only used if the profile does not have custom receipt pages configured." + } + } + }, + "paymentTypes": { + "type": "object", + "description": "Object containing Payment Types supported", + "properties": { + "cardTypes": { + "type": "object", + "properties": { + "discover": { + "type": "object", + "description": "Object containing supported Card Types and settings", + "properties": { + "cardVerificationNumberSupported": { + "type": "boolean", + "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." + }, + "cardVerificationNumberDisplay": { + "type": "boolean", + "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." + }, + "payerAuthenticationSupported": { + "type": "boolean", + "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." + }, + "supportedCurrencies": { + "type": "array", + "description": "Array of the supported ISO 4217 alphabetic currency codes.", + "items": { + "type": "string" + } + }, + "method": { + "type": "string" + }, + "cardVerificationNumberRequired": { + "type": "boolean" + }, + "payerAuthenticationEnabled": { + "type": "boolean" + } + } + }, + "amex": { + "type": "object", + "description": "Object containing supported Card Types and settings", + "properties": { + "cardVerificationNumberSupported": { + "type": "boolean", + "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." + }, + "cardVerificationNumberDisplay": { + "type": "boolean", + "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." + }, + "payerAuthenticationSupported": { + "type": "boolean", + "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." + }, + "supportedCurrencies": { + "type": "array", + "description": "Array of the supported ISO 4217 alphabetic currency codes.", + "items": { + "type": "string" + } + }, + "method": { + "type": "string" + }, + "cardVerificationNumberRequired": { + "type": "boolean" + }, + "payerAuthenticationEnabled": { + "type": "boolean" + } + } + }, + "masterCard": { + "type": "object", + "description": "Object containing supported Card Types and settings", + "properties": { + "cardVerificationNumberSupported": { + "type": "boolean", + "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." + }, + "cardVerificationNumberDisplay": { + "type": "boolean", + "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." + }, + "payerAuthenticationSupported": { + "type": "boolean", + "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." + }, + "supportedCurrencies": { + "type": "array", + "description": "Array of the supported ISO 4217 alphabetic currency codes.", + "items": { + "type": "string" + } + }, + "method": { + "type": "string" + }, + "cardVerificationNumberRequired": { + "type": "boolean" + }, + "payerAuthenticationEnabled": { + "type": "boolean" + } + } + }, + "visa": { + "type": "object", + "description": "Object containing supported Card Types and settings", + "properties": { + "cardVerificationNumberSupported": { + "type": "boolean", + "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." + }, + "cardVerificationNumberDisplay": { + "type": "boolean", + "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." + }, + "payerAuthenticationSupported": { + "type": "boolean", + "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." + }, + "supportedCurrencies": { + "type": "array", + "description": "Array of the supported ISO 4217 alphabetic currency codes.", + "items": { + "type": "string" + } + }, + "method": { + "type": "string" + }, + "cardVerificationNumberRequired": { + "type": "boolean" + }, + "payerAuthenticationEnabled": { + "type": "boolean" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "virtualTerminal": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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", + "description": "Possible values:\n- AUTHORIZATION\n- SALE" + }, + "defaultPaymentType": { + "type": "string", + "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" + }, + "defaultTransactionSource": { + "type": "string" + }, + "displayRetail": { + "type": "boolean" + }, + "displayMoto": { + "type": "boolean" + }, + "displayInternet": { + "type": "boolean" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "displayCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "requireCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "acceptedCardTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "displayCreditCards": { + "type": "boolean" + }, + "displayEchecks": { + "type": "boolean" + }, + "displayDebtIndicator": { + "type": "boolean" + }, + "displayBillPayment": { + "type": "boolean" + }, + "enableEchecks": { + "type": "boolean" + }, + "displayIgnoreECheckAvsCheckbox": { + "type": "boolean" + }, + "firstNameRequired": { + "type": "boolean" + }, + "lastNameRequired": { + "type": "boolean" + }, + "displayFirstName": { + "type": "boolean" + }, + "displayLastName": { + "type": "boolean" + } + } + }, + "merchantDefinedDataFields": { + "type": "object", + "properties": { + "displayMerchantDefinedData1": { + "type": "boolean" + }, + "displayMerchantDefinedData2": { + "type": "boolean" + }, + "displayMerchantDefinedData3": { + "type": "boolean" + }, + "displayMerchantDefinedData4": { + "type": "boolean" + }, + "displayMerchantDefinedData5": { + "type": "boolean" + }, + "merchantDefinedData1DefaultValue": { + "type": "string" + }, + "merchantDefinedData1Label": { + "type": "string" + }, + "requireMerchantDefinedData1": { + "type": "boolean" + }, + "merchantDefinedData2DefaultValue": { + "type": "string" + }, + "merchantDefinedData2Label": { + "type": "string" + }, + "requireMerchantDefinedData2": { + "type": "boolean" + }, + "merchantDefinedData3DefaultValue": { + "type": "string" + }, + "merchantDefinedData3Label": { + "type": "string" + }, + "requireMerchantDefinedData3": { + "type": "boolean" + }, + "merchantDefinedData4DefaultValue": { + "type": "string" + }, + "merchantDefinedData4Label": { + "type": "string" + }, + "requireMerchantDefinedData4": { + "type": "boolean" + }, + "merchantDefinedData5DefaultValue": { + "type": "string" + }, + "merchantDefinedData5Label": { + "type": "string" + }, + "requireMerchantDefinedData5": { + "type": "boolean" + }, + "merchantDefinedData1DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData2DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData3DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData4DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData5DisplayOnReceipt": { + "type": "boolean" + } + } + } + } + }, + "receiptInformation": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "virtualTerminalReceiptHeader": { + "type": "string" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "emailAliasName": { + "type": "string" + }, + "customReplyToEmailAddress": { + "type": "string" + } + } + }, + "emailReceipt": { + "type": "object", + "properties": { + "sendersEmailAddress": { + "type": "string" + } + } + } + } + } + } + }, + "cardPresent": { + "type": "object", + "properties": { + "globalPaymentInformation": { + "type": "object", + "properties": { + "basicInformation": { + "type": "object", + "properties": { + "defaultStandardEntryClassCode": { + "type": "string" + }, + "defaultCountryCode": { + "type": "string", + "description": "ISO 4217 format" + }, + "defaultCurrencyCode": { + "type": "string", + "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" + }, + "defaultTransactionType": { + "type": "string", + "description": "Possible values:\n- AUTHORIZATION\n- SALE" + }, + "defaultPaymentType": { + "type": "string", + "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" + }, + "defaultTransactionSource": { + "type": "string" + }, + "displayRetail": { + "type": "boolean" + }, + "displayMoto": { + "type": "boolean" + }, + "displayInternet": { + "type": "boolean" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "displayCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "requireCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "acceptedCardTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "displayCreditCards": { + "type": "boolean" + }, + "displayEchecks": { + "type": "boolean" + }, + "displayDebtIndicator": { + "type": "boolean" + }, + "displayBillPayment": { + "type": "boolean" + }, + "enableEchecks": { + "type": "boolean" + }, + "displayIgnoreECheckAvsCheckbox": { + "type": "boolean" + }, + "firstNameRequired": { + "type": "boolean" + }, + "lastNameRequired": { + "type": "boolean" + }, + "displayFirstName": { + "type": "boolean" + }, + "displayLastName": { + "type": "boolean" + } + } + }, + "merchantDefinedDataFields": { + "type": "object", + "properties": { + "displayMerchantDefinedData1": { + "type": "boolean" + }, + "displayMerchantDefinedData2": { + "type": "boolean" + }, + "displayMerchantDefinedData3": { + "type": "boolean" + }, + "displayMerchantDefinedData4": { + "type": "boolean" + }, + "displayMerchantDefinedData5": { + "type": "boolean" + }, + "merchantDefinedData1DefaultValue": { + "type": "string" + }, + "merchantDefinedData1Label": { + "type": "string" + }, + "requireMerchantDefinedData1": { + "type": "boolean" + }, + "merchantDefinedData2DefaultValue": { + "type": "string" + }, + "merchantDefinedData2Label": { + "type": "string" + }, + "requireMerchantDefinedData2": { + "type": "boolean" + }, + "merchantDefinedData3DefaultValue": { + "type": "string" + }, + "merchantDefinedData3Label": { + "type": "string" + }, + "requireMerchantDefinedData3": { + "type": "boolean" + }, + "merchantDefinedData4DefaultValue": { + "type": "string" + }, + "merchantDefinedData4Label": { + "type": "string" + }, + "requireMerchantDefinedData4": { + "type": "boolean" + }, + "merchantDefinedData5DefaultValue": { + "type": "string" + }, + "merchantDefinedData5Label": { + "type": "string" + }, + "requireMerchantDefinedData5": { + "type": "boolean" + }, + "merchantDefinedData1DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData2DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData3DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData4DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData5DisplayOnReceipt": { + "type": "boolean" + } + } + } + } + }, + "receiptInformation": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "virtualTerminalReceiptHeader": { + "type": "string" + } + } + }, + "orderInformation": { + "type": "object", + "properties": { + "emailAliasName": { + "type": "string" + }, + "customReplyToEmailAddress": { + "type": "string" + } + } + }, + "emailReceipt": { + "type": "object", + "properties": { + "sendersEmailAddress": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } } - } - } - } - } - } - } - }, - "organizationInformation": { - "type": "object", - "properties": { - "organizationId": { - "type": "string", - "maxLength": 30, - "minLength": 6, - "pattern": "^[0-9a-zA-Z_]+$", - "example": "merch-test1" - }, - "parentOrganizationId": { - "type": "string", - "description": "This field is required for Organization Types: MERCHANT, TRANSACTING\n", - "maxLength": 30, - "minLength": 6, - "pattern": "^[0-9a-zA-Z_]+$", - "example": "merch-test1-acct" - }, - "childOrganizations": { - "readOnly": true, - "type": "array", - "items": { - "type": "string", - "maxLength": 30, - "minLength": 6, - "pattern": "^[0-9a-zA-Z_]+$", - "example": "transactional-org" - } - }, - "type": { - "type": "string", - "description": "Determines the type of organization in the hirarchy that this registration will use to onboard this Organization\nPossible Values:\n - 'TRANSACTING'\n - 'STRUCTURAL'\n - 'MERCHANT'\n" - }, - "status": { - "type": "string", - "description": "Determines the status that the organization will be after being onboarded\nPossible Values:\n - 'LIVE'\n - 'TEST'\n - 'DRAFT'\n" - }, - "configurable": { - "description": "This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products. Eventually this field will be deprecated and all organizations will be allowed for product configuration.", - "type": "boolean", - "default": false, - "example": false - }, - "businessInformation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "minLength": 1, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "Betos Restaurant" - }, - "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", - "example": "America/Chicago" - }, - "websiteUrl": { - "type": "string", - "maxLength": 100, - "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac\u009d\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", - "example": "www.test.com" - }, - "type": { - "type": "string", - "description": "Business type\nPossible Values:\n - 'PARTNERSHIP'\n - 'SOLE_PROPRIETORSHIP'\n - 'CORPORATION'\n - 'LLC'\n - 'NON_PROFIT'\n - 'TRUST'\n" - }, - "taxId": { - "type": "string", - "maxLength": 9, - "pattern": "\\d{9}", - "example": 254324 - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4564561234 - }, - "businessContact": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" - }, - "middleName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" - }, - "lastName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" - }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4567890398 - }, - "email": { - "type": "string", - "maxLength": 100, - "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", - "example": "test@test.com" - } - }, - "required": [ - "firstName", - "lastName", - "phoneNumber", - "email" - ] - }, - "technicalContact": { - "type": "object", - "properties": { - "firstName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" }, - "middleName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "currencyConversion": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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" + } + } + } + } + } + } + } + } + } }, - "lastName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "tax": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4567890398 + "customerInvoicing": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } }, - "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" + "recurringBilling": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } }, - "middleName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "paymentOrchestration": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } }, - "lastName": { - "type": "string", - "maxLength": 50, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "example": "John" + "payouts": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "configurations": { + "type": "object", + "properties": { + "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" + } + } + } + } + } + } + } + } + } }, - "phoneNumber": { - "type": "string", - "maxLength": 20, - "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", - "example": 4567890398 + "differentialFee": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + }, + "features": { + "type": "object", + "properties": { + "surcharge": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + } + } + } + } }, - "email": { - "type": "string", - "maxLength": 100, - "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", - "example": "test@test.com" - } - }, - "required": [ - "firstName", - "lastName", - "phoneNumber", - "email" - ] - }, - "merchantCategoryCode": { - "type": "string", - "maxLength": 4, - "pattern": "^\\d{3,4}$", - "example": 5300, - "description": "Industry standard Merchant Category Code (MCC)" - } - }, - "required": [ - "name" - ] - }, - "KYC": { - "type": "object", - "properties": { - "whenIsCustomerCharged": { - "type": "string", - "example": "ONETIMEBEFORE", - "description": "Possible values:\n- ONETIMEBEFORE\n- ONETIMEAFTER\n- OTHER" - }, - "whenIsCustomerChargedDescription": { - "type": "string", - "maxLength": 100 - }, - "offerSubscriptions": { - "type": "boolean", - "example": true - }, - "monthlySubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 30 - }, - "quarterlySubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 20 - }, - "semiAnnualSubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 50 - }, - "annualSubscriptionPercent": { - "type": "number", - "format": "decimal", - "pattern": "^((100)|(\\d{0,2}))$", - "example": 100 - }, - "timeToProductDelivery": { - "type": "string", - "description": "Possible values:\n- INSTANT\n- UPTO2\n- UPTO5\n- UPTO10\n- GREATERTHAN10" - }, - "estimatedMonthlySales": { - "type": "number", - "format": "currency", - "pattern": "^\\d{1,8}(\\.\\d{1,2})?$", - "example": 10000.5 - }, - "averageOrderAmount": { - "type": "number", - "format": "currency", - "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", - "example": 50.5 - }, - "largestExpectedOrderAmount": { - "type": "number", - "format": "currency", - "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", - "example": 100.5 - }, - "depositBankAccount": { - "type": "object", - "properties": { - "accountHolderName": { - "type": "string", - "maxLength": 40, - "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", - "example": "John Doe" + "payByLink": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } }, - "accountType": { - "type": "string", - "example": "checking", - "description": "Possible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings" + "unifiedCheckout": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } }, - "accountRoutingNumber": { - "type": "string", - "maxLength": 9, - "pattern": "\\d{9}" + "receivablesManager": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } }, - "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 + "serviceFee": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "configurations": { + "type": "object", + "properties": { + "products": { + "type": "object", + "description": "Products enabled for this account. The following values are supported:\nvirtualTerminal\npaymentTokenizationOtp\nsubscriptionsOtp\nvirtualTerminalCp\neCheck\n", + "additionalProperties": { + "type": "object", + "properties": { + "serviceFeeEnabled": { + "type": "boolean", + "description": "Boolean flag to determine if service fee will be applied to the Product." + } + } + } + }, + "terminalId": { + "type": "string", + "pattern": "/^[a-zA-Z0-9]+$/", + "description": "Identifier of the terminal at the retail location.", + "maxLength": 8 + }, + "merchantId": { + "type": "string", + "pattern": "/^[a-zA-Z0-9]+$/", + "description": "Identifier of a merchant account.", + "maxLength": 15 + }, + "merchantInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the merchant account.", + "maxLength": 25 + }, + "contact": { + "type": "string", + "pattern": "/^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/", + "description": "Phone number of the primary contact for the merchant account." + }, + "state": { + "type": "string", + "description": "2-character ISO code for the U.S. state in which the merchant is registered", + "maxLength": 2 + } + } + }, + "paymentInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "paymentType": { + "type": "string", + "description": "Payment types accepted by this merchant. The supported values are: MASTERDEBIT, MASTERCREDIT, VISACREDIT, VISADEBIT, DISCOVERCREDIT, AMEXCREDIT, ECHECK \nPossible values:\n- MASTERDEBIT\n- MASTERCREDIT\n- VISACREDIT\n- VISADEBIT\n- DISCOVERCREDIT\n- AMEXCREDIT\n- ECHECK" + }, + "feeType": { + "type": "string", + "description": "Fee type for the selected payment type. Supported values are: Flat or Percentage.\n \nPossible values:\n- FLAT\n- PERCENTAGE" + }, + "feeAmount": { + "type": "number", + "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", + "description": "Fee Amount of the selected payment type if you chose Flat fee type.\n" + }, + "percentage": { + "type": "number", + "description": "Percentage of the selected payment type if you chose Percentage Fee type. Supported values use numbers with decimals. For example, 1.0\n" + }, + "feeCap": { + "type": "number", + "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", + "description": "Fee cap for the selected payment type. Supported values use numbers with decimals. For example, 1.0\n" + } + } + } + } + } + } + } + } } - }, - "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", + "risk": { + "title": "riskProducts", "type": "object", "properties": { - "cardProcessing": { + "fraudManagementEssentials": { "type": "object", "properties": { "subscriptionInformation": { @@ -112305,22 +116963,33 @@ "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "format": "uuid" + } + } + } + } + }, + "decisionManager": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" }, - "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" - } - } - } + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, @@ -112333,1565 +117002,5273 @@ }, "configurations": { "type": "object", - "title": "CardProcessingConfig", + "title": "DmConfig", "properties": { - "common": { + "processingOptions": { "type": "object", "properties": { - "processors": { + "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", - "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpngsapv3\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "amexdirect", - "barclays2", - "CUP", - "EFTPOS", - "fdiglobal", - "gpngsapv3", - "gpx", - "smartfdc", - "tsys", - "vero", - "VPC" - ], - "type": "object", - "properties": { - "batchGroup": { - "type": "string", - "description": "Determines the batching group that separates merchants for special batching times. Batching groups can separate merchant batches by the following criteria:\n\n* Timezone\n* Merchant deadlines\n* Large merchants (top 10)\n* Merchants with Service-Level Agreements\n\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), Streamline (streamline2), Six (six), Barclays (barclays2), Paymentech Tampa (paymentechtampa), CMCIC (cmcic), FDC Nashville (smartfdc), RUPAY, American Express Direct (amexdirect), GPN (gpn), VPC, GPX (gpx), CB2A, Barclays HISO (barclayshiso), TSYS (tsys) and FDI Global (fdiglobal) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridYes
Barclays HISOcnp, cp, hybridYes
American Express Directcnp, cp, hybridNo
\n" - }, - "businessApplicationId": { - "type": "string", - "description": "Indicates the type of money transfer used in the transaction. Applicable for VPC and GPX (gpx) processors." - }, - "merchantVerificationValue": { - "type": "string", - "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant. Applicable for GPX (gpx) and VPC processors." - }, - "abaNumber": { - "type": "string", - "description": "Routing Number to identify banks within the United States. Applicable for GPX (gpx) processors." - }, - "acquirer": { - "type": "object", - "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", - "properties": { - "institutionId": { - "type": "string", - "description": "Identifier of the acquirer. This number is usually assigned by Visa.\nApplicable for VPC, GPX (gpx), CMCIC (cmcic), EFTPOS, CB2A, CUP, American Express Direct (amexdirect) and Six (six) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express Directcnp, cp, hybridYes113^[0-9]+$1111
\n" - }, - "interbankCardAssociationId": { - "type": "string", - "description": "Number assigned by MasterCard to banks to identify the member in transactions. Applicable for VPC and GPX (gpx) processors." - }, - "discoverInstitutionId": { - "type": "string", - "description": "Assigned by Discover to identify the acquirer. Applicable for VPC and GPX (gpx) processors." - }, - "unionPayInstitutionId": { - "type": "string", - "description": "Assigned by China Union Pay to identify the acquirer. Applicable for VPC processors." - }, - "dinersClubInstitutionId": { - "type": "string", - "description": "Assigned by Diners Club to identify the acquirer. Applicable for VPC processors." - }, - "countryCode": { - "type": "string", - "description": "ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors." - }, - "fileDestinationBin": { - "type": "string", - "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors." + "properties": { + "accurint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "credentials": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + } } } - }, - "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" - ], + } + }, + "credilink": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enableRealTime": { + "type": "boolean" + }, + "useCybsCredentials": { + "type": "boolean" + }, + "credentials": { "type": "object", "properties": { - "enabled": { - "type": "boolean" + "username": { + "type": "string" }, - "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" - } - } - } + "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" } } } - }, - "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" - ], + } + }, + "signifyd": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "credentials": { "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" + "teamId": { + "type": "string" }, - "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" + "apiKey": { + "type": "string" }, - "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" + "secretKeyid": { + "type": "string" }, - "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" + "secretKey": { + "type": "string" + } + } + } + } + }, + "targus": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "useCybsCredentials": { + "type": "boolean" + }, + "credentials": { + "type": "object", + "properties": { + "username": { + "type": "string" }, - "terminalIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Applicable for Prisma (prisma) processor." + "password": { + "type": "string" }, - "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" + "serviceId": { + "type": "string" } } } - }, - "visaAggregatorId": { - "type": "string", - "description": "This field is used as aggregator Id when Visa payment type is selected" - }, - "amexAggregatorId": { - "type": "string", - "description": "This field is used as aggregator Id when Amex payment type is selected" - }, - "masterCardAggregatorId": { - "type": "string", - "description": "This field is used as aggregator Id when Master Card payment type is selected" - }, - "sicCode": { - "type": "string", - "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." - }, - "allowMultipleBills": { - "type": "boolean", - "description": "Allows multiple captures for a single authorization transaction.\nApplicable for Paymentech Tampa (paymentechtampa), VPC, American Express Direct (amexdirect) and GPX (gpx) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, hybridYesNo
American Express DirectcnpNoNo
\n" - }, - "allowMerchantDescriptorOverride": { - "type": "boolean", - "description": "Enables partner to enable/disable merchant descriptors values. Applicable for VPC, EFTPOS and CUP processors." - }, - "enhancedData": { - "type": "string", - "description": "To enable airline transactions.\nApplicable for TSYS (tsys), VPC, Elavon Americas (elavonamericas), FDI Global (fdiglobal), GPX (gpx), Barclays (barclays2) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridNo
American Express Directcp, cnp, hybridNo
\n" - }, - "fireSafetyIndicator": { - "type": "boolean", - "description": "Indicates whether the merchant is compliant with Hotel and Motel Fire Safety Act of 1990. Applicable for GPX (gpx) and VPC processors." - }, - "quasiCash": { - "type": "boolean", - "description": "To enable quasi-cash transactions. A quasi-cash transaction is a cash-like transaction for the sale of items that are directly convertible to cash, such as:-\nCasino gaming chips,\nMoney orders,\nWire transfers.\n\nApplicable for GPX (gpx), TSYS (tsys), Barclays (barclays2) and VPC processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoNo
\n" - }, - "acquirerMerchantId": { - "type": "string", - "description": "Identifier assigned by the acquirer. Applicable for RUPAY, VPC and Six (six) processors." - }, - "avsFormat": { - "type": "string", - "description": "Enables Enhanced AVS/Automated Address Verification Plus (AAV+).\n\nValid values:\n\"basic\" - Standard address verification system.\n When a processor supports AVS for a transaction's card type, the issuing bank uses AVS to confirm that the customer has provided the correct billing address.\n When a customer provides incorrect information, the transaction might be fraudulent.\n\"basic + name\" - Enhanced address verification system.\n Consists of the standard AVS functionality plus verification of some additional fields.\n The additional fields that are verified for Enhanced AVS are:\n - customer_firstname\n - customer_lastname\n\"basic + name + shipto\" - Automated address verification plus.\n Consists of the Enhanced AVS functionality plus verification of some additional fields.\n AAV+ intended for merchants who deliver physical goods to a different address than the billing address.\n AAV+ verifies the additional fields only when the standard and Enhanced AVS tests pass first.\n For information about Enhanced AVS - The additional fields that are verified for AAV+ are:\n - ship_to_firstname\n - ship_to_lastname\n - ship_to_address1\n - ship_to_country\n - ship_to_zip\n - ship_to_phone\n - customer_phone(American Express Direct only)\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridYesbasic
\n" - }, - "enableLongTransRefNo": { - "type": "boolean", - "description": "Amex Direct specific merchant config value which determines what length (either 9 or Unique 12-char reference number) of reference number will be CYBS generated if the merchant does not pass in a trans_ref_no.\nCan be any combination of alpha, numeric and special characters, and/or binary data in hexadecimal.\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" - }, - "enableLevel2": { - "type": "boolean", - "description": "Field that indicates whether merchant will send level 2 data for Amex cards.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" - }, - "enableMultipleTransactionAdviceAddendum": { - "type": "boolean", - "description": "This flag related to multiple transaction advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" - }, - "amexTransactionAdviceAddendum1": { - "type": "string", - "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo140^[0-9a-zA-Z\-\\s.]+$
\n" - }, - "enableMultiLineItems": { - "type": "boolean", - "description": "This flag is related to offer/line item details to be included instead of sending one line item, and a grand total. Example, offer0, offer 1...offer n.\nApplicable for American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" - }, - "enableTransactionReferenceNumber": { - "type": "boolean", - "description": "To enable merchant to send in transaction reference number (unique reconciliation ID). Applicable for VPC, Vero (vero), FDI Global (fdiglobal), Six (six), CB2A, CUP, VPC, Chase Paymentech Salem (chasepaymentechsalem), Fiserv (fiserv), Elavon Americas (elavonamericas) and EFTPOS processors." - }, - "enableAutoAuthReversalAfterVoid": { - "type": "boolean", - "description": "Enables to meet the Visa mandate requirements to reverse unused authorizations, benefitting the customer by releasing the hold on unused credit card funds.\nApplicable for CB2A, Elavon Americas (elavonamericas), Six (six), VPC and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" - }, - "enableExpresspayPanTranslation": { - "type": "boolean", - "description": "When this is enabled, authorization responses from American Express expresspay transactions include the Primary Account Number (PAN) and expiration date of the card. Applicable for American Express Direct (amexdirect) processor." - }, - "enableCreditAuth": { - "type": "boolean", - "description": "Authorizes a credit. Reduces refund chargebacks and prevents customers from seeing the online update for credits which are otherwise offline settlements." - }, - "industryCode": { - "type": "string", - "description": "Field used to identify the industry type of the merchant submitting the authorization request.\n\nValid values:\n`0` \u2013 unknown or unsure\n`A` \u2013 auto rental (EMV supported)\n`B` \u2013 bank/financial institution (EMV supported)\n`D` \u2013 direct marketing\n`F` \u2013 food/restaurant (EMV supported)\n`G` \u2013 grocery store/super market (EMV supported)\n`H` \u2013 hotel (EMV supported)\n`L` \u2013 limited amount terminal (EMV supported)\n`O` \u2013 oil company/automated fueling system (EMV supported)\n`P` \u2013 passenger transport (EMV supported)\n`R` \u2013 retail (EMV supported)\nApplicable for TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n \nPossible values:\n- 0\n- A\n- B\n- D\n- F\n- G\n- H\n- L\n- O\n- P\n- R" - }, - "sendAmexLevel2Data": { - "type": "boolean", - "description": "Field that indicates whether merchant will send level 2 data for Amex cards. Applicable for TSYS (tsys) processor." - }, - "softDescriptorType": { - "type": "string", - "description": "A soft descriptor is a text, rendered on a cardholder's statement, describing a particular product or service, purchased by the cardholder.\nDescriptors are intended to help the cardholder identify the products or services purchased.\nValid values:\n`1` - trans_ref_no\n`2` - merchant_descriptor\n`3` - trans_ref_no and merchant_descriptor\nApplicable for TSYS (tsys) processor.\n" - }, - "vitalNumber": { - "type": "string", - "description": "V-number provided by TSYS info. The leading `V` must be replaced by a `7`. For example, replace `V1234567` with `71234567`. Applicable for TSYS (tsys) processor." - }, - "bankNumber": { - "type": "string", - "description": "6 digit agent bank number provided by acquirer. Applicable for TSYS (tsys) processor." - }, - "chainNumber": { - "type": "string", - "description": "6 digit chain number provided by acquirer. Applicable for TSYS (tsys) processor." - }, - "merchantBinNumber": { - "type": "string", - "description": "6 digits acquirer bank identification number. Applicable for TSYS (tsys) processor." - }, - "merchantLocationNumber": { - "type": "string", - "description": "5 digit merchant location number. Unless otherwise specified by merchant's bank or processor, this field should default to 00001. Applicable for TSYS (tsys) processor." - }, - "storeID": { - "type": "string", - "description": "4 digits number used to identify a specific merchant store location within the member systems. Applicable for TSYS (tsys) processor." - }, - "travelAgencyCode": { - "type": "string", - "description": "Contains travel agency code if airline ticket was issued by a travel agency. Applicable for TSYS (tsys) processor." - }, - "travelAgencyName": { - "type": "string", - "description": "Contains travel agency name if airline ticket was issued by travel agency. Applicable for TSYS (tsys) processor." - }, - "settlementCurrency": { - "type": "string", - "description": "This field is used to indicate Merchant's settlement currency. [ISO 4217 ALPHA-3 Standard Currency Codes] Applicable for TSYS (tsys) and Streamline (streamline2) processors." - }, - "enableLeastCostRouting": { - "type": "boolean", - "description": "Indicates whether Least Cost Routing is enabled. Applicable for EFTPOS and CUP processors." - }, - "enableCVVResponseIndicator": { - "type": "boolean", - "description": "This field denotes EFTPOS Merchant's choice of receiving CVV Processing Response in return. Applicable for EFTPOS processors." - }, - "enableMultiCurrencyProcessing": { - "type": "string", - "description": "Applicable for Barclays (barclays2) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoYes
\n" - }, - "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." + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "commerceSolutions": { + "title": "commerceSolutionsProducts", + "type": "object", + "properties": { + "tokenManagement": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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." + }, + "vault": { + "type": "object", + "properties": { + "defaultTokenType": { + "type": "string", + "description": "Default token type to be used.\nPossible Values: \n - 'CUSTOMER'\n - 'PAYMENT_INSTRUMENT'\n - 'INSTRUMENT_IDENTIFIER'\n", + "example": "CUSTOMER" + }, + "location": { + "type": "string", + "description": "Location where the vault will be stored.\n\nUse 'IDC' (the Indian Data Centre) when merchant is storing token data in India or 'GDC' (the Global Data Centre) for all other cases.\n\nPossible Values: \n - 'IDC'\n - 'GDC'\n", + "example": "GDC" + }, + "tokenFormats": { + "title": "tmsTokenFormats", + "type": "object", + "properties": { + "customer": { + "type": "string", + "description": "Format for customer tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", + "example": "32_HEX" + }, + "paymentInstrument": { + "type": "string", + "description": "Format for payment instrument tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", + "example": "32_HEX" + }, + "instrumentIdentifierCard": { + "type": "string", + "description": "Format for card based instrument identifier tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '16_DIGIT_LAST_4'\n - '19_DIGIT'\n - '19_DIGIT_LAST_4'\n - '22_DIGIT'\n - '32_HEX'\n" + }, + "instrumentIdentifierBankAccount": { + "type": "string", + "description": "Format for bank account based instrument identifier tokens.\n\nPossible Values: \n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n" + } + } + }, + "tokenPermissions": { + "title": "TokenPermissions", + "type": "object", + "properties": { + "create": { + "type": "boolean", + "description": "Indicates if tokens may be created" + }, + "read": { + "type": "boolean", + "description": "Indicates if tokens may be read" + }, + "update": { + "type": "boolean", + "description": "Indicates if tokens may be updated" + }, + "delete": { + "type": "boolean", + "description": "Indicates if tokens may be deleted" + } + } + }, + "sensitivePrivileges": { + "title": "tmsSensitivePrivileges", + "type": "object", + "properties": { + "cardNumberMaskingFormat": { + "type": "string", + "description": "Indicates which digits of the card number will be unmasked.\n\nPossible Values: \n - 'FIRST_6_LAST_4'\n - 'LAST_4'\n - 'MASKED'\n" + } + } + }, + "nullify": { + "title": "tmsNullify", + "type": "object", + "properties": { + "instrumentIdentifierCardNumber": { + "type": "boolean", + "description": "Indicates if the card number should be nullified (i.e. not stored)" + }, + "instrumentIdentifierCardExpiration": { + "type": "boolean", + "description": "Indicates if the expiration date associated to the instrument identifier should be nullified (i.e. not stored)" + }, + "paymentInstrumentCardDetails": { + "type": "boolean", + "description": "Indicates if the card details should be nullified (i.e. not stored)" + } + } + }, + "networkTokenServices": { + "title": "tmsNetworkTokenServices", + "type": "object", + "properties": { + "notifications": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if lifecycle management (LCM) notifications are enabled" + } + } + }, + "paymentCredentials": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if Payment Credentials are enabled. If enabled, this provides access to the unredacted token and its associated cryptogram." + } + } + }, + "synchronousProvisioning": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if network tokens are provisioned synchronously (i.e. as part of the transaction flow) or asychronously (i.e. in parallel to the payment flow)\n\nNOTE: The synchronous provisioning feature is designed exclusively for aggregator merchants.\n\nDirect merchants should not enable synchronous provisioning as TMS manages the asynchronous creation of network tokens for direct clients. \n\nActivation of this feature by direct merchants will lead to latency in the authorization response.\n" + } + } + }, + "visaTokenService": { + "type": "object", + "properties": { + "enableService": { + "type": "boolean", + "description": "Indicates if the service for network tokens for the Visa card association are enabled" + }, + "enableTransactionalTokens": { + "type": "boolean", + "description": "Indicates if network tokens for the Visa card association are enabled for transactions" + }, + "tokenRequestorId": { + "type": "string", + "description": "Token Requestor ID provided by Visa during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"40000000082\"\n", + "pattern": "^[0-9]{11}\\\\z$\"", + "minLength": 11, + "maxLength": 11 + }, + "relationshipId": { + "type": "string", + "description": "Relationship ID provided by visa\n\nMin Length: 1\nMax Length: 100\nExample: \"24681921-40000000082\"\n", + "minLength": 1, + "maxLength": 100 + } + } + }, + "mastercardDigitalEnablementService": { + "type": "object", + "properties": { + "enableService": { + "type": "boolean", + "description": "Indicates if the service for network tokens for the Mastercard card association are enabled" + }, + "enableTransactionalTokens": { + "type": "boolean", + "description": "Indicates if network tokens for the Mastercard card association are enabled for transactions" + }, + "tokenRequestorId": { + "type": "string", + "description": "Token Requestor ID provided by Mastercard during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"50162233570\"\n", + "pattern": "^[0-9]{11}\\\\z$\"", + "minLength": 11, + "maxLength": 11 + } + } + }, + "americanExpressTokenService": { + "type": "object", + "properties": { + "enableService": { + "type": "boolean", + "description": "Indicates if the service for network tokens for the American Express card association are enabled" + }, + "enableTransactionalTokens": { + "type": "boolean", + "description": "Indicates if network tokens for the American Express card association are enabled for transactions" + }, + "tokenRequestorId": { + "type": "string", + "description": "Token Requestor ID provided by American Express during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"12345678912\"\n", + "pattern": "^[0-9]{11}\\\\z$\"", + "minLength": 11, + "maxLength": 11 + }, + "seNumber": { + "type": "string", + "minLength": 10, + "maxLength": 10, + "pattern": "^[0-9]{11}\\z$", + "description": "SE Number assigned by American Express for the merchant's account\n\nPattern: \"^[0-9]{11}\\\\z$\"\nMin Length: 10\nMax Length: 10\nExample: \"9876543212\"\n" + } + } + } + } + } + } + }, + "networkTokenEnrollment": { + "title": "networkTokenEnrollment", + "type": "object", + "properties": { + "businessInformation": { + "title": "tmsBusinessInformation", + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "minLength": 1, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "description": "Name of the network token merchant.", + "example": "NetworkTokenMerchant" + }, + "doingBusinessAs": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "description": "Name the network token merchant does business as", + "example": "NetworkTokenCo1" + }, + "address": { + "type": "object", + "properties": { + "country": { + "type": "string", + "maxLength": 2, + "minLength": 2, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", + "description": "Country of network token merchant.", + "example": "US" + }, + "locality": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", + "description": "City of network token merchant.", + "example": "ORMOND BEACH" + } } }, - "required": [ - "merchantId" - ] + "websiteUrl": { + "type": "string", + "maxLength": 100, + "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac.\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", + "description": "Website of network token merchant.", + "example": "https://www.NetworkTokenMerchant.com" + }, + "businessIdentificationType": { + "type": "string", + "description": "The Identifier associated with the business type; required unless both acquirerId and acquirerMerchantId are provided.\n", + "maxLength": 15 + }, + "businessIdentificationValue": { + "type": "string", + "description": "The value associated with the business identifier type; required unless both acquirerId and acquirerMerchantId are provided.\n", + "maxLength": 25 + }, + "acquirer": { + "type": "object", + "properties": { + "acquirerId": { + "type": "string", + "description": "Acquirer ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", + "maxLength": 15 + }, + "acquirerMerchantId": { + "type": "string", + "description": "Acquirer merchant ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", + "maxLength": 25 + } + } + } + } + }, + "networkTokenServices": { + "title": "NetworkTokenServicesEnablement", + "type": "object", + "properties": { + "visaTokenService": { + "type": "object", + "properties": { + "enrollment": { + "type": "boolean", + "description": "Indicates if an enrollment to create a TRID for the Visa card association should be attempted" + } + } + }, + "mastercardDigitalEnablementService": { + "type": "object", + "properties": { + "enrollment": { + "type": "boolean", + "description": "Indicates if an enrollment to create a TRID for the MasterCard card association should be attempted" + } + } + } } + } + } + } + } + } + } + } + } + }, + "accountUpdater": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "configurations": { + "type": "object", + "properties": { + "isPayoutOptionsEnabled": { + "type": "boolean", + "description": "This flag indicates if the merchant is configured to make payout calls" + }, + "isAccountPrefixEnabled": { + "type": "boolean", + "description": "This flag indicates if the merchant is configured to receive account prefix" + } + } + } + } + } + } + } + } + }, + "valueAddedServices": { + "title": "valueAddedServicesProducts", + "type": "object", + "properties": { + "reporting": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + }, + "transactionSearch": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + } + } + } + } + } + } + }, + "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-time", + "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 - 'INITIALIZED'\n - 'RECEIVED'\n - 'PROCESSING'\n - 'SUCCESS'\n - 'FAILURE'\n - 'PARTIAL'\n" + }, + "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" + }, + "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", + "description": "Possible values:\n- LIVE\n- INACTIVE\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "amexVendorCode": { + "reason": { "type": "string", - "description": "Vendor code assigned by American Express. Applicable for TSYS (tsys) processor." + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "defaultAuthTypeCode": { + "reason": { "type": "string", - "description": "Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version.\nApplicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoFINAL
Barclays HISOcnp, cp, hybridYesFINAL
\n \nPossible values:\n- PRE\n- FINAL\n- UNDEFINED" + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "masterCardAssignedId": { + "reason": { "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" + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "merchantCategoryCode": { + "reason": { "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" + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "sicCode": { + "reason": { "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." + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "foodAndConsumerServiceId": { + "reason": { "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." + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "visaDelegatedAuthenticationId": { + "reason": { "type": "string", - "description": "Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors." + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + } + }, + "additionalProperties": { + "type": "string" + } + } + }, + "message": { + "type": "string" + } + } + } + } + }, + "serviceFee": { + "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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "creditCardRefundLimitPercent": { + "reason": { "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." + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "businessCenterCreditCardRefundLimitPercent": { + "reason": { "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." + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "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." + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "processLevel3Data": { + "reason": { "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" + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "subMerchantId": { + "reason": { "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" + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "subMerchantBusinessName": { + "reason": { "type": "string", - "description": "Sub-merchant's business name.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo137^[0-9a-zA-Z\-\_\,\\s.]+$
\n" - }, - "preferCobadgedSecondaryBrand": { - "type": "boolean", - "description": "It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors." - }, - "merchantDescriptorInformation": { - "type": "object", - "description": "A merchant descriptor is the line of copy that identifies transactions on a cardholder's account activity and statement. If this information is not populated, the data will be retrieved from OMS.", - "properties": { - "name": { - "type": "string", - "description": "Applicable for TSYS (tsys), RUPAY, American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" - }, - "city": { - "type": "string", - "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes121^[0-9a-zA-Z\\s]+$
\n" - }, - "country": { - "type": "string", - "description": "Applicable for Six (six), Elavon Americas (elavonamericas), TSYS (tsys) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes33^[A-Z]+$
\n" - }, - "phone": { - "type": "string", - "description": "Applicable for RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes120^[0-9a-zA-Z\\s]+$
\n" - }, - "state": { - "type": "string", - "description": "Applicable for RUPAY, TSYS (tsys), Elavon Americas (elavonamericas) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo13^[A-Z]+$
\n" - }, - "street": { - "type": "string", - "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" - }, - "zip": { - "type": "string", - "description": "Applicable for Elavon Americas (elavonamericas), RUPAY, American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes115^[0-9a-zA-Z\\s]+$
\n" - }, - "url": { - "type": "string", - "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, hybridYes140URL
American Express DirectcpNo140URL
\n" - }, - "countryOfOrigin": { - "type": "string", - "description": "Country Cf Origin of merchant is applicable for VPC Processors and is dependent on governmentControlled attribute." - } - } + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "governmentControlled": { - "type": "boolean", - "description": "Indicates whether the merchant is government controlled. Applicable for VPC processors." + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "dropBillingInfo": { - "type": "boolean", - "description": "This field is used to indicate whether the merchant wants to drop the billing information from the request. If this field is set to true, then the billing information will be dropped from the request. If this field is set to false, then the billing information will be sent in the request." + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" } + }, + "additionalProperties": { + "type": "string" } - }, - "features": { + } + }, + "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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { "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" - } - } - } - } + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "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." - } - } + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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-time", + "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", + "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" + }, + "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-time", + "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", + "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" + }, + "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-time", + "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", + "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" + }, + "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": false, + "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": {} + } + } + } + }, + "example11": { + "summary": "Merchant Boarding with TMS and Network Token Enablement", + "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.NetworkTokenMerchant.com", + "businessContact": { + "firstName": "Token", + "lastName": "Man", + "phoneNumber": "6574567813", + "email": "networktokenman@visa.com" + } + } + }, + "productInformation": { + "selectedProducts": { + "commerceSolutions": { + "tokenManagement": { + "subscriptionInformation": { + "enabled": true + }, + "configurationInformation": { + "configurations": { + "vault": { + "defaultTokenType": "CUSTOMER", + "location": "GDC", + "tokenFormats": { + "customer": "32_HEX", + "paymentInstrument": "32_HEX", + "instrumentIdentifierCard": "19_DIGIT_LAST_4", + "instrumentIdentifierBankAccount": "32_HEX" + }, + "sensitivePrivileges": { + "cardNumberMaskingFormat": "FIRST_6_LAST_4" + }, + "networkTokenServices": { + "visaTokenService": { + "enableService": true, + "enableTransactionalTokens": true, + "tokenRequestorId": "40000000082", + "relationshipId": "24681921-40000000082" + }, + "mastercardDigitalEnablementService": { + "enableService": true, + "enableTransactionalTokens": true, + "tokenRequestorId": "50162233570" + }, + "americanExpressTokenService": { + "enableService": true, + "enableTransactionalTokens": true, + "tokenRequestorId": "12345678912", + "seNumber": "9876543212" + }, + "notifications": { + "enabled": true + }, + "paymentCredentials": { + "enabled": true + }, + "synchronousProvisioning": { + "enabled": false + } + } + } + } + } + } + } + } + } + } + }, + "example12": { + "summary": "Merchant Boarding with TMS and Network Token TRID Enrollment (Production Only)", + "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.NetworkTokenMerchant.com", + "businessContact": { + "firstName": "Token", + "lastName": "Man", + "phoneNumber": "6574567813", + "email": "networktokenman@visa.com" + } + } + }, + "productInformation": { + "selectedProducts": { + "commerceSolutions": { + "tokenManagement": { + "subscriptionInformation": { + "enabled": true + }, + "configurationInformation": { + "configurations": { + "vault": { + "defaultTokenType": "CUSTOMER", + "location": "GDC", + "tokenFormats": { + "customer": "32_HEX", + "paymentInstrument": "32_HEX", + "instrumentIdentifierCard": "19_DIGIT_LAST_4", + "instrumentIdentifierBankAccount": "32_HEX" + }, + "sensitivePrivileges": { + "cardNumberMaskingFormat": "FIRST_6_LAST_4" + }, + "networkTokenServices": { + "visaTokenService": { + "enableService": true, + "enableTransactionalTokens": true + }, + "mastercardDigitalEnablementService": { + "enableService": true, + "enableTransactionalTokens": true + }, + "americanExpressTokenService": { + "enableService": true, + "enableTransactionalTokens": true, + "tokenRequestorId": "12345678912", + "seNumber": "9876543212" + }, + "notifications": { + "enabled": true + }, + "paymentCredentials": { + "enabled": true + }, + "synchronousProvisioning": { + "enabled": false + } + } + }, + "networkTokenEnrollment": { + "businessInformation": { + "name": "NetworkTokenMerchant", + "doingBusinessAs": "NetworkTokenCo1", + "address": { + "country": "US", + "locality": "ORMOND BEACH" + }, + "websiteUrl": "https://www.NetworkTokenMerchant.com", + "acquirer": { + "acquirerId": "40010052242", + "acquirerMerchantId": "MerchantOrgID" + } + }, + "networkTokenServices": { + "visaTokenService": { + "enrollment": true + }, + "mastercardDigitalEnablementService": { + "enrollment": true + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/boarding/v1/registrations/{registrationId}": { + "get": { + "x-devcenter-metaData": { + "categoryTag": "Merchant_Boarding", + "disableProcessorDropDown": true, + "authorizationType": [ + "Json Web Token" + ], + "overrideMerchantCredential": "apitester00", + "developerGuides": "https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html" + }, + "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-time", + "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" + }, + "boardingPackageId": { + "type": "string", + "maxLength": 60, + "example": 1004001 + }, + "boardingFlow": { + "type": "string", + "description": "Determines the boarding flow for this registration.\nPossible Values:\n - 'ENTERPRISE'\n - 'SMB'\n - 'ADDPRODUCT'\n" + }, + "mode": { + "type": "string", + "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n" + }, + "salesRepId": { + "type": "string", + "maxLength": 60, + "example": "Rep1" + } + } + }, + "integrationInformation": { + "type": "object", + "properties": { + "oauth2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "client_id": { + "type": "string", + "maxLength": 32, + "example": "client123" + }, + "state": { + "type": "string", + "maxLength": 20, + "example": "test123" + } + }, + "required": [ + "client_id" + ] + } + }, + "tenantConfigurations": { + "type": "array", + "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.", + "items": { + "type": "object", + "properties": { + "solutionId": { + "type": "string", + "maxLength": 8, + "minLength": 8, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "The solutionId is the unique identifier for this system resource.\nPartner can use it to reference the specific solution through out the system.\n", + "example": "YumSolution1" + }, + "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", + "description": "Possible values:\n- LIVE\n- INACTIVE\n- 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" + }, + "status": { + "type": "string", + "description": "Determines the status that the organization will be after being onboarded\nPossible Values:\n - 'LIVE'\n - 'TEST'\n - 'DRAFT'\n" + }, + "configurable": { + "description": "This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products. Eventually this field will be deprecated and all organizations will be allowed for product configuration.", + "type": "boolean", + "default": false, + "example": false + }, + "businessInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "minLength": 1, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "Betos Restaurant" + }, + "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", + "example": "America/Chicago" + }, + "websiteUrl": { + "type": "string", + "maxLength": 100, + "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac\u009d\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", + "example": "www.test.com" + }, + "type": { + "type": "string", + "description": "Business type\nPossible Values:\n - 'PARTNERSHIP'\n - 'SOLE_PROPRIETORSHIP'\n - 'CORPORATION'\n - 'LLC'\n - 'NON_PROFIT'\n - 'TRUST'\n" + }, + "taxId": { + "type": "string", + "maxLength": 9, + "pattern": "\\d{9}", + "example": 254324 + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4564561234 + }, + "businessContact": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4567890398 + }, + "email": { + "type": "string", + "maxLength": 100, + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", + "example": "test@test.com" + } + }, + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ] + }, + "technicalContact": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4567890398 + }, + "email": { + "type": "string", + "maxLength": 100, + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", + "example": "test@test.com" + } + }, + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ] + }, + "emergencyContact": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "example": "John" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "example": 4567890398 + }, + "email": { + "type": "string", + "maxLength": 100, + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", + "example": "test@test.com" + } + }, + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ] + }, + "merchantCategoryCode": { + "type": "string", + "maxLength": 4, + "pattern": "^\\d{3,4}$", + "example": 5300, + "description": "Industry standard Merchant Category Code (MCC)" + } + }, + "required": [ + "name" + ] + }, + "KYC": { + "type": "object", + "properties": { + "whenIsCustomerCharged": { + "type": "string", + "example": "ONETIMEBEFORE", + "description": "Possible values:\n- ONETIMEBEFORE\n- ONETIMEAFTER\n- OTHER" + }, + "whenIsCustomerChargedDescription": { + "type": "string", + "maxLength": 100 + }, + "offerSubscriptions": { + "type": "boolean", + "example": true + }, + "monthlySubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 30 + }, + "quarterlySubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 20 + }, + "semiAnnualSubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 50 + }, + "annualSubscriptionPercent": { + "type": "number", + "format": "decimal", + "pattern": "^((100)|(\\d{0,2}))$", + "example": 100 + }, + "timeToProductDelivery": { + "type": "string", + "description": "Possible values:\n- INSTANT\n- UPTO2\n- UPTO5\n- UPTO10\n- GREATERTHAN10" + }, + "estimatedMonthlySales": { + "type": "number", + "format": "currency", + "pattern": "^\\d{1,8}(\\.\\d{1,2})?$", + "example": 10000.5 + }, + "averageOrderAmount": { + "type": "number", + "format": "currency", + "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", + "example": 50.5 + }, + "largestExpectedOrderAmount": { + "type": "number", + "format": "currency", + "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", + "example": 100.5 + }, + "depositBankAccount": { + "type": "object", + "properties": { + "accountHolderName": { + "type": "string", + "maxLength": 40, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", + "example": "John Doe" }, - "cardPresentConnect": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "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." - } - } - } - } - } - } + "accountType": { + "type": "string", + "example": "checking", + "description": "Possible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings" }, - "cybsReadyTerminal": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" - } - } - } - } + "accountRoutingNumber": { + "type": "string", + "maxLength": 9, + "pattern": "\\d{9}" }, - "eCheck": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - }, - "mode": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Indicates what mode the product is expected to behave at boarding and transaction flows. Ex, Acquirer/Gateway/Other." - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "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": { - "type": "string", - "default": "ALWAYS", - "description": "*NEW* \nPossible values:\n- ALWAYS" - }, - "setCompletedState": { - "type": "boolean", - "default": false, - "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." - } - }, - "required": [ - "companyEntryDescription" - ] - } - }, - "internalOnly": { - "type": "object", - "properties": { - "displayEcheckInfo": { - "type": "boolean", - "default": true, - "description": "*NEW* Used by EBC UI always set to true" - }, - "processors": { - "type": "object", - "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "bofaach", - "wellsfargoach" - ], - "type": "object", - "description": "Name of the payment processor. Example - \"wellsfargoach\"", - "properties": { - "enableCCS": { - "type": "boolean", - "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n" - }, - "terminalId": { - "type": "string", - "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n" - }, - "enable15anTransactionReferenceNumber": { - "type": "boolean", - "default": true, - "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS" - }, - "portalSupportedPaytypes": { - "type": "string", - "default": "CHECK", - "description": "*NEW* This is used by the EBC2 application" - }, - "settlementMethod": { - "type": "string", - "default": "BEST_GUESS", - "description": "*NEW* \nPossible values:\n- BEST_GUESS" - }, - "verificationLevel": { - "type": "string", - "default": "VALIDATION", - "description": "*NEW* \nPossible values:\n- VALIDATION" - }, - "setCompletedState": { - "type": "boolean", - "default": false, - "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." - } - } - } - } - } - }, - "accountHolderName": { - "type": "string", - "maxLength": 22, - "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n" - }, - "accountType": { - "type": "string", - "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n" - }, - "accountRoutingNumber": { - "type": "string", - "maxLength": 9, - "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n" - }, - "accountNumber": { - "type": "string", - "maxLength": 17, - "description": "Mandatory \nAccount number for Merchant's Bank Account\n" - } - }, - "required": [ - "accountHolderName", - "accountType", - "accountRoutingNumber", - "accountNumber" - ] - }, - "underwriting": { - "type": "object", - "properties": { - "standardEntryClassCodes": { - "type": "string", - "default": "CCD,PPD,TEL,WEB", - "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n" - }, - "enableHold": { - "type": "boolean", - "default": true, - "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n" - }, - "monthlyTotalTransactionAmountLimit": { - "type": "number", - "format": "currency", - "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n" - }, - "holdingDays": { - "type": "number", - "format": "integer", - "default": 7, - "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n" - }, - "enableCredits": { - "type": "boolean", - "description": "Optional \nAllow Credits (True/False)\n" - }, - "transactionAmountLimit": { - "type": "number", - "format": "currency", - "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n" - }, - "riskReserveMethod": { - "type": "string", - "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n" - }, - "riskReserveRate": { - "type": "number", - "format": "decimal", - "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n" - }, - "riskReserveTargetAmount": { - "type": "number", - "format": "currency", - "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n" - }, - "solutionOrganizationId": { - "type": "string", - "description": "Solution organization id" - } - }, - "required": [ - "standardEntryClassCodes", - "enableHold", - "monthlyTotalTransactionAmountLimit", - "holdingDays", - "transactionAmountLimit", - "riskReserveMethod", - "riskReserveRate", - "riskReserveTargetAmount" - ] - }, - "features": { - "type": "object", - "properties": { - "accountValidationService": { - "type": "object", - "properties": { - "internalOnly": { - "type": "object", - "properties": { - "processors": { - "type": "object", - "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "bofaach", - "wellsfargoach" - ], - "type": "object", - "description": "Name of the payment processor. Example - \"wellsfargoach\"", - "properties": { - "avsVersion": { - "type": "string", - "default": "2", - "description": "*NEW* \nPossible values:\n- 2" - } - } - } - } - } - }, - "processors": { - "type": "object", - "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", - "additionalProperties": { - "type": "object", - "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"", - "properties": { - "avsAccountOwnershipService": { - "type": "boolean", - "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service." - }, - "avsAccountStatusService": { - "type": "boolean", - "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service." - }, - "avsSignedAgreement": { - "type": "boolean", - "description": "*NEW* Taken from Addendum Agreement Column in boarding form." - }, - "avsCalculatedResponseBehavior": { - "type": "string", - "default": "continue", - "description": "*NEW* \nPossible values:\n- continue" - }, - "avsAdditionalId": { - "type": "string", - "description": "*NEW* Also known as the Additional ID. Taken from the boarding form." - }, - "enableAvs": { - "type": "boolean", - "default": true, - "description": "*NEW*" - }, - "avsEntityId": { - "type": "string", - "description": "*NEW* Also known as the AVS Gateway Entity ID." - }, - "avsResultMode": { - "type": "string", - "description": "*NEW* \nPossible values:\n- FULL_RESPONSE\n- LOGIC_BOX" - }, - "enableAvsTokenCreation": { - "type": "boolean", - "default": false, - "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only." - } - } - } - } - } - } - } - } - } - } - } - } + "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 } }, - "payerAuthentication": { + "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": { @@ -113904,6 +122281,22 @@ "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + }, + "features": { + "type": "object", + "description": "This is a map. The allowed keys are below. Value should be an object containing a sole boolean property - enabled.\n\n \n \n \n \n \n \n
cardPresent
cardNotPresent
\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "cardPresent", + "cardNotPresent" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + } } } }, @@ -113916,1195 +122309,1551 @@ }, "configurations": { "type": "object", - "title": "PayerAuthConfig", + "title": "CardProcessingConfig", "properties": { - "cardTypes": { + "common": { "type": "object", "properties": { - "verifiedByVisa": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "masterCardSecureCode": { + "processors": { "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { + "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": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { + "institutionId": { "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "amexSafeKey": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } + "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" }, - "acquirerId": { + "interbankCardAssociationId": { "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" + "description": "Number assigned by MasterCard to banks to identify the member in transactions. Applicable for VPC and GPX (gpx) processors." }, - "processorMerchantId": { + "discoverInstitutionId": { "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "jCBJSecure": { - "type": "object", - "properties": { - "securePasswordForJCB": { - "type": "string", - "minLength": 8, - "maxLength": 8, - "description": "JSecure currency password for Japan Credit Bureau" - }, - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } + "description": "Assigned by Discover to identify the acquirer. Applicable for VPC and GPX (gpx) processors." }, - "acquirerId": { + "unionPayInstitutionId": { "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" + "description": "Assigned by China Union Pay to identify the acquirer. Applicable for VPC processors." }, - "processorMerchantId": { + "dinersClubInstitutionId": { "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } - } - }, - "dinersClubInternationalProtectBuy": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } + "description": "Assigned by Diners Club to identify the acquirer. Applicable for VPC processors." }, - "acquirerId": { + "countryCode": { "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" + "description": "ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors." }, - "processorMerchantId": { + "fileDestinationBin": { "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" + "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors." } } - } - } - } - }, - "ELO": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { + }, + "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", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" + "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" + } + } + } } - }, - "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": { + }, + "currencies": { "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" + "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" } - }, - "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" } } + }, + "visaAggregatorId": { + "type": "string", + "description": "This field is used as aggregator Id when Visa payment type is selected" + }, + "amexAggregatorId": { + "type": "string", + "description": "This field is used as aggregator Id when Amex payment type is selected" + }, + "masterCardAggregatorId": { + "type": "string", + "description": "This field is used as aggregator Id when Master Card payment type is selected" + }, + "sicCode": { + "type": "string", + "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." + }, + "allowMultipleBills": { + "type": "boolean", + "description": "Allows multiple captures for a single authorization transaction.\nApplicable for Paymentech Tampa (paymentechtampa), VPC, American Express Direct (amexdirect) and GPX (gpx) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, hybridYesNo
American Express DirectcnpNoNo
\n" + }, + "allowMerchantDescriptorOverride": { + "type": "boolean", + "description": "Enables partner to enable/disable merchant descriptors values. Applicable for VPC, EFTPOS and CUP processors." + }, + "enhancedData": { + "type": "string", + "description": "To enable airline transactions.\nApplicable for TSYS (tsys), VPC, Elavon Americas (elavonamericas), FDI Global (fdiglobal), GPX (gpx), Barclays (barclays2) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridNo
American Express Directcp, cnp, hybridNo
\n" + }, + "fireSafetyIndicator": { + "type": "boolean", + "description": "Indicates whether the merchant is compliant with Hotel and Motel Fire Safety Act of 1990. Applicable for GPX (gpx) and VPC processors." + }, + "quasiCash": { + "type": "boolean", + "description": "To enable quasi-cash transactions. A quasi-cash transaction is a cash-like transaction for the sale of items that are directly convertible to cash, such as:-\nCasino gaming chips,\nMoney orders,\nWire transfers.\n\nApplicable for GPX (gpx), TSYS (tsys), Barclays (barclays2) and VPC processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoNo
\n" + }, + "acquirerMerchantId": { + "type": "string", + "description": "Identifier assigned by the acquirer. Applicable for RUPAY, VPC and Six (six) processors." + }, + "avsFormat": { + "type": "string", + "description": "Enables Enhanced AVS/Automated Address Verification Plus (AAV+).\n\nValid values:\n\"basic\" - Standard address verification system.\n When a processor supports AVS for a transaction's card type, the issuing bank uses AVS to confirm that the customer has provided the correct billing address.\n When a customer provides incorrect information, the transaction might be fraudulent.\n\"basic + name\" - Enhanced address verification system.\n Consists of the standard AVS functionality plus verification of some additional fields.\n The additional fields that are verified for Enhanced AVS are:\n - customer_firstname\n - customer_lastname\n\"basic + name + shipto\" - Automated address verification plus.\n Consists of the Enhanced AVS functionality plus verification of some additional fields.\n AAV+ intended for merchants who deliver physical goods to a different address than the billing address.\n AAV+ verifies the additional fields only when the standard and Enhanced AVS tests pass first.\n For information about Enhanced AVS - The additional fields that are verified for AAV+ are:\n - ship_to_firstname\n - ship_to_lastname\n - ship_to_address1\n - ship_to_country\n - ship_to_zip\n - ship_to_phone\n - customer_phone(American Express Direct only)\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridYesbasic
\n" + }, + "enableLongTransRefNo": { + "type": "boolean", + "description": "Amex Direct specific merchant config value which determines what length (either 9 or Unique 12-char reference number) of reference number will be CYBS generated if the merchant does not pass in a trans_ref_no.\nCan be any combination of alpha, numeric and special characters, and/or binary data in hexadecimal.\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableLevel2": { + "type": "boolean", + "description": "Field that indicates whether merchant will send level 2 data for Amex cards.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableMultipleTransactionAdviceAddendum": { + "type": "boolean", + "description": "This flag related to multiple transaction advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "amexTransactionAdviceAddendum1": { + "type": "string", + "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo140^[0-9a-zA-Z\-\\s.]+$
\n" + }, + "enableMultiLineItems": { + "type": "boolean", + "description": "This flag is related to offer/line item details to be included instead of sending one line item, and a grand total. Example, offer0, offer 1...offer n.\nApplicable for American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableTransactionReferenceNumber": { + "type": "boolean", + "description": "To enable merchant to send in transaction reference number (unique reconciliation ID). Applicable for VPC, Vero (vero), FDI Global (fdiglobal), Six (six), CB2A, CUP, VPC, Chase Paymentech Salem (chasepaymentechsalem), Fiserv (fiserv), Elavon Americas (elavonamericas) and EFTPOS processors." + }, + "enableAutoAuthReversalAfterVoid": { + "type": "boolean", + "description": "Enables to meet the Visa mandate requirements to reverse unused authorizations, benefitting the customer by releasing the hold on unused credit card funds.\nApplicable for CB2A, Elavon Americas (elavonamericas), Six (six), VPC and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" + }, + "enableExpresspayPanTranslation": { + "type": "boolean", + "description": "When this is enabled, authorization responses from American Express expresspay transactions include the Primary Account Number (PAN) and expiration date of the card. Applicable for American Express Direct (amexdirect) processor." + }, + "enableCreditAuth": { + "type": "boolean", + "description": "Authorizes a credit. Reduces refund chargebacks and prevents customers from seeing the online update for credits which are otherwise offline settlements." + }, + "industryCode": { + "type": "string", + "description": "Field used to identify the industry type of the merchant submitting the authorization request.\n\nValid values:\n`0` \u2013 unknown or unsure\n`A` \u2013 auto rental (EMV supported)\n`B` \u2013 bank/financial institution (EMV supported)\n`D` \u2013 direct marketing\n`F` \u2013 food/restaurant (EMV supported)\n`G` \u2013 grocery store/super market (EMV supported)\n`H` \u2013 hotel (EMV supported)\n`L` \u2013 limited amount terminal (EMV supported)\n`O` \u2013 oil company/automated fueling system (EMV supported)\n`P` \u2013 passenger transport (EMV supported)\n`R` \u2013 retail (EMV supported)\nApplicable for TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n \nPossible values:\n- 0\n- A\n- B\n- D\n- F\n- G\n- H\n- L\n- O\n- P\n- R" + }, + "sendAmexLevel2Data": { + "type": "boolean", + "description": "Field that indicates whether merchant will send level 2 data for Amex cards. Applicable for TSYS (tsys) processor." + }, + "softDescriptorType": { + "type": "string", + "description": "A soft descriptor is a text, rendered on a cardholder's statement, describing a particular product or service, purchased by the cardholder.\nDescriptors are intended to help the cardholder identify the products or services purchased.\nValid values:\n`1` - trans_ref_no\n`2` - merchant_descriptor\n`3` - trans_ref_no and merchant_descriptor\nApplicable for TSYS (tsys) processor.\n" + }, + "vitalNumber": { + "type": "string", + "description": "V-number provided by TSYS info. The leading `V` must be replaced by a `7`. For example, replace `V1234567` with `71234567`. Applicable for TSYS (tsys) processor." + }, + "bankNumber": { + "type": "string", + "description": "6 digit agent bank number provided by acquirer. Applicable for TSYS (tsys) processor." + }, + "chainNumber": { + "type": "string", + "description": "6 digit chain number provided by acquirer. Applicable for TSYS (tsys) processor." + }, + "merchantBinNumber": { + "type": "string", + "description": "6 digits acquirer bank identification number. Applicable for TSYS (tsys) processor." + }, + "merchantLocationNumber": { + "type": "string", + "description": "5 digit merchant location number. Unless otherwise specified by merchant's bank or processor, this field should default to 00001. Applicable for TSYS (tsys) processor." + }, + "storeID": { + "type": "string", + "description": "4 digits number used to identify a specific merchant store location within the member systems. Applicable for TSYS (tsys) processor." + }, + "travelAgencyCode": { + "type": "string", + "description": "Contains travel agency code if airline ticket was issued by a travel agency. Applicable for TSYS (tsys) processor." + }, + "travelAgencyName": { + "type": "string", + "description": "Contains travel agency name if airline ticket was issued by travel agency. Applicable for TSYS (tsys) processor." + }, + "settlementCurrency": { + "type": "string", + "description": "This field is used to indicate Merchant's settlement currency. [ISO 4217 ALPHA-3 Standard Currency Codes] Applicable for TSYS (tsys) and Streamline (streamline2) processors." + }, + "enableLeastCostRouting": { + "type": "boolean", + "description": "Indicates whether Least Cost Routing is enabled. Applicable for EFTPOS and CUP processors." + }, + "enableCVVResponseIndicator": { + "type": "boolean", + "description": "This field denotes EFTPOS Merchant's choice of receiving CVV Processing Response in return. Applicable for EFTPOS processors." + }, + "enableMultiCurrencyProcessing": { + "type": "string", + "description": "Applicable for Barclays (barclays2) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoYes
\n" + }, + "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." } - } - } - }, - "CB": { - "type": "object", - "properties": { - "requestorId": { - "type": "string", - "minLength": 14, - "maxLength": 14, - "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." }, - "enabled": { - "type": "boolean", - "default": true - }, - "currencies": { - "type": "array", - "items": { - "type": "object", - "properties": { - "currencyCodes": { - "type": "array", - "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", - "example": [ - "ALL", - "840", - "978" - ], - "items": { - "type": "string", - "example": "ALL" - } - }, - "acquirerId": { - "type": "string", - "minLength": 6, - "maxLength": 20, - "pattern": "^[a-zA-Z0-9]{6,20}$", - "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" - }, - "processorMerchantId": { - "type": "string", - "minLength": 6, - "maxLength": 35, - "pattern": "^[a-zA-Z0-9]{6,35}$", - "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" - } - } - } - } + "required": [ + "merchantId" + ] } - } - } - } - } - } - } - } - } - }, - "digitalPayments": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - }, - "features": { - "type": "object", - "description": "Allowed values are;\n\n \n \n \n \n \n \n \n \n \n \n \n \n
visaCheckout
applePay
samsungPay
googlePay
\n", - "additionalProperties": { - "x-devcenter-additional-properties": [ - "visaCheckout", - "applePay", - "samsungPay", - "googlePay" - ], - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - } - } - } - } - } - }, - "secureAcceptance": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "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" + "amexVendorCode": { + "type": "string", + "description": "Vendor code assigned by American Express. Applicable for TSYS (tsys) processor." }, - "email": { - "type": "string" + "defaultAuthTypeCode": { + "type": "string", + "description": "Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version.\nApplicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoFINAL
Barclays HISOcnp, cp, hybridYesFINAL
\n \nPossible values:\n- PRE\n- FINAL\n- UNDEFINED" }, - "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" - } - } + "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." }, - "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": { + "enablePartialAuth": { "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." + "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" }, - "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." + "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" }, - "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." + "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." }, - "tokenizationEnabled": { + "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": "Toggles whether Tokenization is enabled or not for Secure Acceptance transactions. Requires the transacting MID to be enabled and configured for Tokenization." + "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" }, - "reverseAuthOnAddressVerificationSystemFailure": { + "enableInterchangeOptimization": { "type": "boolean", - "description": "Toggles whether or not an approved Authorization that fails AVS should be automatically reversed." + "description": "Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors." }, - "deviceFingerprintEnabled": { + "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": "Toggles whether or not fraud Device Fingerprinting is enabled on the Hosted Checkout. This simplifies enablement for Decision Manager." + "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." }, - "reverseAuthOnCardVerificationNumberFailure": { + "enableDuplicateMerchantReferenceNumberBlocking": { "type": "boolean", - "description": "Toggles whether or not an approved Authorization that fails CVN check that should be automatically reversed." - } - } - }, - "paymentMethods": { - "type": "object", - "properties": { - "enabledPaymentMethods": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- CARD\n- ECHECK\n- VISACHECKOUT\n- PAYPAL" - } - } - } - }, - "checkout": { - "type": "object", - "properties": { - "displayTaxAmount": { + "description": "Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors." + }, + "domesticMerchantId": { "type": "boolean", - "description": "Toggles whether or not the tax amount is displayed on the Hosted Checkout." + "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." }, - "templateType": { + "processLevel3Data": { "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" + "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" }, - "returnToMerchantSiteUrl": { + "subMerchantId": { "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": { + "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": { - "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" - } - } + "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" }, - "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" - } - } + "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" }, - "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" - } - } + "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" }, - "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" - } - } + "phone": { + "type": "string", + "description": "Applicable for RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes120^[0-9a-zA-Z\\s]+$
\n" + }, + "state": { + "type": "string", + "description": "Applicable for RUPAY, TSYS (tsys), Elavon Americas (elavonamericas) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo13^[A-Z]+$
\n" + }, + "street": { + "type": "string", + "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" + }, + "zip": { + "type": "string", + "description": "Applicable for Elavon Americas (elavonamericas), RUPAY, American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes115^[0-9a-zA-Z\\s]+$
\n" + }, + "url": { + "type": "string", + "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, hybridYes140URL
American Express DirectcpNo140URL
\n" + }, + "countryOfOrigin": { + "type": "string", + "description": "Country Cf Origin of merchant is applicable for VPC Processors and is dependent on governmentControlled attribute." } } + }, + "governmentControlled": { + "type": "boolean", + "description": "Indicates whether the merchant is government controlled. Applicable for VPC processors." + }, + "dropBillingInfo": { + "type": "boolean", + "description": "This field is used to indicate whether the merchant wants to drop the billing information from the request. If this field is set to true, then the billing information will be dropped from the request. If this field is set to false, then the billing information will be sent in the request." } } - } - } - } - } - } - } - }, - "virtualTerminal": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "format": "uuid" - }, - "configurations": { - "type": "object", - "title": "VTConfig", - "properties": { - "cardNotPresent": { + }, + "features": { "type": "object", "properties": { - "globalPaymentInformation": { + "cardNotPresent": { "type": "object", "properties": { - "basicInformation": { - "type": "object", - "properties": { - "defaultStandardEntryClassCode": { - "type": "string" - }, - "defaultCountryCode": { - "type": "string", - "description": "ISO 4217 format" - }, - "defaultCurrencyCode": { - "type": "string", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" - }, - "defaultTransactionType": { - "type": "string", - "description": "Possible values:\n- AUTHORIZATION\n- SALE" - }, - "defaultPaymentType": { - "type": "string", - "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" - }, - "defaultTransactionSource": { - "type": "string" - }, - "displayRetail": { - "type": "boolean" - }, - "displayMoto": { - "type": "boolean" - }, - "displayInternet": { - "type": "boolean" - } - } - }, - "paymentInformation": { + "processors": { "type": "object", - "properties": { - "displayCardVerificationValue": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "requireCardVerificationValue": { - "type": "array", - "items": { - "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "acceptedCardTypes": { - "type": "array", - "items": { + "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": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + "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" + } + } } - }, - "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": { + "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": { - "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" + "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" }, - "merchantDefinedData5DisplayOnReceipt": { - "type": "boolean" + "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" } } } } }, - "receiptInformation": { + "cardPresent": { "type": "object", "properties": { - "header": { - "type": "object", - "properties": { - "virtualTerminalReceiptHeader": { - "type": "string" - } - } - }, - "orderInformation": { + "processors": { "type": "object", - "properties": { - "emailAliasName": { - "type": "string" - }, - "customReplyToEmailAddress": { - "type": "string" + "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." + } } } }, - "emailReceipt": { - "type": "object", - "properties": { - "sendersEmailAddress": { - "type": "string" - } - } + "enableTerminalIdLookup": { + "type": "boolean", + "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor." } } } } - }, - "cardPresent": { + } + } + } + } + } + } + }, + "cardPresentConnect": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "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", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- NOT_SELF_SERVICEABLE" + } + } + } + } + }, + "eCheck": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + }, + "mode": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Indicates what mode the product is expected to behave at boarding and transaction flows. Ex, Acquirer/Gateway/Other." + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "format": "uuid" + }, + "configurations": { + "type": "object", + "title": "ECheckConfig", + "properties": { + "common": { "type": "object", "properties": { - "globalPaymentInformation": { + "processors": { "type": "object", - "properties": { - "basicInformation": { - "type": "object", - "properties": { - "defaultStandardEntryClassCode": { - "type": "string" - }, - "defaultCountryCode": { - "type": "string", - "description": "ISO 4217 format" - }, - "defaultCurrencyCode": { - "type": "string", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" - }, - "defaultTransactionType": { - "type": "string", - "description": "Possible values:\n- AUTHORIZATION\n- SALE" - }, - "defaultPaymentType": { - "type": "string", - "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" - }, - "defaultTransactionSource": { - "type": "string" - }, - "displayRetail": { - "type": "boolean" - }, - "displayMoto": { - "type": "boolean" - }, - "displayInternet": { - "type": "boolean" - } + "additionalProperties": { + "type": "object", + "description": "Payment Processing connection used to support eCheck, aka ACH, payment methods. Example - \"bofaach\"", + "properties": { + "companyEntryDescription": { + "type": "string", + "maxLength": 10, + "description": "*EXISTING* Company (merchant) defined description of entry to receive. For e.g. PAYROLL, GAS BILL, INS PREM. This field is alphanumeric" + }, + "companyId": { + "type": "string", + "maxLength": 10, + "description": "*EXISTING* company ID assigned to merchant by Acquiring bank. This field is alphanumeric" + }, + "batchGroup": { + "type": "string", + "description": "*EXISTING* Capture requests are grouped into a batch bound for your payment processor. The batch time can be identified by reading the last 2-digits as military time. E.g., _16 = your processing cutoff is 4PM PST. Please note if you are in a different location you may then need to convert time zone as well." + }, + "enableAccuityForAvs": { + "type": "boolean", + "default": true, + "description": "*NEW* Accuity is the original validation service that checks the account/routing number for formatting issues. Used by WF and set to \"Yes\" unless told otherwise" + }, + "accuityCheckType": { + "type": "string", + "default": "ALWAYS", + "description": "*NEW* \nPossible values:\n- ALWAYS" + }, + "setCompletedState": { + "type": "boolean", + "default": false, + "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } }, - "paymentInformation": { + "required": [ + "companyEntryDescription" + ] + } + }, + "internalOnly": { + "type": "object", + "properties": { + "displayEcheckInfo": { + "type": "boolean", + "default": true, + "description": "*NEW* Used by EBC UI always set to true" + }, + "processors": { "type": "object", - "properties": { - "displayCardVerificationValue": { - "type": "array", - "items": { + "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": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "requireCardVerificationValue": { - "type": "array", - "items": { + "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", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" - } - }, - "acceptedCardTypes": { - "type": "array", - "items": { + "default": "CHECK", + "description": "*NEW* This is used by the EBC2 application" + }, + "settlementMethod": { "type": "string", - "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + "default": "BEST_GUESS", + "description": "*NEW* \nPossible values:\n- BEST_GUESS" + }, + "verificationLevel": { + "type": "string", + "default": "VALIDATION", + "description": "*NEW* \nPossible values:\n- VALIDATION" + }, + "setCompletedState": { + "type": "boolean", + "default": false, + "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } - }, - "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": { + "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": { - "header": { - "type": "object", - "properties": { - "virtualTerminalReceiptHeader": { - "type": "string" - } - } - }, - "orderInformation": { + "internalOnly": { "type": "object", "properties": { - "emailAliasName": { - "type": "string" - }, - "customReplyToEmailAddress": { - "type": "string" + "processors": { + "type": "object", + "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "bofaach", + "wellsfargoach" + ], + "type": "object", + "description": "Name of the payment processor. Example - \"wellsfargoach\"", + "properties": { + "avsVersion": { + "type": "string", + "default": "2", + "description": "*NEW* \nPossible values:\n- 2" + } + } + } } } }, - "emailReceipt": { + "processors": { "type": "object", - "properties": { - "sendersEmailAddress": { - "type": "string" + "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", + "additionalProperties": { + "type": "object", + "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"", + "properties": { + "avsAccountOwnershipService": { + "type": "boolean", + "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service." + }, + "avsAccountStatusService": { + "type": "boolean", + "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service." + }, + "avsSignedAgreement": { + "type": "boolean", + "description": "*NEW* Taken from Addendum Agreement Column in boarding form." + }, + "avsCalculatedResponseBehavior": { + "type": "string", + "default": "continue", + "description": "*NEW* \nPossible values:\n- continue" + }, + "avsAdditionalId": { + "type": "string", + "description": "*NEW* Also known as the Additional ID. Taken from the boarding form." + }, + "enableAvs": { + "type": "boolean", + "default": true, + "description": "*NEW*" + }, + "avsEntityId": { + "type": "string", + "description": "*NEW* Also known as the AVS Gateway Entity ID." + }, + "avsResultMode": { + "type": "string", + "description": "*NEW* \nPossible values:\n- FULL_RESPONSE\n- LOGIC_BOX" + }, + "enableAvsTokenCreation": { + "type": "boolean", + "default": false, + "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only." + } } } } @@ -115118,7 +123867,7 @@ } } }, - "currencyConversion": { + "payerAuthentication": { "type": "object", "properties": { "subscriptionInformation": { @@ -115143,268 +123892,373 @@ }, "configurations": { "type": "object", + "title": "PayerAuthConfig", "properties": { - "processors": { + "cardTypes": { "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" + "properties": { + "verifiedByVisa": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } } - } - } - } - } - } - } - } - } - }, - "tax": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } - }, - "customerInvoicing": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } - }, - "recurringBilling": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } - }, - "paymentOrchestration": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } - }, - "payouts": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "configurations": { - "type": "object", - "properties": { - "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." + }, + "masterCardSecureCode": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } } - } - } - }, - "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": { + }, + "amexSafeKey": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "jCBJSecure": { + "type": "object", + "properties": { + "securePasswordForJCB": { + "type": "string", + "minLength": 8, + "maxLength": 8, + "description": "JSecure currency password for Japan Credit Bureau" + }, + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "dinersClubInternationalProtectBuy": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { "type": "string", - "maxLength": 8 + "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" } - }, - "supportedCurrencies": { - "type": "array", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", - "items": { + } + } + } + } + }, + "ELO": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { "type": "string", - "maxLength": 3, - "minLength": 3 + "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 }, - "description": "TBD" + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } + } + }, + "CB": { + "type": "object", + "properties": { + "requestorId": { + "type": "string", + "minLength": 14, + "maxLength": 14, + "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." + }, + "enabled": { + "type": "boolean", + "default": true + }, + "currencies": { + "type": "array", + "items": { + "type": "object", + "properties": { + "currencyCodes": { + "type": "array", + "description": "Supported currency codes are numeric ISO 4217 codes, such as 840 for US Dollar and 978 for Euro. \nFor backward compatibility, we also support the 'ALL' code, which represents all currencies. \nIn the UI, 'ALL' is displayed as 'Default'.\n", + "example": [ + "ALL", + "840", + "978" + ], + "items": { + "type": "string", + "example": "ALL" + } + }, + "acquirerId": { + "type": "string", + "minLength": 6, + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]{6,20}$", + "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" + }, + "processorMerchantId": { + "type": "string", + "minLength": 6, + "maxLength": 35, + "pattern": "^[a-zA-Z0-9]{6,35}$", + "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" + } + } + } + } } } } @@ -115415,7 +124269,7 @@ } } }, - "differentialFee": { + "digitalPayments": { "type": "object", "properties": { "subscriptionInformation": { @@ -115431,13 +124285,18 @@ }, "features": { "type": "object", - "properties": { - "surcharge": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } + "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" } } } @@ -115446,61 +124305,7 @@ } } }, - "payByLink": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } - }, - "unifiedCheckout": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } - }, - "receivablesManager": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - } - } - }, - "serviceFee": { + "secureAcceptance": { "type": "object", "properties": { "subscriptionInformation": { @@ -115519,80 +124324,305 @@ "configurationInformation": { "type": "object", "properties": { + "templateId": { + "type": "string", + "format": "uuid" + }, "configurations": { "type": "object", + "title": "SAConfig", "properties": { - "products": { + "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": "Products enabled for this account. The following values are supported:\nvirtualTerminal\npaymentTokenizationOtp\nsubscriptionsOtp\nvirtualTerminalCp\neCheck\n", - "additionalProperties": { - "type": "object", - "properties": { - "serviceFeeEnabled": { - "type": "boolean", - "description": "Boolean flag to determine if service fee will be applied to the Product." + "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." + } } } } }, - "terminalId": { - "type": "string", - "pattern": "/^[a-zA-Z0-9]+$/", - "description": "Identifier of the terminal at the retail location.", - "maxLength": 8 + "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." + } + } }, - "merchantId": { - "type": "string", - "pattern": "/^[a-zA-Z0-9]+$/", - "description": "Identifier of a merchant account.", - "maxLength": 15 + "paymentMethods": { + "type": "object", + "properties": { + "enabledPaymentMethods": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- CARD\n- ECHECK\n- VISACHECKOUT\n- PAYPAL" + } + } + } }, - "merchantInformation": { + "checkout": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the merchant account.", - "maxLength": 25 + "displayTaxAmount": { + "type": "boolean", + "description": "Toggles whether or not the tax amount is displayed on the Hosted Checkout." }, - "contact": { + "templateType": { "type": "string", - "pattern": "/^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/", - "description": "Phone number of the primary contact for the merchant account." + "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" }, - "state": { + "returnToMerchantSiteUrl": { "type": "string", - "description": "2-character ISO code for the U.S. state in which the merchant is registered", - "maxLength": 2 + "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." } } }, - "paymentInformation": { - "type": "array", - "items": { - "type": "object", - "properties": { - "paymentType": { - "type": "string", - "description": "Payment types accepted by this merchant. The supported values are: MASTERDEBIT, MASTERCREDIT, VISACREDIT, VISADEBIT, DISCOVERCREDIT, AMEXCREDIT, ECHECK \nPossible values:\n- MASTERDEBIT\n- MASTERCREDIT\n- VISACREDIT\n- VISADEBIT\n- DISCOVERCREDIT\n- AMEXCREDIT\n- ECHECK" - }, - "feeType": { - "type": "string", - "description": "Fee type for the selected payment type. Supported values are: Flat or Percentage.\n \nPossible values:\n- FLAT\n- PERCENTAGE" - }, - "feeAmount": { - "type": "number", - "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", - "description": "Fee Amount of the selected payment type if you chose Flat fee type.\n" - }, - "percentage": { - "type": "number", - "description": "Percentage of the selected payment type if you chose Percentage Fee type. Supported values use numbers with decimals. For example, 1.0\n" - }, - "feeCap": { - "type": "number", - "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", - "description": "Fee cap for the selected payment type. Supported values use numbers with decimals. For example, 1.0\n" + "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" + } + } + } } } } @@ -115602,41 +124632,8 @@ } } } - } - } - }, - "risk": { - "title": "riskProducts", - "type": "object", - "properties": { - "fraudManagementEssentials": { - "type": "object", - "properties": { - "subscriptionInformation": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "templateId": { - "type": "string", - "format": "uuid" - } - } - } - } }, - "decisionManager": { + "virtualTerminal": { "type": "object", "properties": { "subscriptionInformation": { @@ -115661,206 +124658,429 @@ }, "configurations": { "type": "object", - "title": "DmConfig", + "title": "VTConfig", "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": { + "cardNotPresent": { "type": "object", "properties": { - "hideRiskMenus": { - "type": "boolean" + "globalPaymentInformation": { + "type": "object", + "properties": { + "basicInformation": { + "type": "object", + "properties": { + "defaultStandardEntryClassCode": { + "type": "string" + }, + "defaultCountryCode": { + "type": "string", + "description": "ISO 4217 format" + }, + "defaultCurrencyCode": { + "type": "string", + "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" + }, + "defaultTransactionType": { + "type": "string", + "description": "Possible values:\n- AUTHORIZATION\n- SALE" + }, + "defaultPaymentType": { + "type": "string", + "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" + }, + "defaultTransactionSource": { + "type": "string" + }, + "displayRetail": { + "type": "boolean" + }, + "displayMoto": { + "type": "boolean" + }, + "displayInternet": { + "type": "boolean" + } + } + }, + "paymentInformation": { + "type": "object", + "properties": { + "displayCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "requireCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "acceptedCardTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "displayCreditCards": { + "type": "boolean" + }, + "displayEchecks": { + "type": "boolean" + }, + "displayDebtIndicator": { + "type": "boolean" + }, + "displayBillPayment": { + "type": "boolean" + }, + "enableEchecks": { + "type": "boolean" + }, + "displayIgnoreECheckAvsCheckbox": { + "type": "boolean" + }, + "firstNameRequired": { + "type": "boolean" + }, + "lastNameRequired": { + "type": "boolean" + }, + "displayFirstName": { + "type": "boolean" + }, + "displayLastName": { + "type": "boolean" + } + } + }, + "merchantDefinedDataFields": { + "type": "object", + "properties": { + "displayMerchantDefinedData1": { + "type": "boolean" + }, + "displayMerchantDefinedData2": { + "type": "boolean" + }, + "displayMerchantDefinedData3": { + "type": "boolean" + }, + "displayMerchantDefinedData4": { + "type": "boolean" + }, + "displayMerchantDefinedData5": { + "type": "boolean" + }, + "merchantDefinedData1DefaultValue": { + "type": "string" + }, + "merchantDefinedData1Label": { + "type": "string" + }, + "requireMerchantDefinedData1": { + "type": "boolean" + }, + "merchantDefinedData2DefaultValue": { + "type": "string" + }, + "merchantDefinedData2Label": { + "type": "string" + }, + "requireMerchantDefinedData2": { + "type": "boolean" + }, + "merchantDefinedData3DefaultValue": { + "type": "string" + }, + "merchantDefinedData3Label": { + "type": "string" + }, + "requireMerchantDefinedData3": { + "type": "boolean" + }, + "merchantDefinedData4DefaultValue": { + "type": "string" + }, + "merchantDefinedData4Label": { + "type": "string" + }, + "requireMerchantDefinedData4": { + "type": "boolean" + }, + "merchantDefinedData5DefaultValue": { + "type": "string" + }, + "merchantDefinedData5Label": { + "type": "string" + }, + "requireMerchantDefinedData5": { + "type": "boolean" + }, + "merchantDefinedData1DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData2DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData3DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData4DisplayOnReceipt": { + "type": "boolean" + }, + "merchantDefinedData5DisplayOnReceipt": { + "type": "boolean" + } + } + } + } }, - "hideRiskTransactionData": { - "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" + } + } + } + } } } }, - "thirdparty": { + "cardPresent": { "type": "object", "properties": { - "provider": { + "globalPaymentInformation": { "type": "object", "properties": { - "accurint": { + "basicInformation": { "type": "object", "properties": { - "enabled": { + "defaultStandardEntryClassCode": { + "type": "string" + }, + "defaultCountryCode": { + "type": "string", + "description": "ISO 4217 format" + }, + "defaultCurrencyCode": { + "type": "string", + "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" + }, + "defaultTransactionType": { + "type": "string", + "description": "Possible values:\n- AUTHORIZATION\n- SALE" + }, + "defaultPaymentType": { + "type": "string", + "description": "Possible values:\n- CREDIT_CARD\n- ECHECK" + }, + "defaultTransactionSource": { + "type": "string" + }, + "displayRetail": { "type": "boolean" }, - "credentials": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - } - } + "displayMoto": { + "type": "boolean" + }, + "displayInternet": { + "type": "boolean" } } }, - "credilink": { + "paymentInformation": { "type": "object", "properties": { - "enabled": { + "displayCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "requireCardVerificationValue": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "acceptedCardTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Possible values:\n- VISA\n- MASTER_CARD\n- AMEX\n- DISCOVER\n- DINERS_CLUB\n- CARTE_BLANCHE\n- JCB\n- ENROUTE\n- JAL\n- SWITCH_SOLO\n- DELTA\n- VISA_ELECTRON\n- DANKORT\n- LASER\n- CARTE_SBANCAIRES\n- CARTASI\n- MAESTRO_INTERNATIONAL\n- GE_MONEY_UK_CARD\n- HIPER_CARD\n- ELO" + } + }, + "displayCreditCards": { "type": "boolean" }, - "enableRealTime": { + "displayEchecks": { "type": "boolean" }, - "useCybsCredentials": { + "displayDebtIndicator": { "type": "boolean" }, - "credentials": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "sigla": { - "type": "string" - } - } + "displayBillPayment": { + "type": "boolean" + }, + "enableEchecks": { + "type": "boolean" + }, + "displayIgnoreECheckAvsCheckbox": { + "type": "boolean" + }, + "firstNameRequired": { + "type": "boolean" + }, + "lastNameRequired": { + "type": "boolean" + }, + "displayFirstName": { + "type": "boolean" + }, + "displayLastName": { + "type": "boolean" } } }, - "ekata": { + "merchantDefinedDataFields": { "type": "object", "properties": { - "enabled": { + "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" }, - "enableRealTime": { + "merchantDefinedData5DefaultValue": { + "type": "string" + }, + "merchantDefinedData5Label": { + "type": "string" + }, + "requireMerchantDefinedData5": { "type": "boolean" }, - "useCybsCredentials": { + "merchantDefinedData1DisplayOnReceipt": { "type": "boolean" }, - "credentials": { - "type": "object", - "properties": { - "apiKey": { - "type": "string" - } - } - } - } - }, - "emailage": { - "type": "object", - "properties": { - "enabled": { + "merchantDefinedData2DisplayOnReceipt": { "type": "boolean" }, - "enableRealTime": { + "merchantDefinedData3DisplayOnReceipt": { "type": "boolean" }, - "useCybsCredentials": { + "merchantDefinedData4DisplayOnReceipt": { "type": "boolean" }, - "credentials": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - } - } + "merchantDefinedData5DisplayOnReceipt": { + "type": "boolean" } } - }, - "perseuss": { + } + } + }, + "receiptInformation": { + "type": "object", + "properties": { + "header": { "type": "object", "properties": { - "enabled": { - "type": "boolean" - }, - "enableRealTime": { - "type": "boolean" - }, - "credentials": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - } - } + "virtualTerminalReceiptHeader": { + "type": "string" } } }, - "signifyd": { + "orderInformation": { "type": "object", "properties": { - "enabled": { - "type": "boolean" + "emailAliasName": { + "type": "string" }, - "credentials": { - "type": "object", - "properties": { - "teamId": { - "type": "string" - }, - "apiKey": { - "type": "string" - }, - "secretKeyid": { - "type": "string" - }, - "secretKey": { - "type": "string" - } - } + "customReplyToEmailAddress": { + "type": "string" } } }, - "targus": { + "emailReceipt": { "type": "object", "properties": { - "enabled": { - "type": "boolean" - }, - "useCybsCredentials": { - "type": "boolean" - }, - "credentials": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "serviceId": { - "type": "string" - } - } + "sendersEmailAddress": { + "type": "string" } } } @@ -115873,14 +125093,8 @@ } } } - } - } - }, - "commerceSolutions": { - "title": "commerceSolutionsProducts", - "type": "object", - "properties": { - "tokenManagement": { + }, + "currencyConversion": { "type": "object", "properties": { "subscriptionInformation": { @@ -115906,305 +125120,23 @@ "configurations": { "type": "object", "properties": { - "parentProfileId": { - "type": "string", - "description": "Specify the Vault ID to which transacting MID needs to be assigned.Provide Vault ID as seen on EBC Vault management page. If not provided , transacting MID will be assigned to the existing default Vault at merchant's level. If there are no Vaults at merchant level , a new Vault will be created and transacting MID will be assigned to it." - }, - "vault": { - "type": "object", - "properties": { - "defaultTokenType": { - "type": "string", - "description": "Default token type to be used.\nPossible Values: \n - 'CUSTOMER'\n - 'PAYMENT_INSTRUMENT'\n - 'INSTRUMENT_IDENTIFIER'\n", - "example": "CUSTOMER" - }, - "location": { - "type": "string", - "description": "Location where the vault will be stored.\n\nUse 'IDC' (the Indian Data Centre) when merchant is storing token data in India or 'GDC' (the Global Data Centre) for all other cases.\n\nPossible Values: \n - 'IDC'\n - 'GDC'\n", - "example": "GDC" - }, - "tokenFormats": { - "title": "tmsTokenFormats", - "type": "object", - "properties": { - "customer": { - "type": "string", - "description": "Format for customer tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", - "example": "32_HEX" - }, - "paymentInstrument": { - "type": "string", - "description": "Format for payment instrument tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", - "example": "32_HEX" - }, - "instrumentIdentifierCard": { - "type": "string", - "description": "Format for card based instrument identifier tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '16_DIGIT_LAST_4'\n - '19_DIGIT'\n - '19_DIGIT_LAST_4'\n - '22_DIGIT'\n - '32_HEX'\n" - }, - "instrumentIdentifierBankAccount": { - "type": "string", - "description": "Format for bank account based instrument identifier tokens.\n\nPossible Values: \n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n" - } - } - }, - "tokenPermissions": { - "title": "TokenPermissions", - "type": "object", - "properties": { - "create": { - "type": "boolean", - "description": "Indicates if tokens may be created" - }, - "read": { - "type": "boolean", - "description": "Indicates if tokens may be read" - }, - "update": { - "type": "boolean", - "description": "Indicates if tokens may be updated" - }, - "delete": { - "type": "boolean", - "description": "Indicates if tokens may be deleted" - } - } - }, - "sensitivePrivileges": { - "title": "tmsSensitivePrivileges", - "type": "object", - "properties": { - "cardNumberMaskingFormat": { - "type": "string", - "description": "Indicates which digits of the card number will be unmasked.\n\nPossible Values: \n - 'FIRST_6_LAST_4'\n - 'LAST_4'\n - 'MASKED'\n" - } - } - }, - "nullify": { - "title": "tmsNullify", - "type": "object", - "properties": { - "instrumentIdentifierCardNumber": { - "type": "boolean", - "description": "Indicates if the card number should be nullified (i.e. not stored)" - }, - "instrumentIdentifierCardExpiration": { - "type": "boolean", - "description": "Indicates if the expiration date associated to the instrument identifier should be nullified (i.e. not stored)" - }, - "paymentInstrumentCardDetails": { - "type": "boolean", - "description": "Indicates if the card details should be nullified (i.e. not stored)" - } - } - }, - "networkTokenServices": { - "title": "tmsNetworkTokenServices", - "type": "object", - "properties": { - "notifications": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if lifecycle management (LCM) notifications are enabled" - } - } - }, - "paymentCredentials": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if Payment Credentials are enabled. If enabled, this provides access to the unredacted token and its associated cryptogram." - } - } - }, - "synchronousProvisioning": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates if network tokens are provisioned synchronously (i.e. as part of the transaction flow) or asychronously (i.e. in parallel to the payment flow)\n\nNOTE: The synchronous provisioning feature is designed exclusively for aggregator merchants.\n\nDirect merchants should not enable synchronous provisioning as TMS manages the asynchronous creation of network tokens for direct clients. \n\nActivation of this feature by direct merchants will lead to latency in the authorization response.\n" - } - } - }, - "visaTokenService": { - "type": "object", - "properties": { - "enableService": { - "type": "boolean", - "description": "Indicates if the service for network tokens for the Visa card association are enabled" - }, - "enableTransactionalTokens": { - "type": "boolean", - "description": "Indicates if network tokens for the Visa card association are enabled for transactions" - }, - "tokenRequestorId": { - "type": "string", - "description": "Token Requestor ID provided by Visa during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"40000000082\"\n", - "pattern": "^[0-9]{11}\\\\z$\"", - "minLength": 11, - "maxLength": 11 - }, - "relationshipId": { - "type": "string", - "description": "Relationship ID provided by visa\n\nMin Length: 1\nMax Length: 100\nExample: \"24681921-40000000082\"\n", - "minLength": 1, - "maxLength": 100 - } - } - }, - "mastercardDigitalEnablementService": { - "type": "object", - "properties": { - "enableService": { - "type": "boolean", - "description": "Indicates if the service for network tokens for the Mastercard card association are enabled" - }, - "enableTransactionalTokens": { - "type": "boolean", - "description": "Indicates if network tokens for the Mastercard card association are enabled for transactions" - }, - "tokenRequestorId": { - "type": "string", - "description": "Token Requestor ID provided by Mastercard during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"50162233570\"\n", - "pattern": "^[0-9]{11}\\\\z$\"", - "minLength": 11, - "maxLength": 11 - } - } - }, - "americanExpressTokenService": { - "type": "object", - "properties": { - "enableService": { - "type": "boolean", - "description": "Indicates if the service for network tokens for the American Express card association are enabled" - }, - "enableTransactionalTokens": { - "type": "boolean", - "description": "Indicates if network tokens for the American Express card association are enabled for transactions" - }, - "tokenRequestorId": { - "type": "string", - "description": "Token Requestor ID provided by American Express during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"12345678912\"\n", - "pattern": "^[0-9]{11}\\\\z$\"", - "minLength": 11, - "maxLength": 11 - }, - "seNumber": { - "type": "string", - "minLength": 10, - "maxLength": 10, - "pattern": "^[0-9]{11}\\z$", - "description": "SE Number assigned by American Express for the merchant's account\n\nPattern: \"^[0-9]{11}\\\\z$\"\nMin Length: 10\nMax Length: 10\nExample: \"9876543212\"\n" - } - } - } - } - } - } - }, - "networkTokenEnrollment": { - "title": "networkTokenEnrollment", + "processors": { "type": "object", - "properties": { - "businessInformation": { - "title": "tmsBusinessInformation", - "type": "object", - "properties": { - "name": { - "type": "string", - "maxLength": 60, - "minLength": 1, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "description": "Name of the network token merchant.", - "example": "NetworkTokenMerchant" - }, - "doingBusinessAs": { - "type": "string", - "maxLength": 60, - "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", - "description": "Name the network token merchant does business as", - "example": "NetworkTokenCo1" - }, - "address": { - "type": "object", - "properties": { - "country": { - "type": "string", - "maxLength": 2, - "minLength": 2, - "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", - "description": "Country of network token merchant.", - "example": "US" - }, - "locality": { - "type": "string", - "maxLength": 50, - "minLength": 1, - "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", - "description": "City of network token merchant.", - "example": "ORMOND BEACH" - } - } - }, - "websiteUrl": { - "type": "string", - "maxLength": 100, - "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac.\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", - "description": "Website of network token merchant.", - "example": "https://www.NetworkTokenMerchant.com" - }, - "businessIdentificationType": { - "type": "string", - "description": "The Identifier associated with the business type; required unless both acquirerId and acquirerMerchantId are provided.\n", - "maxLength": 15 - }, - "businessIdentificationValue": { - "type": "string", - "description": "The value associated with the business identifier type; required unless both acquirerId and acquirerMerchantId are provided.\n", - "maxLength": 25 - }, - "acquirer": { - "type": "object", - "properties": { - "acquirerId": { - "type": "string", - "description": "Acquirer ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", - "maxLength": 15 - }, - "acquirerMerchantId": { - "type": "string", - "description": "Acquirer merchant ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", - "maxLength": 25 - } - } - } - } - }, - "networkTokenServices": { - "title": "NetworkTokenServicesEnablement", - "type": "object", - "properties": { - "visaTokenService": { - "type": "object", - "properties": { - "enrollment": { - "type": "boolean", - "description": "Indicates if an enrollment to create a TRID for the Visa card association should be attempted" - } - } - }, - "mastercardDigitalEnablementService": { - "type": "object", - "properties": { - "enrollment": { - "type": "boolean", - "description": "Indicates if an enrollment to create a TRID for the MasterCard card association should be attempted" - } - } - } + "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" } } } @@ -116215,7 +125147,79 @@ } } }, - "accountUpdater": { + "tax": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + }, + "customerInvoicing": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + }, + "recurringBilling": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + }, + "paymentOrchestration": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + }, + "payouts": { "type": "object", "properties": { "subscriptionInformation": { @@ -116234,81 +125238,152 @@ "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": { + "pullfunds": { "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" + "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." + } } - }, - "required": [ - "merchantId", - "segmentId" - ] + } }, - "amex": { + "pushfunds": { "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" + "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" + } } } - }, - "preferredDay": { - "type": "number", - "minimum": 1, - "maximum": 28 - }, - "daysWindow": { - "type": "number", - "minimum": 1, - "maximum": 3650, - "default": 31 } } } @@ -116316,7 +125391,7 @@ } } }, - "binLookup": { + "differentialFee": { "type": "object", "properties": { "subscriptionInformation": { @@ -116329,36 +125404,25 @@ "type": "string", "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" - } - } - }, - "configurationInformation": { - "type": "object", - "properties": { - "configurations": { + }, + "features": { "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" + "surcharge": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } } } } } } } - } - } - }, - "valueAddedServices": { - "title": "valueAddedServicesProducts", - "type": "object", - "properties": { - "reporting": { + }, + "payByLink": { "type": "object", "properties": { "subscriptionInformation": { @@ -116376,7 +125440,7 @@ } } }, - "transactionSearch": { + "unifiedCheckout": { "type": "object", "properties": { "subscriptionInformation": { @@ -116393,784 +125457,944 @@ } } } - } - } - } - } - } - } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } + }, + "receivablesManager": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } + } + }, + "serviceFee": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } - } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { + }, + "configurationInformation": { + "type": "object", + "properties": { + "configurations": { + "type": "object", + "properties": { + "products": { "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, + "description": "Products enabled for this account. The following values are supported:\nvirtualTerminal\npaymentTokenizationOtp\nsubscriptionsOtp\nvirtualTerminalCp\neCheck\n", "additionalProperties": { - "type": "string" + "type": "object", + "properties": { + "serviceFeeEnabled": { + "type": "boolean", + "description": "Boolean flag to determine if service fee will be applied to the Product." + } + } } - } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { + }, + "terminalId": { + "type": "string", + "pattern": "/^[a-zA-Z0-9]+$/", + "description": "Identifier of the terminal at the retail location.", + "maxLength": 8 + }, + "merchantId": { + "type": "string", + "pattern": "/^[a-zA-Z0-9]+$/", + "description": "Identifier of a merchant account.", + "maxLength": 15 + }, + "merchantInformation": { "type": "object", "properties": { - "field": { - "type": "string" + "name": { + "type": "string", + "description": "Name of the merchant account.", + "maxLength": 25 }, - "reason": { + "contact": { "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "pattern": "/^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/", + "description": "Phone number of the primary contact for the merchant account." + }, + "state": { + "type": "string", + "description": "2-character ISO code for the U.S. state in which the merchant is registered", + "maxLength": 2 + } + } + }, + "paymentInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "paymentType": { + "type": "string", + "description": "Payment types accepted by this merchant. The supported values are: MASTERDEBIT, MASTERCREDIT, VISACREDIT, VISADEBIT, DISCOVERCREDIT, AMEXCREDIT, ECHECK \nPossible values:\n- MASTERDEBIT\n- MASTERCREDIT\n- VISACREDIT\n- VISADEBIT\n- DISCOVERCREDIT\n- AMEXCREDIT\n- ECHECK" + }, + "feeType": { + "type": "string", + "description": "Fee type for the selected payment type. Supported values are: Flat or Percentage.\n \nPossible values:\n- FLAT\n- PERCENTAGE" + }, + "feeAmount": { + "type": "number", + "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", + "description": "Fee Amount of the selected payment type if you chose Flat fee type.\n" + }, + "percentage": { + "type": "number", + "description": "Percentage of the selected payment type if you chose Percentage Fee type. Supported values use numbers with decimals. For example, 1.0\n" + }, + "feeCap": { + "type": "number", + "pattern": "/^\\d{0,8}(\\.\\d{0,2})?$/", + "description": "Fee cap for the selected payment type. Supported values use numbers with decimals. For example, 1.0\n" + } } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } + } + } + } + }, + "risk": { + "title": "riskProducts", + "type": "object", + "properties": { + "fraudManagementEssentials": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "format": "uuid" + } + } + } + } + }, + "decisionManager": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "format": "uuid" + }, + "configurations": { + "type": "object", + "title": "DmConfig", + "properties": { + "processingOptions": { "type": "object", "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "stepUpAuthEnabled": { + "type": "boolean" } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { + }, + "organization": { "type": "object", "properties": { - "field": { - "type": "string" - }, - "reason": { + "hierarchyGroup": { "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "description": "Must be one of the following : NO_GROUP, INCLUDE_IN_PARENTS_GROUP\n", + "example": "NO_GROUP" } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { + }, + "portfolioControls": { "type": "object", "properties": { - "field": { - "type": "string" + "hideRiskMenus": { + "type": "boolean" }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "hideRiskTransactionData": { + "type": "boolean" } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { + }, + "thirdparty": { "type": "object", "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "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" + } + } + } + } + } + } } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } + } + } + } + }, + "commerceSolutions": { + "title": "commerceSolutionsProducts", + "type": "object", + "properties": { + "tokenManagement": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } - } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { + }, + "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." + }, + "vault": { "type": "object", "properties": { - "field": { - "type": "string" + "defaultTokenType": { + "type": "string", + "description": "Default token type to be used.\nPossible Values: \n - 'CUSTOMER'\n - 'PAYMENT_INSTRUMENT'\n - 'INSTRUMENT_IDENTIFIER'\n", + "example": "CUSTOMER" }, - "reason": { + "location": { "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "description": "Location where the vault will be stored.\n\nUse 'IDC' (the Indian Data Centre) when merchant is storing token data in India or 'GDC' (the Global Data Centre) for all other cases.\n\nPossible Values: \n - 'IDC'\n - 'GDC'\n", + "example": "GDC" + }, + "tokenFormats": { + "title": "tmsTokenFormats", + "type": "object", + "properties": { + "customer": { + "type": "string", + "description": "Format for customer tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", + "example": "32_HEX" + }, + "paymentInstrument": { + "type": "string", + "description": "Format for payment instrument tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n", + "example": "32_HEX" + }, + "instrumentIdentifierCard": { + "type": "string", + "description": "Format for card based instrument identifier tokens.\n\nPossible Values:\n - '16_DIGIT'\n - '16_DIGIT_LAST_4'\n - '19_DIGIT'\n - '19_DIGIT_LAST_4'\n - '22_DIGIT'\n - '32_HEX'\n" + }, + "instrumentIdentifierBankAccount": { + "type": "string", + "description": "Format for bank account based instrument identifier tokens.\n\nPossible Values: \n - '16_DIGIT'\n - '19_DIGIT'\n - '22_DIGIT'\n - '32_HEX'\n" + } + } + }, + "tokenPermissions": { + "title": "TokenPermissions", + "type": "object", + "properties": { + "create": { + "type": "boolean", + "description": "Indicates if tokens may be created" + }, + "read": { + "type": "boolean", + "description": "Indicates if tokens may be read" + }, + "update": { + "type": "boolean", + "description": "Indicates if tokens may be updated" + }, + "delete": { + "type": "boolean", + "description": "Indicates if tokens may be deleted" + } + } + }, + "sensitivePrivileges": { + "title": "tmsSensitivePrivileges", + "type": "object", + "properties": { + "cardNumberMaskingFormat": { + "type": "string", + "description": "Indicates which digits of the card number will be unmasked.\n\nPossible Values: \n - 'FIRST_6_LAST_4'\n - 'LAST_4'\n - 'MASKED'\n" + } + } + }, + "nullify": { + "title": "tmsNullify", + "type": "object", + "properties": { + "instrumentIdentifierCardNumber": { + "type": "boolean", + "description": "Indicates if the card number should be nullified (i.e. not stored)" + }, + "instrumentIdentifierCardExpiration": { + "type": "boolean", + "description": "Indicates if the expiration date associated to the instrument identifier should be nullified (i.e. not stored)" + }, + "paymentInstrumentCardDetails": { + "type": "boolean", + "description": "Indicates if the card details should be nullified (i.e. not stored)" + } + } + }, + "networkTokenServices": { + "title": "tmsNetworkTokenServices", + "type": "object", + "properties": { + "notifications": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if lifecycle management (LCM) notifications are enabled" + } + } + }, + "paymentCredentials": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if Payment Credentials are enabled. If enabled, this provides access to the unredacted token and its associated cryptogram." + } + } + }, + "synchronousProvisioning": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if network tokens are provisioned synchronously (i.e. as part of the transaction flow) or asychronously (i.e. in parallel to the payment flow)\n\nNOTE: The synchronous provisioning feature is designed exclusively for aggregator merchants.\n\nDirect merchants should not enable synchronous provisioning as TMS manages the asynchronous creation of network tokens for direct clients. \n\nActivation of this feature by direct merchants will lead to latency in the authorization response.\n" + } + } + }, + "visaTokenService": { + "type": "object", + "properties": { + "enableService": { + "type": "boolean", + "description": "Indicates if the service for network tokens for the Visa card association are enabled" + }, + "enableTransactionalTokens": { + "type": "boolean", + "description": "Indicates if network tokens for the Visa card association are enabled for transactions" + }, + "tokenRequestorId": { + "type": "string", + "description": "Token Requestor ID provided by Visa during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"40000000082\"\n", + "pattern": "^[0-9]{11}\\\\z$\"", + "minLength": 11, + "maxLength": 11 + }, + "relationshipId": { + "type": "string", + "description": "Relationship ID provided by visa\n\nMin Length: 1\nMax Length: 100\nExample: \"24681921-40000000082\"\n", + "minLength": 1, + "maxLength": 100 + } + } + }, + "mastercardDigitalEnablementService": { + "type": "object", + "properties": { + "enableService": { + "type": "boolean", + "description": "Indicates if the service for network tokens for the Mastercard card association are enabled" + }, + "enableTransactionalTokens": { + "type": "boolean", + "description": "Indicates if network tokens for the Mastercard card association are enabled for transactions" + }, + "tokenRequestorId": { + "type": "string", + "description": "Token Requestor ID provided by Mastercard during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"50162233570\"\n", + "pattern": "^[0-9]{11}\\\\z$\"", + "minLength": 11, + "maxLength": 11 + } + } + }, + "americanExpressTokenService": { + "type": "object", + "properties": { + "enableService": { + "type": "boolean", + "description": "Indicates if the service for network tokens for the American Express card association are enabled" + }, + "enableTransactionalTokens": { + "type": "boolean", + "description": "Indicates if network tokens for the American Express card association are enabled for transactions" + }, + "tokenRequestorId": { + "type": "string", + "description": "Token Requestor ID provided by American Express during the registration process for the Tokenization Service\n\nPattern: ^[0-9]{11}\\\\z$\"\nMin Length: 11\nMax Length: 11\nExample: \"12345678912\"\n", + "pattern": "^[0-9]{11}\\\\z$\"", + "minLength": 11, + "maxLength": 11 + }, + "seNumber": { + "type": "string", + "minLength": 10, + "maxLength": 10, + "pattern": "^[0-9]{11}\\z$", + "description": "SE Number assigned by American Express for the merchant's account\n\nPattern: \"^[0-9]{11}\\\\z$\"\nMin Length: 10\nMax Length: 10\nExample: \"9876543212\"\n" + } + } + } + } } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { + }, + "networkTokenEnrollment": { + "title": "networkTokenEnrollment", "type": "object", "properties": { - "field": { - "type": "string" + "businessInformation": { + "title": "tmsBusinessInformation", + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 60, + "minLength": 1, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "description": "Name of the network token merchant.", + "example": "NetworkTokenMerchant" + }, + "doingBusinessAs": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", + "description": "Name the network token merchant does business as", + "example": "NetworkTokenCo1" + }, + "address": { + "type": "object", + "properties": { + "country": { + "type": "string", + "maxLength": 2, + "minLength": 2, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", + "description": "Country of network token merchant.", + "example": "US" + }, + "locality": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", + "description": "City of network token merchant.", + "example": "ORMOND BEACH" + } + } + }, + "websiteUrl": { + "type": "string", + "maxLength": 100, + "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac.\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", + "description": "Website of network token merchant.", + "example": "https://www.NetworkTokenMerchant.com" + }, + "businessIdentificationType": { + "type": "string", + "description": "The Identifier associated with the business type; required unless both acquirerId and acquirerMerchantId are provided.\n", + "maxLength": 15 + }, + "businessIdentificationValue": { + "type": "string", + "description": "The value associated with the business identifier type; required unless both acquirerId and acquirerMerchantId are provided.\n", + "maxLength": 25 + }, + "acquirer": { + "type": "object", + "properties": { + "acquirerId": { + "type": "string", + "description": "Acquirer ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", + "maxLength": 15 + }, + "acquirerMerchantId": { + "type": "string", + "description": "Acquirer merchant ID; required unless both businessIdentificationType and businessIdentificationValue are provided.\n", + "maxLength": 25 + } + } + } + } }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "networkTokenServices": { + "title": "NetworkTokenServicesEnablement", + "type": "object", + "properties": { + "visaTokenService": { + "type": "object", + "properties": { + "enrollment": { + "type": "boolean", + "description": "Indicates if an enrollment to create a TRID for the Visa card association should be attempted" + } + } + }, + "mastercardDigitalEnablementService": { + "type": "object", + "properties": { + "enrollment": { + "type": "boolean", + "description": "Indicates if an enrollment to create a TRID for the MasterCard card association should be attempted" + } + } + } + } } - }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { + } + }, + "accountUpdater": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "templateId": { + "type": "string", + "format": "uuid" + }, + "configurations": { + "type": "object", + "properties": { + "masterCard": { "type": "object", "properties": { - "field": { - "type": "string" + "merchantId": { + "type": "string", + "description": "MasterCard merchant identified number" }, - "reason": { + "interbankCardAssociationNumber": { "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "description": "Number assigned by MasterCard to a financial institution, third-party processor or other member to identify the member in transaction." + }, + "active": { + "type": "boolean" } }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { + "required": [ + "merchantId", + "interbankCardAssociationNumber" + ] + }, + "visa": { "type": "object", "properties": { - "field": { - "type": "string" + "merchantId": { + "type": "string", + "description": "Visa merchant identified number" }, - "reason": { + "segmentId": { "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "description": "Visa assigned segment ID for each group of merchants participating in VAU." + }, + "active": { + "type": "boolean" } }, - "additionalProperties": { - "type": "string" + "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 } - }, - "message": { - "type": "string" } } } } - }, - "recurringBilling": { + } + }, + "binLookup": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + }, + "configurationInformation": { + "type": "object", + "properties": { + "configurations": { + "type": "object", + "properties": { + "isPayoutOptionsEnabled": { + "type": "boolean", + "description": "This flag indicates if the merchant is configured to make payout calls" + }, + "isAccountPrefixEnabled": { + "type": "boolean", + "description": "This flag indicates if the merchant is configured to receive account prefix" + } + } + } + } + } + } + } + } + }, + "valueAddedServices": { + "title": "valueAddedServicesProducts", + "type": "object", + "properties": { + "reporting": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + }, + "transactionSearch": { + "type": "object", + "properties": { + "subscriptionInformation": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "selfServiceability": { + "type": "string", + "default": "NOT_SELF_SERVICEABLE", + "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" + } + } + } + } + } + } + } + } + } + } + }, + "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": { @@ -117259,7 +126483,7 @@ } } }, - "cybsReadyTerminal": { + "cardPresentConnect": { "type": "object", "properties": { "subscriptionStatus": { @@ -117348,50 +126572,7 @@ } } }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } - }, - "payouts": { + "eCheck": { "type": "object", "properties": { "subscriptionStatus": { @@ -117480,136 +126661,7 @@ } } }, - "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } - }, - "serviceFee": { + "payerAuthentication": { "type": "object", "properties": { "subscriptionStatus": { @@ -117642,84 +126694,36 @@ }, "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "reason": { - "type": "string", - "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" - } - }, - "additionalProperties": { - "type": "string" - } - } - }, - "message": { - "type": "string" - } - } - } - } - } - } - }, - "risk": { - "type": "object", - "properties": { - "fraudManagementEssentials": { - "type": "object", - "properties": { - "subscriptionStatus": { + } + } + }, + "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" }, "reason": { "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" }, "details": { "type": "array", @@ -117743,29 +126747,26 @@ "type": "string" } } - }, - "configurationStatus": { + } + } + }, + "digitalPayments": { + "type": "object", + "properties": { + "subscriptionStatus": { "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" }, "reason": { "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" }, "details": { "type": "array", @@ -117792,7 +126793,7 @@ } } }, - "decisionManager": { + "secureAcceptance": { "type": "object", "properties": { "subscriptionStatus": { @@ -117880,13 +126881,8 @@ } } } - } - } - }, - "commerceSolutions": { - "type": "object", - "properties": { - "tokenManagement": { + }, + "virtualTerminal": { "type": "object", "properties": { "subscriptionStatus": { @@ -117975,7 +126971,7 @@ } } }, - "accountUpdater": { + "currencyConversion": { "type": "object", "properties": { "subscriptionStatus": { @@ -118064,7 +127060,7 @@ } } }, - "binLookup": { + "tax": { "type": "object", "properties": { "subscriptionStatus": { @@ -118104,29 +127100,26 @@ "type": "string" } } - }, - "configurationStatus": { + } + } + }, + "customerInvoicing": { + "type": "object", + "properties": { + "subscriptionStatus": { "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", - "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" }, "reason": { "type": "string", - "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" }, "details": { "type": "array", @@ -118152,13 +127145,8 @@ } } } - } - } - }, - "valueAddedServices": { - "type": "object", - "properties": { - "reporting": { + }, + "recurringBilling": { "type": "object", "properties": { "subscriptionStatus": { @@ -118198,26 +127186,29 @@ "type": "string" } } - } - } - }, - "transactionSearch": { - "type": "object", - "properties": { - "subscriptionStatus": { + }, + "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", - "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" }, "reason": { "type": "string", - "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" }, "details": { "type": "array", @@ -118242,1723 +127233,1083 @@ } } } - } - } - } - } - } - } - } - } - }, - "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-time", - "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", - "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" - }, - "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-time", - "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", - "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" - }, - "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-time", - "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", - "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" - }, - "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" + "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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + } + }, + "additionalProperties": { + "type": "string" + } + } + }, + "message": { + "type": "string" + } + } + } + } + }, + "serviceFee": { + "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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + } + }, + "additionalProperties": { + "type": "string" + } + } + }, + "message": { + "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." + "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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- PARTIAL\n- PENDING\n- NOT_SETUP" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- PENDING_PROVISIONING_PROCESS\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD\n- NOT_APPLICABLE" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + } + }, + "additionalProperties": { + "type": "string" + } + } + }, + "message": { + "type": "string" + } + } + } + } + } + } }, - "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" + "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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- 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", + "description": "Possible values:\n- SUCCESS\n- FAILURE\n- PARTIAL\n- PENDING" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- DEPENDENT_PRODUCT_NOT_CONTRACTED\n- DEPENDENT_FEATURE_NOT_CHOSEN\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "reason": { + "type": "string", + "description": "Possible values:\n- MISSING_DATA\n- INVALID_DATA\n- DUPLICATE_FIELD" + } + }, + "additionalProperties": { + "type": "string" + } + } + }, + "message": { + "type": "string" + } + } + } + } + } + } + } + } } } } }, - "retryPolicy": { + "documentInformation": { "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.", + "signedDocuments": { "type": "array", "items": { "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "documentId": { + "type": "string", + "maxLength": 200, + "example": "TCProcessing" + } } } } } }, - "securityPolicy": { + "details": { "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.", + "additionalProperties": { + "type": "array", + "items": { "type": "object", "properties": { - "oAuthTokenExpiry": { + "field": { + "type": "string", + "description": "This is the flattened JSON object field name/path that is either missing or invalid." + }, + "reason": { "type": "string", - "description": "Token expiration for the oAuth server." + "description": "Possible reasons for the error.", + "example": "MISSING_FIELD" }, - "oAuthURL": { + "value": { "type": "string", - "description": "Client direct endpoint to the oAuth server." + "example": "abc123" }, - "oAuthTokenType": { + "reference": { "type": "string", - "description": "Token type for the oAuth config." + "example": "xyz" } } - } - }, - "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" - } + }, + "x-devcenter-additional-properties": [ + "organizationInformation", + "productInformation" + ] } } - }, - "example": { - "status": "ACTIVE" } } - } - ], - "responses": { - "200": { - "description": "Updated" - }, - "401": { - "description": "Unauthorized" }, - "404": { - "description": "Not found", + "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-time", + "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", + "description": "The http status description of the submitted request.", + "example": "BAD_REQUEST" + }, "reason": { - "type": "string" + "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" }, "message": { - "type": "string" + "type": "string", + "description": "Descriptive message for the error." }, "details": { "type": "array", @@ -119966,10 +128317,13 @@ "type": "object", "properties": { "field": { - "type": "string" + "type": "string", + "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "reason": { - "type": "string" + "type": "string", + "description": "Possible reasons for the error.", + "example": "MISSING_FIELD" } } } @@ -119977,486 +128331,102 @@ } } }, - "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", + "404": { + "description": "Resource Not Found", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, "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": { + "submitTimeUtc": { "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" - } - } - } + "format": "date-time", + "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", - "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." + "description": "The http status description of the submitted request.", + "example": "NOT_FOUND" }, - "createdOn": { + "reason": { "type": "string", - "description": "Date on which webhook was created/registered." + "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" }, - "updatedOn": { + "message": { "type": "string", - "description": "Date on which webhook was most recently updated." + "description": "Descriptive message for the error." }, - "additionalAttributes": { - "description": "Additional, free form configuration data.", + "details": { "type": "array", "items": { "type": "object", - "additionalProperties": { - "type": "string" + "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" + } } } } - }, - "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", + "description": "Internal Server error", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, "schema": { "type": "object", "properties": { - "byTransactionTraceIdentifiers": { - "type": "array", - "items": { - "type": "string", - "description": "Array list of webhook trace identifiers that would be replayed." - } + "submitTimeUtc": { + "type": "string", + "format": "date-time", + "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 }, - "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" + "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" + }, + "message": { + "type": "string", + "description": "Descriptive message for the error." } } } } - ], - "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": { + "/kms/egress/v2/keys-sym": { "post": { "tags": [ - "Manage Webhooks" - ], - "consumes": [ - "application/json;charset=utf-8" - ], - "produces": [ - "application/json;charset=utf-8" + "Create New Webhooks" ], - "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", + "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. Remember 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", @@ -120485,20 +128455,15 @@ "type": "string" }, { - "name": "SaveAsymEgressKey", + "name": "SaveSymEgressKey", "in": "body", - "description": "Provide egress Asymmetric key information to save (create or store)", - "required": true, + "description": "Provide egress Symmetric key information to save (create or store or refresh)", "schema": { "type": "object", - "required": [ - "clientRequestAction", - "keyInformation" - ], "properties": { "clientReferenceInformation": { - "description": "Client object", "type": "object", + "description": "Object for client references.", "properties": { "code": { "type": "string", @@ -120513,7 +128478,7 @@ }, "keyInformation": { "type": "object", - "description": "Egress Asymmetric Key Information Request\n", + "description": "Egress Key Information Request\n", "properties": { "provider": { "type": "string", @@ -120531,17 +128496,17 @@ "type": "string", "description": "Organization Id\n" }, - "pub": { + "clientKeyId": { "type": "string", - "description": "Public certificate with only base64 encoded payload and not the header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" + "description": "Client key Id\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, - "pvt": { + "key": { "type": "string", - "description": "Private certificate with only base64 encoded payload and not header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" + "description": "Value of the key\n" }, "status": { "type": "string", @@ -120562,7 +128527,7 @@ "description": "Successful Response", "schema": { "type": "object", - "description": "Egress Asymmetric Key Information Response.\n", + "description": "Egress Key Information Response\n", "properties": { "submitTimeUtc": { "type": "string", @@ -120583,6 +128548,270 @@ } } }, + "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" + } + } + } + }, + "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 + } + } + }, + "/notification-subscriptions/v1/webhooks/{webhookId}": { + "post": { + "tags": [ + "Manage Webhooks" + ], + "summary": "Test a Webhook Configuration", + "description": "Test the webhook configuration by sending a sample webhook. Calling this endpoint sends a sample webhook to the endpoint identified in the user's subscription. \n\nIt will contain sample values for the product & eventType based on values present in your subscription along with a sample message in the payload. \n\nBased on the webhook response users can make any necessary modifications or rest assured knowing their setup is configured correctly.\n", + "parameters": [ + { + "name": "webhookId", + "in": "path", + "type": "string", + "description": "The Webhook Identifier.", + "required": true + } + ], + "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 + }, + "responses": { + "201": { + "description": "Created", + "schema": { + "type": "object", + "properties": { + "eventDate": { + "type": "string", + "description": "Date that the webhook was delivered" + }, + "eventType": { + "type": "string", + "description": "The event name the webhook was delivered for" + }, + "organizationId": { + "type": "string", + "description": "The Organization Identifier." + }, + "payloads": { + "type": "object", + "properties": { + "testPayload": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "The test message delivered in the webhook", + "example": "Yay! Your webhook integration worked! This is only a test and an example of what a webhook message payload looks like. Thank you for using our test feature." + } + } + } + } + }, + "productId": { + "type": "string", + "description": "The product the webhook was delivered for" + }, + "requestType": { + "type": "string", + "description": "Identifies the the type of request" + }, + "retryNumber": { + "type": "integer", + "description": "The number of retry attempts for a given webhook" + }, + "transactionTraceId": { + "type": "string", + "description": "The identifier for the webhook" + }, + "webhookId": { + "type": "string", + "description": "The identifier of the subscription" + } + } + } + } + } + } + }, + "/kms/egress/v2/keys-asym": { + "post": { + "tags": [ + "Manage Webhooks" + ], + "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", + "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", @@ -120627,6 +128856,25 @@ } } } + } + ], + "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" + } + } + } }, "400": { "description": "Bad Request" @@ -120653,6 +128901,14 @@ } } } + }, + "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 } } }, @@ -120711,7 +128967,7 @@ "items": { "type": "string" }, - "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Unified Checkout:\n - APPLEPAY\n - CHECK\n - CLICKTOPAY\n - GOOGLEPAY\n - PANENTRY \n - PAZE

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

\n\n**Important:** \n - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards.\n - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester.\n - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field.\n" + "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Unified Checkout:\n - APPLEPAY\n - CHECK\n - CLICKTOPAY\n - GOOGLEPAY\n - PANENTRY \n - PAZE

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

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

\n\n**Managing Google Pay Authentication Types**\nWhen you enable Google Pay on Unified Checkout you can specify optional parameters that define the types of card authentication you receive from Google Pay.\n" }, "country": { "type": "string", @@ -121113,6 +129369,67 @@ } }, "example1": { + "summary": "Generate Unified Checkout Capture Context With Custom Payment Options", + "value": { + "clientVersion": "0.24", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX", + "CARNET", + "CARTESBANCAIRES", + "CUP", + "DINERSCLUB", + "DISCOVER", + "EFTPOS", + "ELO", + "JCB", + "JCREW", + "MADA", + "MAESTRO", + "MEEZA" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + { + "type": "GOOGLEPAY", + "options": { + "allowedAuthMethods": [ + "PAN_ONLY", + "CRYPTOGRAM_3DS" + ] + } + }, + "PANENTRY", + "PAZE" + ], + "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" + } + } + } + }, + "example2": { "summary": "Generate Unified Checkout Capture Context (Opt-out of receiving card number prefix)", "value": { "clientVersion": "0.24", @@ -121168,7 +129485,7 @@ } } }, - "example2": { + "example3": { "summary": "Generate Unified Checkout Capture Context passing Billing & Shipping", "value": { "clientVersion": "0.24", @@ -121268,7 +129585,7 @@ } } }, - "example3": { + "example4": { "summary": "Generate Capture Context For Click To Pay Drop-In UI", "value": { "clientVersion": "0.24", From d58bf976c3b5d3388347419d43ba4eddf31de994 Mon Sep 17 00:00:00 2001 From: gaubansa Date: Mon, 24 Mar 2025 19:13:31 +0530 Subject: [PATCH 2/8] spec changes --- docs/BatchesApi.md | 18 +- docs/CreateNewWebhooksApi.md | 96 +--- docs/CreateWebhookRequest.md | 19 - ...ateUnifiedCheckoutCaptureContextRequest.md | 2 +- docs/InlineResponse2002.md | 10 +- docs/InlineResponse2002Embedded.md | 10 + ...d => InlineResponse2002EmbeddedBatches.md} | 6 +- docs/InlineResponse2002EmbeddedLinks.md | 10 + ...InlineResponse2002EmbeddedLinksReports.md} | 2 +- ...md => InlineResponse2002EmbeddedTotals.md} | 2 +- ...005Links.md => InlineResponse2002Links.md} | 2 +- docs/InlineResponse2003.md | 24 +- ...illing.md => InlineResponse2003Billing.md} | 2 +- ...006Links.md => InlineResponse2003Links.md} | 4 +- ...rt.md => InlineResponse2003LinksReport.md} | 2 +- docs/InlineResponse2004.md | 24 +- docs/InlineResponse2004Records.md | 12 + ...md => InlineResponse2004ResponseRecord.md} | 4 +- ...nse2004ResponseRecordAdditionalUpdates.md} | 2 +- ...d.md => InlineResponse2004SourceRecord.md} | 2 +- docs/InlineResponse2005.md | 16 - docs/InlineResponse2005Embedded.md | 10 - docs/InlineResponse2005EmbeddedLinks.md | 10 - docs/InlineResponse2006.md | 19 - docs/InlineResponse2007.md | 19 - docs/InlineResponse2007Records.md | 12 - docs/InlineResponse2014.md | 24 +- docs/InlineResponse2014Payloads.md | 10 + docs/InlineResponse2014PayloadsTestPayload.md | 10 + docs/InlineResponse2015.md | 2 - docs/InlineResponse4042.md | 12 - docs/InlineResponse4042Details.md | 11 - docs/ManageWebhooksApi.md | 168 +----- docs/Model400UploadBatchFileResponse.md | 11 + ...tionsv1productsorganizationIdEventTypes.md | 14 - ...ubscriptionsv1webhooksNotificationScope.md | 11 - ...ficationsubscriptionsv1webhooksProducts.md | 11 - ...ationsubscriptionsv1webhooksRetryPolicy.md | 17 - ...onsubscriptionsv1webhooksSecurityPolicy.md | 11 - ...nsubscriptionsv1webhooksSecurityPolicy1.md | 12 - ...riptionsv1webhooksSecurityPolicy1Config.md | 13 - ...ksSecurityPolicy1ConfigAdditionalConfig.md | 13 - ...criptionsv1webhooksSecurityPolicyConfig.md | 12 - ...ebhookswebhookIdreplaysByDeliveryStatus.md | 15 - docs/PaymentsStrongAuthIssuerInformation.md | 1 + docs/PtsV2PaymentsPost201Response1.md | 2 + ...aymentsPost201Response1ErrorInformation.md | 12 + ...Post201Response1ErrorInformationDetails.md | 10 + ...ymentsPost201Response1IssuerInformation.md | 11 + ...aymentsPost201Response1OrderInformation.md | 1 + ...1Response1OrderInformationAmountDetails.md | 10 + ...mentsPost201Response1PaymentInformation.md | 1 + ...st201Response1PaymentInformationEWallet.md | 11 + ...ntsPost201Response1ProcessorInformation.md | 2 + docs/PtsV2PaymentsRefundPost201Response.md | 1 + docs/Ptsv2paymentsProcessingInformation.md | 2 +- docs/Ptsv2payoutsProcessingInformation.md | 2 +- docs/Ptsv2payoutsRecipientInformation.md | 14 +- docs/Ptsv2payoutsSenderInformation.md | 6 +- docs/Ptsv2payoutsSenderInformationAccount.md | 2 +- docs/ReplayWebhooksApi.md | 55 -- docs/ReplayWebhooksRequest.md | 11 - docs/SaveAsymEgressKey.md | 4 +- docs/SaveSymEgressKey.md | 4 +- docs/TransactionBatchesApi.md | 45 ++ ...onsePaymentInformationIssuerInformation.md | 1 + ...201ResponseEmbeddedProcessorInformation.md | 1 + docs/UpdateWebhookRequest.md | 21 - src/main/java/Api/BatchesApi.java | 54 +- src/main/java/Api/CreateNewWebhooksApi.java | 293 +--------- src/main/java/Api/ManageWebhooksApi.java | 527 ++---------------- src/main/java/Api/ReplayWebhooksApi.java | 209 ------- src/main/java/Api/TransactionBatchesApi.java | 144 +++++ src/main/java/Model/CreateWebhookRequest.java | 313 ----------- ...eUnifiedCheckoutCaptureContextRequest.java | 4 +- src/main/java/Model/InlineResponse2002.java | 183 ++++-- ...d.java => InlineResponse2002Embedded.java} | 24 +- ...=> InlineResponse2002EmbeddedBatches.java} | 66 +-- ...a => InlineResponse2002EmbeddedLinks.java} | 24 +- ...lineResponse2002EmbeddedLinksReports.java} | 10 +- ... => InlineResponse2002EmbeddedTotals.java} | 28 +- ...inks.java => InlineResponse2002Links.java} | 16 +- src/main/java/Model/InlineResponse2003.java | 352 ++++-------- ...ng.java => InlineResponse2003Billing.java} | 24 +- ...inks.java => InlineResponse2003Links.java} | 28 +- ...ava => InlineResponse2003LinksReport.java} | 12 +- src/main/java/Model/InlineResponse2004.java | 374 +++++-------- ...ds.java => InlineResponse2004Records.java} | 36 +- ... => InlineResponse2004ResponseRecord.java} | 60 +- ...e2004ResponseRecordAdditionalUpdates.java} | 28 +- ...va => InlineResponse2004SourceRecord.java} | 40 +- src/main/java/Model/InlineResponse2005.java | 244 -------- src/main/java/Model/InlineResponse2006.java | 304 ---------- src/main/java/Model/InlineResponse2007.java | 314 ----------- src/main/java/Model/InlineResponse2014.java | 381 ++++--------- .../Model/InlineResponse2014Payloads.java | 95 ++++ ...InlineResponse2014PayloadsTestPayload.java | 94 ++++ src/main/java/Model/InlineResponse2015.java | 52 +- .../Model400UploadBatchFileResponse.java | 117 ++++ ...onsv1productsorganizationIdEventTypes.java | 186 ------- ...scriptionsv1webhooksNotificationScope.java | 127 ----- ...cationsubscriptionsv1webhooksProducts.java | 127 ----- ...ionsubscriptionsv1webhooksRetryPolicy.java | 267 --------- ...subscriptionsv1webhooksSecurityPolicy.java | 119 ---- ...ubscriptionsv1webhooksSecurityPolicy1.java | 142 ----- ...ptionsv1webhooksSecurityPolicy1Config.java | 165 ------ ...SecurityPolicy1ConfigAdditionalConfig.java | 164 ------ ...iptionsv1webhooksSecurityPolicyConfig.java | 141 ----- ...hookswebhookIdreplaysByDeliveryStatus.java | 210 ------- .../PaymentsStrongAuthIssuerInformation.java | 27 +- .../Model/PtsV2PaymentsPost201Response1.java | 52 +- ...entsPost201Response1ErrorInformation.java} | 40 +- ...t201Response1ErrorInformationDetails.java} | 41 +- ...entsPost201Response1IssuerInformation.java | 117 ++++ ...mentsPost201Response1OrderInformation.java | 28 +- ...esponse1OrderInformationAmountDetails.java | 94 ++++ ...ntsPost201Response1PaymentInformation.java | 26 +- ...201Response1PaymentInformationEWallet.java | 117 ++++ ...sPost201Response1ProcessorInformation.java | 48 +- .../PtsV2PaymentsRefundPost201Response.java | 26 +- .../Ptsv2paymentsProcessingInformation.java | 4 +- .../Ptsv2payoutsProcessingInformation.java | 4 +- .../Ptsv2payoutsRecipientInformation.java | 28 +- .../Model/Ptsv2payoutsSenderInformation.java | 12 +- .../Ptsv2payoutsSenderInformationAccount.java | 4 +- .../java/Model/ReplayWebhooksRequest.java | 128 ----- src/main/java/Model/SaveAsymEgressKey.java | 4 +- src/main/java/Model/SaveSymEgressKey.java | 4 +- ...sePaymentInformationIssuerInformation.java | 27 +- ...1ResponseEmbeddedProcessorInformation.java | 25 +- src/main/java/Model/UpdateWebhookRequest.java | 369 ------------ src/test/java/Api/BatchesApiTest.java | 12 +- .../java/Api/CreateNewWebhooksApiTest.java | 37 +- src/test/java/Api/ManageWebhooksApiTest.java | 64 +-- src/test/java/Api/ReplayWebhooksApiTest.java | 52 -- .../java/Api/TransactionBatchesApiTest.java | 18 + 136 files changed, 2150 insertions(+), 6302 deletions(-) delete mode 100644 docs/CreateWebhookRequest.md create mode 100644 docs/InlineResponse2002Embedded.md rename docs/{InlineResponse2005EmbeddedBatches.md => InlineResponse2002EmbeddedBatches.md} (81%) create mode 100644 docs/InlineResponse2002EmbeddedLinks.md rename docs/{InlineResponse2005EmbeddedLinksReports.md => InlineResponse2002EmbeddedLinksReports.md} (78%) rename docs/{InlineResponse2005EmbeddedTotals.md => InlineResponse2002EmbeddedTotals.md} (91%) rename docs/{InlineResponse2005Links.md => InlineResponse2002Links.md} (90%) rename docs/{InlineResponse2006Billing.md => InlineResponse2003Billing.md} (90%) rename docs/{InlineResponse2006Links.md => InlineResponse2003Links.md} (60%) rename docs/{InlineResponse2006LinksReport.md => InlineResponse2003LinksReport.md} (82%) create mode 100644 docs/InlineResponse2004Records.md rename docs/{InlineResponse2007ResponseRecord.md => InlineResponse2004ResponseRecord.md} (81%) rename docs/{InlineResponse2007ResponseRecordAdditionalUpdates.md => InlineResponse2004ResponseRecordAdditionalUpdates.md} (87%) rename docs/{InlineResponse2007SourceRecord.md => InlineResponse2004SourceRecord.md} (93%) delete mode 100644 docs/InlineResponse2005.md delete mode 100644 docs/InlineResponse2005Embedded.md delete mode 100644 docs/InlineResponse2005EmbeddedLinks.md delete mode 100644 docs/InlineResponse2006.md delete mode 100644 docs/InlineResponse2007.md delete mode 100644 docs/InlineResponse2007Records.md create mode 100644 docs/InlineResponse2014Payloads.md create mode 100644 docs/InlineResponse2014PayloadsTestPayload.md delete mode 100644 docs/InlineResponse4042.md delete mode 100644 docs/InlineResponse4042Details.md create mode 100644 docs/Model400UploadBatchFileResponse.md delete mode 100644 docs/Notificationsubscriptionsv1productsorganizationIdEventTypes.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksNotificationScope.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksProducts.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksRetryPolicy.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksSecurityPolicy.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksSecurityPolicy1.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.md delete mode 100644 docs/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.md delete mode 100644 docs/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.md create mode 100644 docs/PtsV2PaymentsPost201Response1ErrorInformation.md create mode 100644 docs/PtsV2PaymentsPost201Response1ErrorInformationDetails.md create mode 100644 docs/PtsV2PaymentsPost201Response1IssuerInformation.md create mode 100644 docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md create mode 100644 docs/PtsV2PaymentsPost201Response1PaymentInformationEWallet.md delete mode 100644 docs/ReplayWebhooksApi.md delete mode 100644 docs/ReplayWebhooksRequest.md delete mode 100644 docs/UpdateWebhookRequest.md delete mode 100644 src/main/java/Api/ReplayWebhooksApi.java delete mode 100644 src/main/java/Model/CreateWebhookRequest.java rename src/main/java/Model/{InlineResponse2005Embedded.java => InlineResponse2002Embedded.java} (71%) rename src/main/java/Model/{InlineResponse2005EmbeddedBatches.java => InlineResponse2002EmbeddedBatches.java} (79%) rename src/main/java/Model/{InlineResponse2005EmbeddedLinks.java => InlineResponse2002EmbeddedLinks.java} (70%) rename src/main/java/Model/{InlineResponse2005EmbeddedLinksReports.java => InlineResponse2002EmbeddedLinksReports.java} (85%) rename src/main/java/Model/{InlineResponse2005EmbeddedTotals.java => InlineResponse2002EmbeddedTotals.java} (84%) rename src/main/java/Model/{InlineResponse2005Links.java => InlineResponse2002Links.java} (84%) rename src/main/java/Model/{InlineResponse2006Billing.java => InlineResponse2003Billing.java} (81%) rename src/main/java/Model/{InlineResponse2006Links.java => InlineResponse2003Links.java} (74%) rename src/main/java/Model/{InlineResponse2006LinksReport.java => InlineResponse2003LinksReport.java} (84%) rename src/main/java/Model/{InlineResponse2007Records.java => InlineResponse2004Records.java} (70%) rename src/main/java/Model/{InlineResponse2007ResponseRecord.java => InlineResponse2004ResponseRecord.java} (79%) rename src/main/java/Model/{InlineResponse2007ResponseRecordAdditionalUpdates.java => InlineResponse2004ResponseRecordAdditionalUpdates.java} (82%) rename src/main/java/Model/{InlineResponse2007SourceRecord.java => InlineResponse2004SourceRecord.java} (83%) delete mode 100644 src/main/java/Model/InlineResponse2005.java delete mode 100644 src/main/java/Model/InlineResponse2006.java delete mode 100644 src/main/java/Model/InlineResponse2007.java create mode 100644 src/main/java/Model/InlineResponse2014Payloads.java create mode 100644 src/main/java/Model/InlineResponse2014PayloadsTestPayload.java create mode 100644 src/main/java/Model/Model400UploadBatchFileResponse.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1productsorganizationIdEventTypes.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksNotificationScope.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksProducts.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksRetryPolicy.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.java delete mode 100644 src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.java delete mode 100644 src/main/java/Model/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.java rename src/main/java/Model/{InlineResponse4042.java => PtsV2PaymentsPost201Response1ErrorInformation.java} (61%) rename src/main/java/Model/{InlineResponse4042Details.java => PtsV2PaymentsPost201Response1ErrorInformationDetails.java} (65%) create mode 100644 src/main/java/Model/PtsV2PaymentsPost201Response1IssuerInformation.java create mode 100644 src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.java create mode 100644 src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformationEWallet.java delete mode 100644 src/main/java/Model/ReplayWebhooksRequest.java delete mode 100644 src/main/java/Model/UpdateWebhookRequest.java delete mode 100644 src/test/java/Api/ReplayWebhooksApiTest.java diff --git a/docs/BatchesApi.md b/docs/BatchesApi.md index 0c66a1cc..c8bdd683 100644 --- a/docs/BatchesApi.md +++ b/docs/BatchesApi.md @@ -12,7 +12,7 @@ Method | HTTP request | Description # **getBatchReport** -> InlineResponse2007 getBatchReport(batchId) +> InlineResponse2004 getBatchReport(batchId) Retrieve a Batch Report @@ -28,7 +28,7 @@ Retrieve a Batch Report BatchesApi apiInstance = new BatchesApi(); String batchId = "batchId_example"; // String | Unique identification number assigned to the submitted request. try { - InlineResponse2007 result = apiInstance.getBatchReport(batchId); + InlineResponse2004 result = apiInstance.getBatchReport(batchId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling BatchesApi#getBatchReport"); @@ -44,7 +44,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2007**](InlineResponse2007.md) +[**InlineResponse2004**](InlineResponse2004.md) ### Authorization @@ -57,7 +57,7 @@ No authorization required # **getBatchStatus** -> InlineResponse2006 getBatchStatus(batchId) +> InlineResponse2003 getBatchStatus(batchId) Retrieve a Batch Status @@ -73,7 +73,7 @@ Retrieve a Batch Status BatchesApi apiInstance = new BatchesApi(); String batchId = "batchId_example"; // String | Unique identification number assigned to the submitted request. try { - InlineResponse2006 result = apiInstance.getBatchStatus(batchId); + InlineResponse2003 result = apiInstance.getBatchStatus(batchId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling BatchesApi#getBatchStatus"); @@ -89,7 +89,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2006**](InlineResponse2006.md) +[**InlineResponse2003**](InlineResponse2003.md) ### Authorization @@ -102,7 +102,7 @@ No authorization required # **getBatchesList** -> InlineResponse2005 getBatchesList(offset, limit, fromDate, toDate) +> InlineResponse2002 getBatchesList(offset, limit, fromDate, toDate) List Batches @@ -121,7 +121,7 @@ Long limit = 20L; // Long | The maximum number that can be returned in the array String fromDate = "fromDate_example"; // String | ISO-8601 format: yyyyMMddTHHmmssZ String toDate = "toDate_example"; // String | ISO-8601 format: yyyyMMddTHHmmssZ try { - InlineResponse2005 result = apiInstance.getBatchesList(offset, limit, fromDate, toDate); + InlineResponse2002 result = apiInstance.getBatchesList(offset, limit, fromDate, toDate); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling BatchesApi#getBatchesList"); @@ -140,7 +140,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2005**](InlineResponse2005.md) +[**InlineResponse2002**](InlineResponse2002.md) ### Authorization diff --git a/docs/CreateNewWebhooksApi.md b/docs/CreateNewWebhooksApi.md index 6d8fbb94..3464b783 100644 --- a/docs/CreateNewWebhooksApi.md +++ b/docs/CreateNewWebhooksApi.md @@ -4,108 +4,16 @@ All URIs are relative to *https://apitest.cybersource.com* Method | HTTP request | Description ------------- | ------------- | ------------- -[**createWebhookSubscription**](CreateNewWebhooksApi.md#createWebhookSubscription) | **POST** /notification-subscriptions/v1/webhooks | Create a Webhook -[**findProductsToSubscribe**](CreateNewWebhooksApi.md#findProductsToSubscribe) | **GET** /notification-subscriptions/v1/products/{organizationId} | Find Products You Can Subscribe To [**saveSymEgressKey**](CreateNewWebhooksApi.md#saveSymEgressKey) | **POST** /kms/egress/v2/keys-sym | Create Webhook Security Keys - -# **createWebhookSubscription** -> InlineResponse2014 createWebhookSubscription(createWebhookRequest) - -Create a Webhook - -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. You 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. - -### Example -```java -// Import classes: -//import Invokers.ApiException; -//import Api.CreateNewWebhooksApi; - - -CreateNewWebhooksApi apiInstance = new CreateNewWebhooksApi(); -CreateWebhookRequest createWebhookRequest = new CreateWebhookRequest(); // CreateWebhookRequest | The webhook payload -try { - InlineResponse2014 result = apiInstance.createWebhookSubscription(createWebhookRequest); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling CreateNewWebhooksApi#createWebhookSubscription"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **createWebhookRequest** | [**CreateWebhookRequest**](CreateWebhookRequest.md)| The webhook payload | [optional] - -### Return type - -[**InlineResponse2014**](InlineResponse2014.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 - - -# **findProductsToSubscribe** -> List<InlineResponse2002> findProductsToSubscribe(organizationId) - -Find Products You Can Subscribe To - -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. - -### Example -```java -// Import classes: -//import Invokers.ApiException; -//import Api.CreateNewWebhooksApi; - - -CreateNewWebhooksApi apiInstance = new CreateNewWebhooksApi(); -String organizationId = "organizationId_example"; // String | The Organization Identifier. -try { - List result = apiInstance.findProductsToSubscribe(organizationId); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling CreateNewWebhooksApi#findProductsToSubscribe"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **organizationId** | **String**| The Organization Identifier. | - -### Return type - -[**List<InlineResponse2002>**](InlineResponse2002.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 - # **saveSymEgressKey** > InlineResponse2013 saveSymEgressKey(vCSenderOrganizationId, vCPermissions, vCCorrelationId, saveSymEgressKey) Create Webhook Security Keys -Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select 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. +Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remember to save the key in the API response, so that you can use it to validate messages later. ### Example ```java @@ -148,5 +56,5 @@ No authorization required ### HTTP request headers - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 + - **Accept**: application/hal+json;charset=utf-8 diff --git a/docs/CreateWebhookRequest.md b/docs/CreateWebhookRequest.md deleted file mode 100644 index e66029a6..00000000 --- a/docs/CreateWebhookRequest.md +++ /dev/null @@ -1,19 +0,0 @@ - -# CreateWebhookRequest - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **String** | Client friendly webhook name. | [optional] -**description** | **String** | Client friendly webhook description. | [optional] -**organizationId** | **String** | Organization Identifier (OrgId) or Merchant Identifier (MID). | [optional] -**productId** | **String** | To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint. | [optional] -**eventTypes** | **List<String>** | Array of the different events for a given product id. | [optional] -**webhookUrl** | **String** | The client's endpoint (URL) to receive webhooks. | [optional] -**healthCheckUrl** | **String** | 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. | [optional] -**notificationScope** | **String** | 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. | [optional] -**retryPolicy** | [**Notificationsubscriptionsv1webhooksRetryPolicy**](Notificationsubscriptionsv1webhooksRetryPolicy.md) | | [optional] -**securityPolicy** | [**Notificationsubscriptionsv1webhooksSecurityPolicy1**](Notificationsubscriptionsv1webhooksSecurityPolicy1.md) | | [optional] - - - diff --git a/docs/GenerateUnifiedCheckoutCaptureContextRequest.md b/docs/GenerateUnifiedCheckoutCaptureContextRequest.md index 13ea0d3d..a0b68ab7 100644 --- a/docs/GenerateUnifiedCheckoutCaptureContextRequest.md +++ b/docs/GenerateUnifiedCheckoutCaptureContextRequest.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes **clientVersion** | **String** | Specify the version of Unified Checkout that you want to use. | [optional] **targetOrigins** | **List<String>** | The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Unified Checkout is defined by the scheme (protocol), hostname (domain) and port number (if used). You must use https://hostname (unless you use http://localhost) Wildcards are NOT supported. Ensure that subdomains are included. Any valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc) Examples: - https://example.com - https://subdomain.example.com - https://example.com:8080<br><br> If you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example: targetOrigins: [ \"https://example.com\", \"https://basket.example.com\", \"https://ecom.example.com\" ] | [optional] **allowedCardNetworks** | **List<String>** | The list of card networks you want to use for this Unified Checkout transaction. Unified Checkout currently supports the following card networks: - VISA - MASTERCARD - AMEX - CARNET - CARTESBANCAIRES - CUP - DINERSCLUB - DISCOVER - EFTPOS - ELO - JCB - JCREW - MADA - MAESTRO - MEEZA | [optional] -**allowedPaymentTypes** | **List<String>** | The payment types that are allowed for the merchant. Possible values when launching Unified Checkout: - APPLEPAY - CHECK - CLICKTOPAY - GOOGLEPAY - PANENTRY - PAZE <br><br> Possible values when launching Click To Pay Drop-In UI: - CLICKTOPAY <br><br> **Important:** - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards. - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester. - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field. | [optional] +**allowedPaymentTypes** | **List<String>** | The payment types that are allowed for the merchant. Possible values when launching Unified Checkout: - APPLEPAY - CHECK - CLICKTOPAY - GOOGLEPAY - PANENTRY - PAZE <br><br> Possible values when launching Click To Pay Drop-In UI: - CLICKTOPAY <br><br> **Important:** - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards. - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester. - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field.<br><br> **Managing Google Pay Authentication Types** When you enable Google Pay on Unified Checkout you can specify optional parameters that define the types of card authentication you receive from Google Pay. | [optional] **country** | **String** | Country the purchase is originating from (e.g. country of the merchant). Use the two-character ISO Standard | [optional] **locale** | **String** | Localization of the User experience conforming to the ISO 639-1 language standards and two-character ISO Standard Country Code. Please refer to list of [supported locales through Unified Checkout](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-appendix-languages.html) | [optional] **captureMandate** | [**Upv1capturecontextsCaptureMandate**](Upv1capturecontextsCaptureMandate.md) | | [optional] diff --git a/docs/InlineResponse2002.md b/docs/InlineResponse2002.md index 9c1416ba..e18773a7 100644 --- a/docs/InlineResponse2002.md +++ b/docs/InlineResponse2002.md @@ -4,9 +4,13 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**productId** | **String** | Product ID. | [optional] -**productName** | **String** | Product Name. | [optional] -**eventTypes** | [**List<Notificationsubscriptionsv1productsorganizationIdEventTypes>**](Notificationsubscriptionsv1productsorganizationIdEventTypes.md) | | [optional] +**links** | [**List<InlineResponse2002Links>**](InlineResponse2002Links.md) | | [optional] +**object** | **String** | | [optional] +**offset** | **Integer** | | [optional] +**limit** | **Integer** | | [optional] +**count** | **Integer** | | [optional] +**total** | **Integer** | | [optional] +**embedded** | [**InlineResponse2002Embedded**](InlineResponse2002Embedded.md) | | [optional] diff --git a/docs/InlineResponse2002Embedded.md b/docs/InlineResponse2002Embedded.md new file mode 100644 index 00000000..912c837c --- /dev/null +++ b/docs/InlineResponse2002Embedded.md @@ -0,0 +1,10 @@ + +# InlineResponse2002Embedded + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**batches** | [**List<InlineResponse2002EmbeddedBatches>**](InlineResponse2002EmbeddedBatches.md) | | [optional] + + + diff --git a/docs/InlineResponse2005EmbeddedBatches.md b/docs/InlineResponse2002EmbeddedBatches.md similarity index 81% rename from docs/InlineResponse2005EmbeddedBatches.md rename to docs/InlineResponse2002EmbeddedBatches.md index ae725aa3..1f32341f 100644 --- a/docs/InlineResponse2005EmbeddedBatches.md +++ b/docs/InlineResponse2002EmbeddedBatches.md @@ -1,10 +1,10 @@ -# InlineResponse2005EmbeddedBatches +# InlineResponse2002EmbeddedBatches ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**links** | [**InlineResponse2005EmbeddedLinks**](InlineResponse2005EmbeddedLinks.md) | | [optional] +**links** | [**InlineResponse2002EmbeddedLinks**](InlineResponse2002EmbeddedLinks.md) | | [optional] **batchId** | **String** | Unique identification number assigned to the submitted request. | [optional] **batchCreatedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] **batchModifiedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] @@ -13,7 +13,7 @@ Name | Type | Description | Notes **merchantReference** | **String** | Reference used by merchant to identify batch. | [optional] **batchCaEndpoints** | **List<String>** | Valid Values: * VISA * MASTERCARD * AMEX | [optional] **status** | **String** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETE | [optional] -**totals** | [**InlineResponse2005EmbeddedTotals**](InlineResponse2005EmbeddedTotals.md) | | [optional] +**totals** | [**InlineResponse2002EmbeddedTotals**](InlineResponse2002EmbeddedTotals.md) | | [optional] diff --git a/docs/InlineResponse2002EmbeddedLinks.md b/docs/InlineResponse2002EmbeddedLinks.md new file mode 100644 index 00000000..c06b10a7 --- /dev/null +++ b/docs/InlineResponse2002EmbeddedLinks.md @@ -0,0 +1,10 @@ + +# InlineResponse2002EmbeddedLinks + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reports** | [**List<InlineResponse2002EmbeddedLinksReports>**](InlineResponse2002EmbeddedLinksReports.md) | | [optional] + + + diff --git a/docs/InlineResponse2005EmbeddedLinksReports.md b/docs/InlineResponse2002EmbeddedLinksReports.md similarity index 78% rename from docs/InlineResponse2005EmbeddedLinksReports.md rename to docs/InlineResponse2002EmbeddedLinksReports.md index 0d0e6436..4ecea7dc 100644 --- a/docs/InlineResponse2005EmbeddedLinksReports.md +++ b/docs/InlineResponse2002EmbeddedLinksReports.md @@ -1,5 +1,5 @@ -# InlineResponse2005EmbeddedLinksReports +# InlineResponse2002EmbeddedLinksReports ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2005EmbeddedTotals.md b/docs/InlineResponse2002EmbeddedTotals.md similarity index 91% rename from docs/InlineResponse2005EmbeddedTotals.md rename to docs/InlineResponse2002EmbeddedTotals.md index 1fae7df8..47b94fbb 100644 --- a/docs/InlineResponse2005EmbeddedTotals.md +++ b/docs/InlineResponse2002EmbeddedTotals.md @@ -1,5 +1,5 @@ -# InlineResponse2005EmbeddedTotals +# InlineResponse2002EmbeddedTotals ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2005Links.md b/docs/InlineResponse2002Links.md similarity index 90% rename from docs/InlineResponse2005Links.md rename to docs/InlineResponse2002Links.md index ca4ebba7..0184c931 100644 --- a/docs/InlineResponse2005Links.md +++ b/docs/InlineResponse2002Links.md @@ -1,5 +1,5 @@ -# InlineResponse2005Links +# InlineResponse2002Links ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2003.md b/docs/InlineResponse2003.md index 2a23054f..edb2bfba 100644 --- a/docs/InlineResponse2003.md +++ b/docs/InlineResponse2003.md @@ -4,20 +4,16 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**webhookId** | **String** | Webhook Id. This is generated by the server. | [optional] -**organizationId** | **String** | Organization ID. | [optional] -**products** | [**List<Notificationsubscriptionsv1webhooksProducts>**](Notificationsubscriptionsv1webhooksProducts.md) | | [optional] -**webhookUrl** | **String** | The client's endpoint (URL) to receive webhooks. | [optional] -**healthCheckUrl** | **String** | The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. | [optional] -**notificationScope** | [**Notificationsubscriptionsv1webhooksNotificationScope**](Notificationsubscriptionsv1webhooksNotificationScope.md) | | [optional] -**status** | **String** | Webhook status. | [optional] -**name** | **String** | Client friendly webhook name. | [optional] -**description** | **String** | Client friendly webhook description. | [optional] -**retryPolicy** | [**Notificationsubscriptionsv1webhooksRetryPolicy**](Notificationsubscriptionsv1webhooksRetryPolicy.md) | | [optional] -**securityPolicy** | [**Notificationsubscriptionsv1webhooksSecurityPolicy**](Notificationsubscriptionsv1webhooksSecurityPolicy.md) | | [optional] -**createdOn** | **String** | Date on which webhook was created/registered. | [optional] -**updatedOn** | **String** | Date on which webhook was most recently updated. | [optional] -**additionalAttributes** | [**List<Map<String, String>>**](Map.md) | Additional, free form configuration data. | [optional] +**links** | [**InlineResponse2003Links**](InlineResponse2003Links.md) | | [optional] +**batchId** | **String** | Unique identification number assigned to the submitted request. | [optional] +**batchCreatedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] +**batchSource** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] +**merchantReference** | **String** | Reference used by merchant to identify batch. | [optional] +**batchCaEndpoints** | **String** | | [optional] +**status** | **String** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED | [optional] +**totals** | [**InlineResponse2002EmbeddedTotals**](InlineResponse2002EmbeddedTotals.md) | | [optional] +**billing** | [**InlineResponse2003Billing**](InlineResponse2003Billing.md) | | [optional] +**description** | **String** | | [optional] diff --git a/docs/InlineResponse2006Billing.md b/docs/InlineResponse2003Billing.md similarity index 90% rename from docs/InlineResponse2006Billing.md rename to docs/InlineResponse2003Billing.md index d3931455..3d2b2a53 100644 --- a/docs/InlineResponse2006Billing.md +++ b/docs/InlineResponse2003Billing.md @@ -1,5 +1,5 @@ -# InlineResponse2006Billing +# InlineResponse2003Billing ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2006Links.md b/docs/InlineResponse2003Links.md similarity index 60% rename from docs/InlineResponse2006Links.md rename to docs/InlineResponse2003Links.md index 3acb095c..67aca8af 100644 --- a/docs/InlineResponse2006Links.md +++ b/docs/InlineResponse2003Links.md @@ -1,11 +1,11 @@ -# InlineResponse2006Links +# InlineResponse2003Links ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **self** | [**InlineResponse202LinksStatus**](InlineResponse202LinksStatus.md) | | [optional] -**report** | [**List<InlineResponse2006LinksReport>**](InlineResponse2006LinksReport.md) | | [optional] +**report** | [**List<InlineResponse2003LinksReport>**](InlineResponse2003LinksReport.md) | | [optional] diff --git a/docs/InlineResponse2006LinksReport.md b/docs/InlineResponse2003LinksReport.md similarity index 82% rename from docs/InlineResponse2006LinksReport.md rename to docs/InlineResponse2003LinksReport.md index c3c2cb8a..9507c330 100644 --- a/docs/InlineResponse2006LinksReport.md +++ b/docs/InlineResponse2003LinksReport.md @@ -1,5 +1,5 @@ -# InlineResponse2006LinksReport +# InlineResponse2003LinksReport ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2004.md b/docs/InlineResponse2004.md index 38b37ec3..d0e16fc5 100644 --- a/docs/InlineResponse2004.md +++ b/docs/InlineResponse2004.md @@ -4,20 +4,16 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**webhookId** | **String** | Webhook Id. This is generated by the server. | [optional] -**organizationId** | **String** | Organization ID. | [optional] -**products** | [**List<Notificationsubscriptionsv1webhooksProducts>**](Notificationsubscriptionsv1webhooksProducts.md) | | [optional] -**webhookUrl** | **String** | The client's endpoint (URL) to receive webhooks. | [optional] -**healthCheckUrl** | **String** | The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. | [optional] -**notificationScope** | [**Notificationsubscriptionsv1webhooksNotificationScope**](Notificationsubscriptionsv1webhooksNotificationScope.md) | | [optional] -**status** | **String** | Webhook status. | [optional] -**name** | **String** | Client friendly webhook name. | [optional] -**description** | **String** | Client friendly webhook description. | [optional] -**retryPolicy** | [**Notificationsubscriptionsv1webhooksRetryPolicy**](Notificationsubscriptionsv1webhooksRetryPolicy.md) | | [optional] -**securityPolicy** | [**Notificationsubscriptionsv1webhooksSecurityPolicy**](Notificationsubscriptionsv1webhooksSecurityPolicy.md) | | [optional] -**createdOn** | **String** | Date on which webhook was created/registered. | [optional] -**updatedOn** | **String** | Date on which webhook was most recently updated. | [optional] -**additionalAttributes** | [**List<Map<String, String>>**](Map.md) | Additional, free form configuration data. | [optional] +**version** | **String** | | [optional] +**reportCreatedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] +**batchId** | **String** | Unique identification number assigned to the submitted request. | [optional] +**batchSource** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] +**batchCaEndpoints** | **String** | | [optional] +**batchCreatedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] +**merchantReference** | **String** | Reference used by merchant to identify batch. | [optional] +**totals** | [**InlineResponse2002EmbeddedTotals**](InlineResponse2002EmbeddedTotals.md) | | [optional] +**billing** | [**InlineResponse2003Billing**](InlineResponse2003Billing.md) | | [optional] +**records** | [**List<InlineResponse2004Records>**](InlineResponse2004Records.md) | | [optional] diff --git a/docs/InlineResponse2004Records.md b/docs/InlineResponse2004Records.md new file mode 100644 index 00000000..18523ee5 --- /dev/null +++ b/docs/InlineResponse2004Records.md @@ -0,0 +1,12 @@ + +# InlineResponse2004Records + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | [optional] +**sourceRecord** | [**InlineResponse2004SourceRecord**](InlineResponse2004SourceRecord.md) | | [optional] +**responseRecord** | [**InlineResponse2004ResponseRecord**](InlineResponse2004ResponseRecord.md) | | [optional] + + + diff --git a/docs/InlineResponse2007ResponseRecord.md b/docs/InlineResponse2004ResponseRecord.md similarity index 81% rename from docs/InlineResponse2007ResponseRecord.md rename to docs/InlineResponse2004ResponseRecord.md index a24f1b76..6589c2cf 100644 --- a/docs/InlineResponse2007ResponseRecord.md +++ b/docs/InlineResponse2004ResponseRecord.md @@ -1,5 +1,5 @@ -# InlineResponse2007ResponseRecord +# InlineResponse2004ResponseRecord ## Properties Name | Type | Description | Notes @@ -13,7 +13,7 @@ Name | Type | Description | Notes **cardExpiryMonth** | **String** | | [optional] **cardExpiryYear** | **String** | | [optional] **cardType** | **String** | | [optional] -**additionalUpdates** | [**List<InlineResponse2007ResponseRecordAdditionalUpdates>**](InlineResponse2007ResponseRecordAdditionalUpdates.md) | | [optional] +**additionalUpdates** | [**List<InlineResponse2004ResponseRecordAdditionalUpdates>**](InlineResponse2004ResponseRecordAdditionalUpdates.md) | | [optional] diff --git a/docs/InlineResponse2007ResponseRecordAdditionalUpdates.md b/docs/InlineResponse2004ResponseRecordAdditionalUpdates.md similarity index 87% rename from docs/InlineResponse2007ResponseRecordAdditionalUpdates.md rename to docs/InlineResponse2004ResponseRecordAdditionalUpdates.md index 5a4f1499..b0fffdca 100644 --- a/docs/InlineResponse2007ResponseRecordAdditionalUpdates.md +++ b/docs/InlineResponse2004ResponseRecordAdditionalUpdates.md @@ -1,5 +1,5 @@ -# InlineResponse2007ResponseRecordAdditionalUpdates +# InlineResponse2004ResponseRecordAdditionalUpdates ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2007SourceRecord.md b/docs/InlineResponse2004SourceRecord.md similarity index 93% rename from docs/InlineResponse2007SourceRecord.md rename to docs/InlineResponse2004SourceRecord.md index 1568aedc..d6ce8a23 100644 --- a/docs/InlineResponse2007SourceRecord.md +++ b/docs/InlineResponse2004SourceRecord.md @@ -1,5 +1,5 @@ -# InlineResponse2007SourceRecord +# InlineResponse2004SourceRecord ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2005.md b/docs/InlineResponse2005.md deleted file mode 100644 index c1bcaf2a..00000000 --- a/docs/InlineResponse2005.md +++ /dev/null @@ -1,16 +0,0 @@ - -# InlineResponse2005 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**links** | [**List<InlineResponse2005Links>**](InlineResponse2005Links.md) | | [optional] -**object** | **String** | | [optional] -**offset** | **Integer** | | [optional] -**limit** | **Integer** | | [optional] -**count** | **Integer** | | [optional] -**total** | **Integer** | | [optional] -**embedded** | [**InlineResponse2005Embedded**](InlineResponse2005Embedded.md) | | [optional] - - - diff --git a/docs/InlineResponse2005Embedded.md b/docs/InlineResponse2005Embedded.md deleted file mode 100644 index 8d96a5f9..00000000 --- a/docs/InlineResponse2005Embedded.md +++ /dev/null @@ -1,10 +0,0 @@ - -# InlineResponse2005Embedded - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**batches** | [**List<InlineResponse2005EmbeddedBatches>**](InlineResponse2005EmbeddedBatches.md) | | [optional] - - - diff --git a/docs/InlineResponse2005EmbeddedLinks.md b/docs/InlineResponse2005EmbeddedLinks.md deleted file mode 100644 index 93bb26ee..00000000 --- a/docs/InlineResponse2005EmbeddedLinks.md +++ /dev/null @@ -1,10 +0,0 @@ - -# InlineResponse2005EmbeddedLinks - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**reports** | [**List<InlineResponse2005EmbeddedLinksReports>**](InlineResponse2005EmbeddedLinksReports.md) | | [optional] - - - diff --git a/docs/InlineResponse2006.md b/docs/InlineResponse2006.md deleted file mode 100644 index e88b697e..00000000 --- a/docs/InlineResponse2006.md +++ /dev/null @@ -1,19 +0,0 @@ - -# InlineResponse2006 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**links** | [**InlineResponse2006Links**](InlineResponse2006Links.md) | | [optional] -**batchId** | **String** | Unique identification number assigned to the submitted request. | [optional] -**batchCreatedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] -**batchSource** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] -**merchantReference** | **String** | Reference used by merchant to identify batch. | [optional] -**batchCaEndpoints** | **String** | | [optional] -**status** | **String** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED | [optional] -**totals** | [**InlineResponse2005EmbeddedTotals**](InlineResponse2005EmbeddedTotals.md) | | [optional] -**billing** | [**InlineResponse2006Billing**](InlineResponse2006Billing.md) | | [optional] -**description** | **String** | | [optional] - - - diff --git a/docs/InlineResponse2007.md b/docs/InlineResponse2007.md deleted file mode 100644 index 787fdd04..00000000 --- a/docs/InlineResponse2007.md +++ /dev/null @@ -1,19 +0,0 @@ - -# InlineResponse2007 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**version** | **String** | | [optional] -**reportCreatedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] -**batchId** | **String** | Unique identification number assigned to the submitted request. | [optional] -**batchSource** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] -**batchCaEndpoints** | **String** | | [optional] -**batchCreatedDate** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] -**merchantReference** | **String** | Reference used by merchant to identify batch. | [optional] -**totals** | [**InlineResponse2005EmbeddedTotals**](InlineResponse2005EmbeddedTotals.md) | | [optional] -**billing** | [**InlineResponse2006Billing**](InlineResponse2006Billing.md) | | [optional] -**records** | [**List<InlineResponse2007Records>**](InlineResponse2007Records.md) | | [optional] - - - diff --git a/docs/InlineResponse2007Records.md b/docs/InlineResponse2007Records.md deleted file mode 100644 index 3b3e3471..00000000 --- a/docs/InlineResponse2007Records.md +++ /dev/null @@ -1,12 +0,0 @@ - -# InlineResponse2007Records - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | | [optional] -**sourceRecord** | [**InlineResponse2007SourceRecord**](InlineResponse2007SourceRecord.md) | | [optional] -**responseRecord** | [**InlineResponse2007ResponseRecord**](InlineResponse2007ResponseRecord.md) | | [optional] - - - diff --git a/docs/InlineResponse2014.md b/docs/InlineResponse2014.md index d9fa6e41..fd685e9f 100644 --- a/docs/InlineResponse2014.md +++ b/docs/InlineResponse2014.md @@ -4,21 +4,15 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**webhookId** | **String** | Webhook Id. This is generated by the server. | [optional] -**organizationId** | **String** | Organization ID | [optional] -**productId** | **String** | The product you are receiving a webhook for. | [optional] -**eventTypes** | **List<String>** | Array of the different events for a given product id. | [optional] -**webhookUrl** | **String** | The client's endpoint (URL) to receive webhooks. | [optional] -**healthCheckUrl** | **String** | The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. | [optional] -**notificationScope** | [**Notificationsubscriptionsv1webhooksNotificationScope**](Notificationsubscriptionsv1webhooksNotificationScope.md) | | [optional] -**status** | **String** | Webhook status. | [optional] -**name** | **String** | Client friendly webhook name. | [optional] -**description** | **String** | Client friendly webhook description. | [optional] -**retryPolicy** | [**Notificationsubscriptionsv1webhooksRetryPolicy**](Notificationsubscriptionsv1webhooksRetryPolicy.md) | | [optional] -**securityPolicy** | [**Notificationsubscriptionsv1webhooksSecurityPolicy**](Notificationsubscriptionsv1webhooksSecurityPolicy.md) | | [optional] -**createdOn** | **String** | Date on which webhook was created/registered. | [optional] -**updatedOn** | **String** | Date on which webhook was most recently updated. | [optional] -**additionalAttributes** | [**List<Map<String, String>>**](Map.md) | Additional, free form configuration data. | [optional] +**eventDate** | **String** | Date that the webhook was delivered | [optional] +**eventType** | **String** | The event name the webhook was delivered for | [optional] +**organizationId** | **String** | The Organization Identifier. | [optional] +**payloads** | [**InlineResponse2014Payloads**](InlineResponse2014Payloads.md) | | [optional] +**productId** | **String** | The product the webhook was delivered for | [optional] +**requestType** | **String** | Identifies the the type of request | [optional] +**retryNumber** | **Integer** | The number of retry attempts for a given webhook | [optional] +**transactionTraceId** | **String** | The identifier for the webhook | [optional] +**webhookId** | **String** | The identifier of the subscription | [optional] diff --git a/docs/InlineResponse2014Payloads.md b/docs/InlineResponse2014Payloads.md new file mode 100644 index 00000000..5aa2938d --- /dev/null +++ b/docs/InlineResponse2014Payloads.md @@ -0,0 +1,10 @@ + +# InlineResponse2014Payloads + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**testPayload** | [**InlineResponse2014PayloadsTestPayload**](InlineResponse2014PayloadsTestPayload.md) | | [optional] + + + diff --git a/docs/InlineResponse2014PayloadsTestPayload.md b/docs/InlineResponse2014PayloadsTestPayload.md new file mode 100644 index 00000000..62a60d44 --- /dev/null +++ b/docs/InlineResponse2014PayloadsTestPayload.md @@ -0,0 +1,10 @@ + +# InlineResponse2014PayloadsTestPayload + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **String** | The test message delivered in the webhook | [optional] + + + diff --git a/docs/InlineResponse2015.md b/docs/InlineResponse2015.md index 741bed85..5db3bd7e 100644 --- a/docs/InlineResponse2015.md +++ b/docs/InlineResponse2015.md @@ -6,8 +6,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **submitTimeUtc** | **String** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` Example `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. | [optional] **status** | **String** | The status of the submitted transaction. Possible values: - ACCEPTED | [optional] -**clientReferenceInformation** | [**Kmsegressv2keyssymClientReferenceInformation**](Kmsegressv2keyssymClientReferenceInformation.md) | | [optional] -**keyInformation** | [**Kmsegressv2keysasymKeyInformation**](Kmsegressv2keysasymKeyInformation.md) | | [optional] diff --git a/docs/InlineResponse4042.md b/docs/InlineResponse4042.md deleted file mode 100644 index 1563fa1a..00000000 --- a/docs/InlineResponse4042.md +++ /dev/null @@ -1,12 +0,0 @@ - -# InlineResponse4042 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**reason** | **String** | | [optional] -**message** | **String** | | [optional] -**details** | [**List<InlineResponse4042Details>**](InlineResponse4042Details.md) | | [optional] - - - diff --git a/docs/InlineResponse4042Details.md b/docs/InlineResponse4042Details.md deleted file mode 100644 index a3ea0333..00000000 --- a/docs/InlineResponse4042Details.md +++ /dev/null @@ -1,11 +0,0 @@ - -# InlineResponse4042Details - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**field** | **String** | | [optional] -**reason** | **String** | | [optional] - - - diff --git a/docs/ManageWebhooksApi.md b/docs/ManageWebhooksApi.md index bc43f06f..19610f9b 100644 --- a/docs/ManageWebhooksApi.md +++ b/docs/ManageWebhooksApi.md @@ -4,20 +4,17 @@ All URIs are relative to *https://apitest.cybersource.com* Method | HTTP request | Description ------------- | ------------- | ------------- -[**deleteWebhookSubscription**](ManageWebhooksApi.md#deleteWebhookSubscription) | **DELETE** /notification-subscriptions/v1/webhooks/{webhookId} | Delete a Webhook Subscription -[**getWebhookSubscriptionById**](ManageWebhooksApi.md#getWebhookSubscriptionById) | **GET** /notification-subscriptions/v1/webhooks/{webhookId} | Get Details On a Single Webhook -[**getWebhookSubscriptionsByOrg**](ManageWebhooksApi.md#getWebhookSubscriptionsByOrg) | **GET** /notification-subscriptions/v1/webhooks | Get Details On All Created Webhooks +[**notificationSubscriptionsV1WebhooksWebhookIdPost**](ManageWebhooksApi.md#notificationSubscriptionsV1WebhooksWebhookIdPost) | **POST** /notification-subscriptions/v1/webhooks/{webhookId} | Test a Webhook Configuration [**saveAsymEgressKey**](ManageWebhooksApi.md#saveAsymEgressKey) | **POST** /kms/egress/v2/keys-asym | Message Level Encryption -[**updateWebhookSubscription**](ManageWebhooksApi.md#updateWebhookSubscription) | **PATCH** /notification-subscriptions/v1/webhooks/{webhookId} | Update a Webhook Subscription - -# **deleteWebhookSubscription** -> deleteWebhookSubscription(webhookId) + +# **notificationSubscriptionsV1WebhooksWebhookIdPost** +> InlineResponse2014 notificationSubscriptionsV1WebhooksWebhookIdPost(webhookId) -Delete a Webhook Subscription +Test a Webhook Configuration -Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications. +Test the webhook configuration by sending a sample webhook. Calling this endpoint sends a sample webhook to the endpoint identified in the user's subscription. It will contain sample values for the product & eventType based on values present in your subscription along with a sample message in the payload. Based on the webhook response users can make any necessary modifications or rest assured knowing their setup is configured correctly. ### Example ```java @@ -27,103 +24,12 @@ Delete the webhook. Please note that deleting a particular webhook does not dele ManageWebhooksApi apiInstance = new ManageWebhooksApi(); -String webhookId = "webhookId_example"; // String | The webhook identifier. -try { - apiInstance.deleteWebhookSubscription(webhookId); -} catch (ApiException e) { - System.err.println("Exception when calling ManageWebhooksApi#deleteWebhookSubscription"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **webhookId** | **String**| The webhook identifier. | - -### Return type - -null (empty response body) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 - - -# **getWebhookSubscriptionById** -> InlineResponse2004 getWebhookSubscriptionById(webhookId) - -Get Details On a Single Webhook - -Retrieve the details of a specific webhook by supplying the webhook ID in the path. - -### Example -```java -// Import classes: -//import Invokers.ApiException; -//import Api.ManageWebhooksApi; - - -ManageWebhooksApi apiInstance = new ManageWebhooksApi(); -String webhookId = "webhookId_example"; // String | The webhook Identifier -try { - InlineResponse2004 result = apiInstance.getWebhookSubscriptionById(webhookId); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling ManageWebhooksApi#getWebhookSubscriptionById"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **webhookId** | **String**| The webhook Identifier | - -### Return type - -[**InlineResponse2004**](InlineResponse2004.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 - - -# **getWebhookSubscriptionsByOrg** -> List<InlineResponse2003> getWebhookSubscriptionsByOrg(organizationId, productId, eventType) - -Get Details On All Created Webhooks - -Retrieve a list of all previously created webhooks. - -### Example -```java -// Import classes: -//import Invokers.ApiException; -//import Api.ManageWebhooksApi; - - -ManageWebhooksApi apiInstance = new ManageWebhooksApi(); -String organizationId = "organizationId_example"; // String | The Organization Identifier. -String productId = "productId_example"; // String | The Product Identifier. -String eventType = "eventType_example"; // String | The Event Type. +String webhookId = "webhookId_example"; // String | The Webhook Identifier. try { - List result = apiInstance.getWebhookSubscriptionsByOrg(organizationId, productId, eventType); + InlineResponse2014 result = apiInstance.notificationSubscriptionsV1WebhooksWebhookIdPost(webhookId); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling ManageWebhooksApi#getWebhookSubscriptionsByOrg"); + System.err.println("Exception when calling ManageWebhooksApi#notificationSubscriptionsV1WebhooksWebhookIdPost"); e.printStackTrace(); } ``` @@ -132,13 +38,11 @@ try { Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **organizationId** | **String**| The Organization Identifier. | - **productId** | **String**| The Product Identifier. | - **eventType** | **String**| The Event Type. | + **webhookId** | **String**| The Webhook Identifier. | ### Return type -[**List<InlineResponse2003>**](InlineResponse2003.md) +[**InlineResponse2014**](InlineResponse2014.md) ### Authorization @@ -147,7 +51,7 @@ No authorization required ### HTTP request headers - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 + - **Accept**: application/hal+json;charset=utf-8 # **saveAsymEgressKey** @@ -198,51 +102,5 @@ No authorization required ### HTTP request headers - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 - - -# **updateWebhookSubscription** -> updateWebhookSubscription(webhookId, updateWebhookRequest) - -Update a Webhook Subscription - -Update the webhook subscription using PATCH. - -### Example -```java -// Import classes: -//import Invokers.ApiException; -//import Api.ManageWebhooksApi; - - -ManageWebhooksApi apiInstance = new ManageWebhooksApi(); -String webhookId = "webhookId_example"; // String | The Webhook Identifier. -UpdateWebhookRequest updateWebhookRequest = new UpdateWebhookRequest(); // UpdateWebhookRequest | The webhook payload or changes to apply. -try { - apiInstance.updateWebhookSubscription(webhookId, updateWebhookRequest); -} catch (ApiException e) { - System.err.println("Exception when calling ManageWebhooksApi#updateWebhookSubscription"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **webhookId** | **String**| The Webhook Identifier. | - **updateWebhookRequest** | [**UpdateWebhookRequest**](UpdateWebhookRequest.md)| The webhook payload or changes to apply. | [optional] - -### Return type - -null (empty response body) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 + - **Accept**: application/hal+json;charset=utf-8 diff --git a/docs/Model400UploadBatchFileResponse.md b/docs/Model400UploadBatchFileResponse.md new file mode 100644 index 00000000..8d69a757 --- /dev/null +++ b/docs/Model400UploadBatchFileResponse.md @@ -0,0 +1,11 @@ + +# Model400UploadBatchFileResponse + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **String** | | [optional] +**message** | **String** | | [optional] + + + diff --git a/docs/Notificationsubscriptionsv1productsorganizationIdEventTypes.md b/docs/Notificationsubscriptionsv1productsorganizationIdEventTypes.md deleted file mode 100644 index 16ac93b3..00000000 --- a/docs/Notificationsubscriptionsv1productsorganizationIdEventTypes.md +++ /dev/null @@ -1,14 +0,0 @@ - -# Notificationsubscriptionsv1productsorganizationIdEventTypes - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**eventName** | **String** | | [optional] -**displayName** | **String** | | [optional] -**frequency** | **Integer** | | [optional] -**timeSensitivity** | **Boolean** | | [optional] -**payloadEncryption** | **Boolean** | | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksNotificationScope.md b/docs/Notificationsubscriptionsv1webhooksNotificationScope.md deleted file mode 100644 index a830cb2f..00000000 --- a/docs/Notificationsubscriptionsv1webhooksNotificationScope.md +++ /dev/null @@ -1,11 +0,0 @@ - -# Notificationsubscriptionsv1webhooksNotificationScope - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**scope** | **String** | 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 | [optional] -**scopeData** | **List<String>** | Applicable only if scope=CUSTOM. This should contains a Set of MIDs or OrgIDs for which this subscription is applicable. | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksProducts.md b/docs/Notificationsubscriptionsv1webhooksProducts.md deleted file mode 100644 index 6dd73609..00000000 --- a/docs/Notificationsubscriptionsv1webhooksProducts.md +++ /dev/null @@ -1,11 +0,0 @@ - -# Notificationsubscriptionsv1webhooksProducts - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**productId** | **String** | Product ID. | [optional] -**eventTypes** | **List<String>** | | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksRetryPolicy.md b/docs/Notificationsubscriptionsv1webhooksRetryPolicy.md deleted file mode 100644 index 4c2d28d0..00000000 --- a/docs/Notificationsubscriptionsv1webhooksRetryPolicy.md +++ /dev/null @@ -1,17 +0,0 @@ - -# Notificationsubscriptionsv1webhooksRetryPolicy - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**algorithm** | **String** | This is used to calculate the Retry Sequence. Sample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3 Arithmetic = a+r(n-1) Retry 1 - 10 minutes Retry 2 - 10+30x1 = 40 minutes Retry 3 - 10+30x2 = 70 minutes Geometric = ar^(n-1) Retry 1 - 10 minutes Retry 2 - 10x30^1 = 300 minutes Retry 3 - 10x30^2 = 9,000 minutes | [optional] -**firstRetry** | **Integer** | When to initiate first retry, after the initial call failed. (in mins). | [optional] -**interval** | **Integer** | The interval between retries (in mins). | [optional] -**numberOfRetries** | **Integer** | The number of retries per sequence. | [optional] -**deactivateFlag** | **String** | Deactivate the subscription if your retries fail to deliver. If this is set to `true`, the automatic suspend and resume feature will occur. This would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent. If this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active. | [optional] -**repeatSequenceCount** | **Integer** | The number of times to repeat the complete retry sequence. 0 => don't repeat the retry sequence 1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3) 2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3) | [optional] -**repeatSequenceWaitTime** | **Integer** | The time to wait to before repeating the complete retry sequence. Amount of time to wait between each sequence. Sample calculation using repeatSequenceWaitTime=10 (R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3) | [optional] -**additionalAttributes** | [**List<Map<String, String>>**](Map.md) | Additional data, if any. | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy.md b/docs/Notificationsubscriptionsv1webhooksSecurityPolicy.md deleted file mode 100644 index 0e1e579d..00000000 --- a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy.md +++ /dev/null @@ -1,11 +0,0 @@ - -# Notificationsubscriptionsv1webhooksSecurityPolicy - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**securityType** | **String** | Security Policy of the client server. | [optional] -**config** | [**Notificationsubscriptionsv1webhooksSecurityPolicyConfig**](Notificationsubscriptionsv1webhooksSecurityPolicyConfig.md) | | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1.md b/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1.md deleted file mode 100644 index c16fff1b..00000000 --- a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1.md +++ /dev/null @@ -1,12 +0,0 @@ - -# Notificationsubscriptionsv1webhooksSecurityPolicy1 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**securityType** | **String** | Security Policy of the client server. | [optional] -**proxyType** | **String** | Internal client proxy type to be used by security policy. | [optional] -**config** | [**Notificationsubscriptionsv1webhooksSecurityPolicy1Config**](Notificationsubscriptionsv1webhooksSecurityPolicy1Config.md) | | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.md b/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.md deleted file mode 100644 index 3cf8a73f..00000000 --- a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.md +++ /dev/null @@ -1,13 +0,0 @@ - -# Notificationsubscriptionsv1webhooksSecurityPolicy1Config - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**oAuthTokenExpiry** | **String** | Token expiration for the oAuth server. | [optional] -**oAuthURL** | **String** | Client direct endpoint to the oAuth server. | [optional] -**oAuthTokenType** | **String** | Token type for the oAuth config. | [optional] -**additionalConfig** | [**Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig**](Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.md) | | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.md b/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.md deleted file mode 100644 index 6b31d8e7..00000000 --- a/docs/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.md +++ /dev/null @@ -1,13 +0,0 @@ - -# Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**aud** | **String** | | [optional] -**clientId** | **String** | | [optional] -**keyId** | **String** | | [optional] -**scope** | **String** | | [optional] - - - diff --git a/docs/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.md b/docs/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.md deleted file mode 100644 index 11d253a9..00000000 --- a/docs/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.md +++ /dev/null @@ -1,12 +0,0 @@ - -# Notificationsubscriptionsv1webhooksSecurityPolicyConfig - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**oAuthTokenExpiry** | **String** | Token expiration for the oAuth server. | [optional] -**oAuthURL** | **String** | Client direct endpoint to the oAuth server. | [optional] -**oAuthTokenType** | **String** | Token type for the oAuth config. | [optional] - - - diff --git a/docs/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.md b/docs/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.md deleted file mode 100644 index c312cf4c..00000000 --- a/docs/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.md +++ /dev/null @@ -1,15 +0,0 @@ - -# Nrtfv1webhookswebhookIdreplaysByDeliveryStatus - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **String** | The status of the webhook. Options are FAILED or RETRY | [optional] -**startTime** | [**DateTime**](DateTime.md) | The start time in yyyy-mm-dd hh:mm:ss.ms format. Maximum value is 1 month prior to todays system time. The difference between Start Time and End Time cannot exceed a 24 hour window within the last month. | [optional] -**endTime** | [**DateTime**](DateTime.md) | The end time in yyyy-mm-dd hh:mm:ss.ms format. The difference between Start Time and End Time cannot exceed a 24 hour window within the last month. | [optional] -**hoursBack** | **Integer** | Alternative parameter to startTime/endTime. It evaluates the startTime using the current system time (endTime) and the hoursBack value (default = 24hrs). | [optional] -**productId** | **String** | | [optional] -**eventType** | **String** | | [optional] - - - diff --git a/docs/PaymentsStrongAuthIssuerInformation.md b/docs/PaymentsStrongAuthIssuerInformation.md index bf5a3d92..5fb999d2 100644 --- a/docs/PaymentsStrongAuthIssuerInformation.md +++ b/docs/PaymentsStrongAuthIssuerInformation.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **lowValueExemptionResult** | **String** | This will be the value returned by Visanet when low value exemption has been requested. Valid values: Visa Platform Connect - `2` Low value exemption validated/honored - `3` Low value exemption failed validation/not honored | [optional] **secureCorporatePaymentResult** | **String** | This will be the value returned by Visanet when secure corporate payment (scp) exemption has been requested. Valid values: Visa Platform Connect - `2` Secure corporate payment exemption validated/honored - `3` Secure corporate payment exemption failed validation/not honored | [optional] **transactionRiskAnalysisExemptionResult** | **String** | This will be the value returned by Visanet when transaction risk analysis (TRA) exemption has been requested. Valid values: Visa Platform Connect - `2` transaction risk analysis (TRA) exemption validated/honored - `3` transaction risk analysis (TRA) exemption failed validation/not honored | [optional] +**delegatedAuthenticationResult** | **String** | This will be the value returned by Visanet when delegated authentication has been requested. | [optional] diff --git a/docs/PtsV2PaymentsPost201Response1.md b/docs/PtsV2PaymentsPost201Response1.md index 2433ead9..70a8563a 100644 --- a/docs/PtsV2PaymentsPost201Response1.md +++ b/docs/PtsV2PaymentsPost201Response1.md @@ -12,6 +12,8 @@ Name | Type | Description | Notes **paymentInformation** | [**PtsV2PaymentsPost201Response1PaymentInformation**](PtsV2PaymentsPost201Response1PaymentInformation.md) | | [optional] **orderInformation** | [**PtsV2PaymentsPost201Response1OrderInformation**](PtsV2PaymentsPost201Response1OrderInformation.md) | | [optional] **clientReferenceInformation** | [**PtsV2IncrementalAuthorizationPatch201ResponseClientReferenceInformation**](PtsV2IncrementalAuthorizationPatch201ResponseClientReferenceInformation.md) | | [optional] +**issuerInformation** | [**PtsV2PaymentsPost201Response1IssuerInformation**](PtsV2PaymentsPost201Response1IssuerInformation.md) | | [optional] +**errorInformation** | [**PtsV2PaymentsPost201Response1ErrorInformation**](PtsV2PaymentsPost201Response1ErrorInformation.md) | | [optional] diff --git a/docs/PtsV2PaymentsPost201Response1ErrorInformation.md b/docs/PtsV2PaymentsPost201Response1ErrorInformation.md new file mode 100644 index 00000000..4afcf1d8 --- /dev/null +++ b/docs/PtsV2PaymentsPost201Response1ErrorInformation.md @@ -0,0 +1,12 @@ + +# PtsV2PaymentsPost201Response1ErrorInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reason** | **String** | The reason of the status. | [optional] +**message** | **String** | The detail message related to the status and reason listed above. | [optional] +**details** | [**List<PtsV2PaymentsPost201Response1ErrorInformationDetails>**](PtsV2PaymentsPost201Response1ErrorInformationDetails.md) | | [optional] + + + diff --git a/docs/PtsV2PaymentsPost201Response1ErrorInformationDetails.md b/docs/PtsV2PaymentsPost201Response1ErrorInformationDetails.md new file mode 100644 index 00000000..32023c94 --- /dev/null +++ b/docs/PtsV2PaymentsPost201Response1ErrorInformationDetails.md @@ -0,0 +1,10 @@ + +# PtsV2PaymentsPost201Response1ErrorInformationDetails + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reason** | **String** | Possible reasons for the error. Possible values: - MISSING_FIELD - INVALID_DATA | [optional] + + + diff --git a/docs/PtsV2PaymentsPost201Response1IssuerInformation.md b/docs/PtsV2PaymentsPost201Response1IssuerInformation.md new file mode 100644 index 00000000..368666c1 --- /dev/null +++ b/docs/PtsV2PaymentsPost201Response1IssuerInformation.md @@ -0,0 +1,11 @@ + +# PtsV2PaymentsPost201Response1IssuerInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Name of the card issuer provided by the processor. | [optional] +**code** | **String** | Unique code for card issuer provided by the processor. | [optional] + + + diff --git a/docs/PtsV2PaymentsPost201Response1OrderInformation.md b/docs/PtsV2PaymentsPost201Response1OrderInformation.md index 992a265b..1596c3f9 100644 --- a/docs/PtsV2PaymentsPost201Response1OrderInformation.md +++ b/docs/PtsV2PaymentsPost201Response1OrderInformation.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **billTo** | [**PtsV2PaymentsPost201Response1OrderInformationBillTo**](PtsV2PaymentsPost201Response1OrderInformationBillTo.md) | | [optional] **shipTo** | [**PtsV2PaymentsPost201Response1OrderInformationShipTo**](PtsV2PaymentsPost201Response1OrderInformationShipTo.md) | | [optional] +**amountDetails** | [**PtsV2PaymentsPost201Response1OrderInformationAmountDetails**](PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md) | | [optional] diff --git a/docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md b/docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md new file mode 100644 index 00000000..b7482e8a --- /dev/null +++ b/docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md @@ -0,0 +1,10 @@ + +# PtsV2PaymentsPost201Response1OrderInformationAmountDetails + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**refundBalance** | **String** | This field will carry the remaning amount which can be refunded. | [optional] + + + diff --git a/docs/PtsV2PaymentsPost201Response1PaymentInformation.md b/docs/PtsV2PaymentsPost201Response1PaymentInformation.md index 36599f28..1454b904 100644 --- a/docs/PtsV2PaymentsPost201Response1PaymentInformation.md +++ b/docs/PtsV2PaymentsPost201Response1PaymentInformation.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **paymentType** | [**PtsV2PaymentsPost201Response1PaymentInformationPaymentType**](PtsV2PaymentsPost201Response1PaymentInformationPaymentType.md) | | [optional] +**eWallet** | [**PtsV2PaymentsPost201Response1PaymentInformationEWallet**](PtsV2PaymentsPost201Response1PaymentInformationEWallet.md) | | [optional] **customer** | [**Ptsv2refreshpaymentstatusidPaymentInformationCustomer**](Ptsv2refreshpaymentstatusidPaymentInformationCustomer.md) | | [optional] **bank** | [**PtsV2PaymentsPost201Response1PaymentInformationBank**](PtsV2PaymentsPost201Response1PaymentInformationBank.md) | | [optional] diff --git a/docs/PtsV2PaymentsPost201Response1PaymentInformationEWallet.md b/docs/PtsV2PaymentsPost201Response1PaymentInformationEWallet.md new file mode 100644 index 00000000..45e9357e --- /dev/null +++ b/docs/PtsV2PaymentsPost201Response1PaymentInformationEWallet.md @@ -0,0 +1,11 @@ + +# PtsV2PaymentsPost201Response1PaymentInformationEWallet + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | Valid Values: - CreditCard - BankTransfer - MobileTransfer - KakaoMoney - NaverPayPoint | [optional] +**fundingSource** | **String** | Valid Values: - PAYCO - Kakaopay - NaverPay - SSG Pay - L.Pay - Apple Pay - TOSS Pay - Samsung Pay | [optional] + + + diff --git a/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md b/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md index 2e5c616d..e71fa80a 100644 --- a/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md +++ b/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md @@ -7,6 +7,8 @@ Name | Type | Description | Notes **transactionId** | **String** | Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value. Returned by the authorization service. #### PIN debit Transaction identifier generated by the processor. Returned by PIN debit credit. #### GPX Processor transaction ID. #### Cielo For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank. #### Comercio Latino For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank. #### CyberSource through VisaNet and GPN For details about this value for CyberSource through VisaNet and GPN, see \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf) #### Moneris This value identifies the transaction on a host system. It contains the following information: - Terminal used to process the transaction - Shift during which the transaction took place - Batch number - Transaction number within the batch You must store this value. If you give the customer a receipt, display this value on the receipt. **Example** For the value 66012345001069003: - Terminal ID = 66012345 - Shift number = 001 - Batch number = 069 - Transaction number = 003 | [optional] **tradeNumber** | **String** | The description for this field is not available. | [optional] **rawResponse** | **String** | This field is set to the value of failure reason returned by the processor. | [optional] +**rawResponseLocal** | **String** | This field is set to the value of failure reason returned by the processor in the local language of the processor. | [optional] +**responseDetails** | **String** | This field might contain information about a decline. | [optional] **responseCode** | **String** | This field is set to the value of response code returned by the processor. | [optional] **sellerProtection** | [**PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection**](PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection.md) | | [optional] **avs** | [**PtsV2PaymentsPost201Response1ProcessorInformationAvs**](PtsV2PaymentsPost201Response1ProcessorInformationAvs.md) | | [optional] diff --git a/docs/PtsV2PaymentsRefundPost201Response.md b/docs/PtsV2PaymentsRefundPost201Response.md index ac015dd5..d3e5f027 100644 --- a/docs/PtsV2PaymentsRefundPost201Response.md +++ b/docs/PtsV2PaymentsRefundPost201Response.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **reconciliationId** | **String** | Reference number for the transaction. Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource. The actual value used in the request to the processor is provided back to you by Cybersource in the response. | [optional] **clientReferenceInformation** | [**PtsV2PaymentsRefundPost201ResponseClientReferenceInformation**](PtsV2PaymentsRefundPost201ResponseClientReferenceInformation.md) | | [optional] **refundAmountDetails** | [**PtsV2PaymentsRefundPost201ResponseRefundAmountDetails**](PtsV2PaymentsRefundPost201ResponseRefundAmountDetails.md) | | [optional] +**processingInformation** | [**PtsV2PaymentsCapturesPost201ResponseProcessingInformation**](PtsV2PaymentsCapturesPost201ResponseProcessingInformation.md) | | [optional] **processorInformation** | [**PtsV2PaymentsRefundPost201ResponseProcessorInformation**](PtsV2PaymentsRefundPost201ResponseProcessorInformation.md) | | [optional] **orderInformation** | [**PtsV2PaymentsRefundPost201ResponseOrderInformation**](PtsV2PaymentsRefundPost201ResponseOrderInformation.md) | | [optional] **pointOfSaleInformation** | [**PtsV2PaymentsCapturesPost201ResponsePointOfSaleInformation**](PtsV2PaymentsCapturesPost201ResponsePointOfSaleInformation.md) | | [optional] diff --git a/docs/Ptsv2paymentsProcessingInformation.md b/docs/Ptsv2paymentsProcessingInformation.md index 0ebdd6ec..260fdf85 100644 --- a/docs/Ptsv2paymentsProcessingInformation.md +++ b/docs/Ptsv2paymentsProcessingInformation.md @@ -43,7 +43,7 @@ Name | Type | Description | Notes **enablerId** | **String** | Enablers are payment processing entities that are not acquiring members and are often the primary relationship owner with merchants and originators. Enablers own technical solutions through which the merchant or originator will access acceptance. The Enabler ID is a five-character hexadecimal identifier that will be used by Visa to identify enablers. Enabler ID assignment will be determined by Visa. Visa will communicate Enablers assignments to enablers. | [optional] **processingInstruction** | **String** | The instruction to process an order. - default value: 'NO_INSTRUCTION' - 'ORDER_SAVED_EXPLICITLY' | [optional] **transactionTypeIndicator** | **String** | This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only. Possible values: - 201- Mastercard Rebate - 202- rePower Load Value - 203- Gaming Re-pay - 204- General Person-to-Person - 205- General Transfer to Own Account - 206- Agent Cash Out - 207- Payment of Own Credit Card Bill - 208- Business Disbursement - 209- Government/Non-Profit Disbursement - 210- Rapid Merchant Settlement - 211- Cash in at ATM (Usage limited to specific countries) - 212- Cash in at Point of Sale (Usage limited to specific countries) - 213- General Business to Business Transfer - 214- Mastercard Merchant Presented QR - 215- Mastercard Merchant Presented QR Refund Payment - 216- Utility Payments (for Brazil domestic use only) - 217- Government Services (for Brazil domestic use only) - 218- Mobile phone top-ups (for Brazil domestic use only) - 219- Coupon booklet payments (for Brazil domestic use only) - 220- General Person-to-Person Transfer - 221- Person-to-Person Transfer to Card Account - 222- General Transfer to Own Account - 223- Agent Cash Out - 224- Payment of Own Credit Card Bill - 225- Business Disbursement - 226- Transfer to Own Staged Digital Wallet Account - 227- Transfer to Own Debit or Prepaid Account - 228- General Business-to-Business Transfer - 229- Installment-based repayment - 230- Mastercard ATM Cash Pick-Up Transaction - 231- Cryptocurrency - 232- High-risk Securities | [optional] -**purposeOfPayment** | **String** | Possible values: - `16` : High Risk Security Other values can also be accommodated in future for different transactions. Currently this field is only used in OCT, we could not find any existing valid values for the past 30 days in production. Issuer may decline invalid purpose of payment code with response code 93. This field is also applicable for AFT transactions. For list of supported values, please refer to Developer Guide. | [optional] +**purposeOfPayment** | **String** | This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide. | [optional] **languageCode** | **String** | Contains the ISO 639-2 defined language Code | [optional] **originalPaymentId** | **String** | This value is used for linking Authorization extension transaction to the original Authorization transaction and for linking MIT (Merchant initiated transaction) with the respective CIT (Customer initiated transaction). | [optional] diff --git a/docs/Ptsv2payoutsProcessingInformation.md b/docs/Ptsv2payoutsProcessingInformation.md index 5c141c7e..46a8945d 100644 --- a/docs/Ptsv2payoutsProcessingInformation.md +++ b/docs/Ptsv2payoutsProcessingInformation.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **reconciliationId** | **String** | Please check with Cybersource customer support to see if your merchant account is configured correctly so you can include this field in your request. * For Payouts: max length for FDCCompass is String (22). | [optional] **payoutsOptions** | [**Ptsv2payoutsProcessingInformationPayoutsOptions**](Ptsv2payoutsProcessingInformationPayoutsOptions.md) | | [optional] **transactionReason** | **String** | Transaction reason code. | [optional] -**purposeOfPayment** | **String** | This will send purpose of funds code for original credit transactions (OCTs). | [optional] +**purposeOfPayment** | **String** | This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide. | [optional] **fundingOptions** | [**Ptsv2payoutsProcessingInformationFundingOptions**](Ptsv2payoutsProcessingInformationFundingOptions.md) | | [optional] **languageCode** | **String** | Contains the ISO 639-2 defined language Code | [optional] **purchaseOptions** | [**Ptsv2payoutsProcessingInformationPurchaseOptions**](Ptsv2payoutsProcessingInformationPurchaseOptions.md) | | [optional] diff --git a/docs/Ptsv2payoutsRecipientInformation.md b/docs/Ptsv2payoutsRecipientInformation.md index c9e826af..a991ae01 100644 --- a/docs/Ptsv2payoutsRecipientInformation.md +++ b/docs/Ptsv2payoutsRecipientInformation.md @@ -4,13 +4,13 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**firstName** | **String** | First name of recipient. characters. * CTV (14) * Paymentech (30) | [optional] -**middleName** | **String** | Recipient'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. | [optional] -**lastName** | **String** | Last name of recipient. characters. * CTV (14) * Paymentech (30) | [optional] -**address1** | **String** | Recipient address information. Required only for FDCCompass. | [optional] -**locality** | **String** | Recipient city. Required only for FDCCompass. | [optional] -**administrativeArea** | **String** | Recipient State. Required only for FDCCompass. | [optional] -**country** | **String** | Recipient country code. Required only for FDCCompass. | [optional] +**firstName** | **String** | First name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. | [optional] +**middleName** | **String** | Middle name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. | [optional] +**lastName** | **String** | Last name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. | [optional] +**address1** | **String** | The street address of the recipient This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. | [optional] +**locality** | **String** | The city of the recipient. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. | [optional] +**administrativeArea** | **String** | The state or province of the recipient. This field is applicable for AFT and OCT transactions when the recipient country is US or CA. Else it is optional. Must be a two character value | [optional] +**country** | **String** | The country associated with the address of the recipient. This field is applicable for AFT and OCT transactions. Must be a two character ISO country code. For example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) | [optional] **postalCode** | **String** | Recipient postal code. Required only for FDCCompass. | [optional] **phoneNumber** | **String** | Recipient phone number. Required only for FDCCompass. | [optional] **aliasName** | **String** | Account owner alias name. | [optional] diff --git a/docs/Ptsv2payoutsSenderInformation.md b/docs/Ptsv2payoutsSenderInformation.md index 79985ff2..9b6a99a0 100644 --- a/docs/Ptsv2payoutsSenderInformation.md +++ b/docs/Ptsv2payoutsSenderInformation.md @@ -6,10 +6,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **referenceNumber** | **String** | Reference number generated by you that uniquely identifies the sender. | [optional] **account** | [**Ptsv2payoutsSenderInformationAccount**](Ptsv2payoutsSenderInformationAccount.md) | | [optional] -**firstName** | **String** | First name of sender (Optional). * CTV (14) * Paymentech (30) | [optional] +**firstName** | **String** | First name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor. | [optional] **middleInitial** | **String** | Recipient middle initial (Optional). | [optional] -**middleName** | **String** | 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. | [optional] -**lastName** | **String** | Recipient last name (Optional). * CTV (14) * Paymentech (30) | [optional] +**middleName** | **String** | Middle name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. | [optional] +**lastName** | **String** | Last name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. | [optional] **name** | **String** | Name of sender. **Funds Disbursement** This value is the name of the originator sending the funds disbursement. * CTV, Paymentech (30) | [optional] **address1** | **String** | Street address of sender. **Funds Disbursement** This value is the address of the originator sending the funds disbursement. | [optional] **locality** | **String** | City of sender. **Funds Disbursement** This value is the city of the originator sending the funds disbursement. | [optional] diff --git a/docs/Ptsv2payoutsSenderInformationAccount.md b/docs/Ptsv2payoutsSenderInformationAccount.md index 4bcad01f..61b27920 100644 --- a/docs/Ptsv2payoutsSenderInformationAccount.md +++ b/docs/Ptsv2payoutsSenderInformationAccount.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **fundsSource** | **String** | Source of funds. Possible values: Paymentech, CTV, FDC Compass: - 01: Credit card - 02: Debit card - 03: Prepaid card Paymentech, CTV - - 04: Cash - 05: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings accounts, and proprietary debit or ATM cards. - 06: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines of credit. FDCCompass - - 04: Deposit Account **Funds Disbursement** This value is most likely 05 to identify that the originator used a deposit account to fund the disbursement. **Credit Card Bill Payment** This value must be 02, 03, 04, or 05. | [optional] -**number** | **String** | 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. **Funds disbursements** This field is optional. **All other transactions** This field is required when the sender funds the transaction with a financial instrument, for example debit card. Length: * FDCCompass (<= 19) * Paymentech (<= 16) | [optional] +**number** | **String** | 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. **Funds disbursements and OCT transactions** This field is optional. **All other transactions** This field is required when the sender funds the transaction with a financial instrument, for example debit card. Length: * FDCCompass (<= 19) * Paymentech (<= 16) | [optional] diff --git a/docs/ReplayWebhooksApi.md b/docs/ReplayWebhooksApi.md deleted file mode 100644 index a1e22c6a..00000000 --- a/docs/ReplayWebhooksApi.md +++ /dev/null @@ -1,55 +0,0 @@ -# ReplayWebhooksApi - -All URIs are relative to *https://apitest.cybersource.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**replayPreviousWebhooks**](ReplayWebhooksApi.md#replayPreviousWebhooks) | **POST** /nrtf/v1/webhooks/{webhookId}/replays | Replay Previous Webhooks - - - -# **replayPreviousWebhooks** -> replayPreviousWebhooks(webhookId, replayWebhooksRequest) - -Replay Previous Webhooks - -Initiate a webhook replay request to replay transactions that happened in the past. Cannot execute more than 1 replay request at a time. While one request is processing, you will not be allowed to execute another replay. The 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. - -### Example -```java -// Import classes: -//import Invokers.ApiException; -//import Api.ReplayWebhooksApi; - - -ReplayWebhooksApi apiInstance = new ReplayWebhooksApi(); -String webhookId = "webhookId_example"; // String | The webhook uuid identifier. -ReplayWebhooksRequest replayWebhooksRequest = new ReplayWebhooksRequest(); // ReplayWebhooksRequest | The request query -try { - apiInstance.replayPreviousWebhooks(webhookId, replayWebhooksRequest); -} catch (ApiException e) { - System.err.println("Exception when calling ReplayWebhooksApi#replayPreviousWebhooks"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **webhookId** | **String**| The webhook uuid identifier. | - **replayWebhooksRequest** | [**ReplayWebhooksRequest**](ReplayWebhooksRequest.md)| The request query | [optional] - -### Return type - -null (empty response body) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json;charset=utf-8 - - **Accept**: application/json;charset=utf-8 - diff --git a/docs/ReplayWebhooksRequest.md b/docs/ReplayWebhooksRequest.md deleted file mode 100644 index b7b98e2c..00000000 --- a/docs/ReplayWebhooksRequest.md +++ /dev/null @@ -1,11 +0,0 @@ - -# ReplayWebhooksRequest - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**byTransactionTraceIdentifiers** | **List<String>** | | [optional] -**byDeliveryStatus** | [**Nrtfv1webhookswebhookIdreplaysByDeliveryStatus**](Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.md) | | [optional] - - - diff --git a/docs/SaveAsymEgressKey.md b/docs/SaveAsymEgressKey.md index 98303efa..ecd48f25 100644 --- a/docs/SaveAsymEgressKey.md +++ b/docs/SaveAsymEgressKey.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **clientReferenceInformation** | [**Kmsegressv2keysasymClientReferenceInformation**](Kmsegressv2keysasymClientReferenceInformation.md) | | [optional] -**clientRequestAction** | **String** | Client request action. | -**keyInformation** | [**Kmsegressv2keysasymKeyInformation**](Kmsegressv2keysasymKeyInformation.md) | | +**clientRequestAction** | **String** | Client request action. | [optional] +**keyInformation** | [**Kmsegressv2keysasymKeyInformation**](Kmsegressv2keysasymKeyInformation.md) | | [optional] diff --git a/docs/SaveSymEgressKey.md b/docs/SaveSymEgressKey.md index 645a62a6..3eae28ce 100644 --- a/docs/SaveSymEgressKey.md +++ b/docs/SaveSymEgressKey.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **clientReferenceInformation** | [**Kmsegressv2keyssymClientReferenceInformation**](Kmsegressv2keyssymClientReferenceInformation.md) | | [optional] -**clientRequestAction** | **String** | Client request action. | -**keyInformation** | [**Kmsegressv2keyssymKeyInformation**](Kmsegressv2keyssymKeyInformation.md) | | +**clientRequestAction** | **String** | Client request action. | [optional] +**keyInformation** | [**Kmsegressv2keyssymKeyInformation**](Kmsegressv2keyssymKeyInformation.md) | | [optional] diff --git a/docs/TransactionBatchesApi.md b/docs/TransactionBatchesApi.md index a55be9dc..8df3bcd1 100644 --- a/docs/TransactionBatchesApi.md +++ b/docs/TransactionBatchesApi.md @@ -7,6 +7,7 @@ Method | HTTP request | Description [**getTransactionBatchDetails**](TransactionBatchesApi.md#getTransactionBatchDetails) | **GET** /pts/v1/transaction-batch-details/{id} | Get Transaction Details for a given Batch Id [**getTransactionBatchId**](TransactionBatchesApi.md#getTransactionBatchId) | **GET** /pts/v1/transaction-batches/{id} | Get Individual Batch File [**getTransactionBatches**](TransactionBatchesApi.md#getTransactionBatches) | **GET** /pts/v1/transaction-batches | Get a List of Batch Files +[**uploadTransactionBatch**](TransactionBatchesApi.md#uploadTransactionBatch) | **POST** /pts/v1/transaction-batch-upload | Upload a Batch File @@ -149,3 +150,47 @@ No authorization required - **Content-Type**: application/json;charset=utf-8 - **Accept**: application/hal+json + +# **uploadTransactionBatch** +> uploadTransactionBatch(file) + +Upload a Batch File + +This endpoint enables the upload of a batch file containing transactions for processing. + +### Example +```java +// Import classes: +//import Invokers.ApiException; +//import Api.TransactionBatchesApi; + + +TransactionBatchesApi apiInstance = new TransactionBatchesApi(); +File file = new File("/path/to/file.txt"); // File | The file to upload. +try { + apiInstance.uploadTransactionBatch(file); +} catch (ApiException e) { + System.err.println("Exception when calling TransactionBatchesApi#uploadTransactionBatch"); + e.printStackTrace(); +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **file** | **File**| The file to upload. | + +### Return type + +null (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: multipart/form-data + - **Accept**: application/json + diff --git a/docs/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.md b/docs/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.md index ecf11310..7afd79e4 100644 --- a/docs/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.md +++ b/docs/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **country** | **String** | This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer. | [optional] **binLength** | **String** | This field contains the length of the BIN. | [optional] **phoneNumber** | **String** | This field contains the customer service phone number for the issuer. | [optional] +**transactionInformation** | **String** | In a Mastercard Transaction, this field contains the unique identifier (Transaction Link ID) for the first transaction in a transaction life cycle. This ID is crucial for maintaining continuity and linking subsequent operations to the original transaction. | [optional] diff --git a/docs/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.md b/docs/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.md index 51a95731..1931538d 100644 --- a/docs/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.md +++ b/docs/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **processor** | [**TssV2TransactionsGet200ResponseProcessorInformationProcessor**](TssV2TransactionsGet200ResponseProcessorInformationProcessor.md) | | [optional] +**providerTransactionId** | **String** | Unique ID [codigo] generated by the processor for real-time payments processed directly by the Iugu processor. | [optional] **approvalCode** | **String** | Authorization code. Returned only when the processor returns this value. The length of this value depends on your processor. Returned by authorization service. #### PIN debit Authorization code that is returned by the processor. Returned by PIN debit credit. #### Elavon Encrypted Account Number Program The returned value is OFFLINE. #### TSYS Acquiring Solutions The returned value for a successful zero amount authorization is 000000. | [optional] **retrievalReferenceNumber** | **String** | #### Ingenico ePayments Unique number that CyberSource generates to identify the transaction. You can use this value to identify transactions in the Ingenico ePayments Collections Report, which provides settlement information. Contact customer support for information about the report. ### CyberSource through VisaNet Retrieval request number. | [optional] diff --git a/docs/UpdateWebhookRequest.md b/docs/UpdateWebhookRequest.md deleted file mode 100644 index 68c8f5c4..00000000 --- a/docs/UpdateWebhookRequest.md +++ /dev/null @@ -1,21 +0,0 @@ - -# UpdateWebhookRequest - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **String** | Client friendly webhook name. | [optional] -**description** | **String** | Client friendly webhook description.\\ | [optional] -**organizationId** | **String** | Organization Id. | [optional] -**productId** | **String** | The product you are receiving a webhook for. | [optional] -**eventTypes** | **List<String>** | Array of the different events for a given product id. | [optional] -**webhookUrl** | **String** | The client's endpoint (URL) to receive webhooks. | [optional] -**healthCheckUrl** | **String** | The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. | [optional] -**status** | **String** | Webhook status. | [optional] -**notificationScope** | [**Notificationsubscriptionsv1webhooksNotificationScope**](Notificationsubscriptionsv1webhooksNotificationScope.md) | | [optional] -**retryPolicy** | [**Notificationsubscriptionsv1webhooksRetryPolicy**](Notificationsubscriptionsv1webhooksRetryPolicy.md) | | [optional] -**securityPolicy** | [**Notificationsubscriptionsv1webhooksSecurityPolicy**](Notificationsubscriptionsv1webhooksSecurityPolicy.md) | | [optional] -**additionalAttributes** | [**List<Map<String, String>>**](Map.md) | Additional, free form configuration data. | [optional] - - - diff --git a/src/main/java/Api/BatchesApi.java b/src/main/java/Api/BatchesApi.java index 16556a3b..13c6fac6 100644 --- a/src/main/java/Api/BatchesApi.java +++ b/src/main/java/Api/BatchesApi.java @@ -29,9 +29,9 @@ import Model.Body; -import Model.InlineResponse2005; -import Model.InlineResponse2006; -import Model.InlineResponse2007; +import Model.InlineResponse2002; +import Model.InlineResponse2003; +import Model.InlineResponse2004; import Model.InlineResponse202; import Model.InlineResponse401; @@ -154,12 +154,12 @@ private okhttp3.Call getBatchReportValidateBeforeCall(String batchId, final Prog * Retrieve a Batch Report * **Get Batch Report**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) - Source record information including token ids, masked card number, expiration dates & card type. - Response record information including response code, reason, token ids, masked card number, expiration dates & card type. * @param batchId Unique identification number assigned to the submitted request. (required) - * @return InlineResponse2007 + * @return InlineResponse2004 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public InlineResponse2007 getBatchReport(String batchId) throws ApiException { + public InlineResponse2004 getBatchReport(String batchId) throws ApiException { logger.info("CALL TO METHOD 'getBatchReport' STARTED"); - ApiResponse resp = getBatchReportWithHttpInfo(batchId); + ApiResponse resp = getBatchReportWithHttpInfo(batchId); logger.info("CALL TO METHOD 'getBatchReport' ENDED"); return resp.getData(); } @@ -168,13 +168,13 @@ public InlineResponse2007 getBatchReport(String batchId) throws ApiException { * Retrieve a Batch Report * **Get Batch Report**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) - Source record information including token ids, masked card number, expiration dates & card type. - Response record information including response code, reason, token ids, masked card number, expiration dates & card type. * @param batchId Unique identification number assigned to the submitted request. (required) - * @return ApiResponse<InlineResponse2007> + * @return ApiResponse<InlineResponse2004> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public ApiResponse getBatchReportWithHttpInfo(String batchId) throws ApiException { + public ApiResponse getBatchReportWithHttpInfo(String batchId) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); okhttp3.Call call = getBatchReportValidateBeforeCall(batchId, null, null); - Type localVarReturnType = new TypeToken(){}.getType(); + Type localVarReturnType = new TypeToken(){}.getType(); return apiClient.execute(call, localVarReturnType); } @@ -186,7 +186,7 @@ public ApiResponse getBatchReportWithHttpInfo(String batchId * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object */ - public okhttp3.Call getBatchReportAsync(String batchId, final ApiCallback callback) throws ApiException { + public okhttp3.Call getBatchReportAsync(String batchId, final ApiCallback callback) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); ProgressResponseBody.ProgressListener progressListener = null; @@ -209,7 +209,7 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don } okhttp3.Call call = getBatchReportValidateBeforeCall(batchId, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken(){}.getType(); + Type localVarReturnType = new TypeToken(){}.getType(); apiClient.executeAsync(call, localVarReturnType, callback); return call; } @@ -299,12 +299,12 @@ private okhttp3.Call getBatchStatusValidateBeforeCall(String batchId, final Prog * Retrieve a Batch Status * **Get Batch Status**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) * @param batchId Unique identification number assigned to the submitted request. (required) - * @return InlineResponse2006 + * @return InlineResponse2003 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public InlineResponse2006 getBatchStatus(String batchId) throws ApiException { + public InlineResponse2003 getBatchStatus(String batchId) throws ApiException { logger.info("CALL TO METHOD 'getBatchStatus' STARTED"); - ApiResponse resp = getBatchStatusWithHttpInfo(batchId); + ApiResponse resp = getBatchStatusWithHttpInfo(batchId); logger.info("CALL TO METHOD 'getBatchStatus' ENDED"); return resp.getData(); } @@ -313,13 +313,13 @@ public InlineResponse2006 getBatchStatus(String batchId) throws ApiException { * Retrieve a Batch Status * **Get Batch Status**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) * @param batchId Unique identification number assigned to the submitted request. (required) - * @return ApiResponse<InlineResponse2006> + * @return ApiResponse<InlineResponse2003> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public ApiResponse getBatchStatusWithHttpInfo(String batchId) throws ApiException { + public ApiResponse getBatchStatusWithHttpInfo(String batchId) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); okhttp3.Call call = getBatchStatusValidateBeforeCall(batchId, null, null); - Type localVarReturnType = new TypeToken(){}.getType(); + Type localVarReturnType = new TypeToken(){}.getType(); return apiClient.execute(call, localVarReturnType); } @@ -331,7 +331,7 @@ public ApiResponse getBatchStatusWithHttpInfo(String batchId * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object */ - public okhttp3.Call getBatchStatusAsync(String batchId, final ApiCallback callback) throws ApiException { + public okhttp3.Call getBatchStatusAsync(String batchId, final ApiCallback callback) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); ProgressResponseBody.ProgressListener progressListener = null; @@ -354,7 +354,7 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don } okhttp3.Call call = getBatchStatusValidateBeforeCall(batchId, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken(){}.getType(); + Type localVarReturnType = new TypeToken(){}.getType(); apiClient.executeAsync(call, localVarReturnType, callback); return call; } @@ -451,12 +451,12 @@ private okhttp3.Call getBatchesListValidateBeforeCall(Long offset, Long limit, S * @param limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. (optional, default to 20) * @param fromDate ISO-8601 format: yyyyMMddTHHmmssZ (optional) * @param toDate ISO-8601 format: yyyyMMddTHHmmssZ (optional) - * @return InlineResponse2005 + * @return InlineResponse2002 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public InlineResponse2005 getBatchesList(Long offset, Long limit, String fromDate, String toDate) throws ApiException { + public InlineResponse2002 getBatchesList(Long offset, Long limit, String fromDate, String toDate) throws ApiException { logger.info("CALL TO METHOD 'getBatchesList' STARTED"); - ApiResponse resp = getBatchesListWithHttpInfo(offset, limit, fromDate, toDate); + ApiResponse resp = getBatchesListWithHttpInfo(offset, limit, fromDate, toDate); logger.info("CALL TO METHOD 'getBatchesList' ENDED"); return resp.getData(); } @@ -468,13 +468,13 @@ public InlineResponse2005 getBatchesList(Long offset, Long limit, String fromDat * @param limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. (optional, default to 20) * @param fromDate ISO-8601 format: yyyyMMddTHHmmssZ (optional) * @param toDate ISO-8601 format: yyyyMMddTHHmmssZ (optional) - * @return ApiResponse<InlineResponse2005> + * @return ApiResponse<InlineResponse2002> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public ApiResponse getBatchesListWithHttpInfo(Long offset, Long limit, String fromDate, String toDate) throws ApiException { + public ApiResponse getBatchesListWithHttpInfo(Long offset, Long limit, String fromDate, String toDate) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); okhttp3.Call call = getBatchesListValidateBeforeCall(offset, limit, fromDate, toDate, null, null); - Type localVarReturnType = new TypeToken(){}.getType(); + Type localVarReturnType = new TypeToken(){}.getType(); return apiClient.execute(call, localVarReturnType); } @@ -489,7 +489,7 @@ public ApiResponse getBatchesListWithHttpInfo(Long offset, L * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object */ - public okhttp3.Call getBatchesListAsync(Long offset, Long limit, String fromDate, String toDate, final ApiCallback callback) throws ApiException { + public okhttp3.Call getBatchesListAsync(Long offset, Long limit, String fromDate, String toDate, final ApiCallback callback) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); ProgressResponseBody.ProgressListener progressListener = null; @@ -512,7 +512,7 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don } okhttp3.Call call = getBatchesListValidateBeforeCall(offset, limit, fromDate, toDate, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken(){}.getType(); + Type localVarReturnType = new TypeToken(){}.getType(); apiClient.executeAsync(call, localVarReturnType, callback); return call; } diff --git a/src/main/java/Api/CreateNewWebhooksApi.java b/src/main/java/Api/CreateNewWebhooksApi.java index 63b7cccf..2127e4d4 100644 --- a/src/main/java/Api/CreateNewWebhooksApi.java +++ b/src/main/java/Api/CreateNewWebhooksApi.java @@ -28,10 +28,7 @@ import java.io.InputStream; -import Model.CreateWebhookRequest; -import Model.InlineResponse2002; import Model.InlineResponse2013; -import Model.InlineResponse2014; import Model.SaveSymEgressKey; import java.lang.reflect.Type; @@ -67,288 +64,6 @@ public void setApiClient(ApiClient apiClient) { this.apiClient = apiClient; } - /** - * Build call for createWebhookSubscription - * @param createWebhookRequest The webhook payload (optional) - * @param progressListener Progress listener - * @param progressRequestListener Progress request listener - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - */ - public okhttp3.Call createWebhookSubscriptionCall(CreateWebhookRequest createWebhookRequest, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - SdkTracker sdkTracker = new SdkTracker(); - Object localVarPostBody = sdkTracker.insertDeveloperIdTracker(createWebhookRequest, CreateWebhookRequest.class.getSimpleName(), apiClient.merchantConfig.getRunEnvironment(), apiClient.merchantConfig.getDefaultDeveloperId()); - - boolean isMLESupportedByCybsForApi = false; - if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "createWebhookSubscription,createWebhookSubscriptionAsync,createWebhookSubscriptionWithHttpInfo,createWebhookSubscriptionCall")) { - try { - localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); - } catch (MLEException e) { - logger.error("Failed to encrypt request body {}", e.getMessage(), e); - throw new ApiException("Failed to encrypt request body : " + e.getMessage()); - } - } - - // create path and map variables - String localVarPath = "/notification-subscriptions/v1/webhooks"; - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json;charset=utf-8" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - "application/json;charset=utf-8" - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().newBuilder().addNetworkInterceptor(new okhttp3.Interceptor() { - @Override - public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { - okhttp3.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call createWebhookSubscriptionValidateBeforeCall(CreateWebhookRequest createWebhookRequest, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - - okhttp3.Call call = createWebhookSubscriptionCall(createWebhookRequest, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * Create a Webhook - * 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. You 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. - *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

- * @param createWebhookRequest The webhook payload (optional) - * @return InlineResponse2014 - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public InlineResponse2014 createWebhookSubscription(CreateWebhookRequest createWebhookRequest) throws ApiException { - logger.info("CALL TO METHOD 'createWebhookSubscription' STARTED"); - ApiResponse resp = createWebhookSubscriptionWithHttpInfo(createWebhookRequest); - logger.info("CALL TO METHOD 'createWebhookSubscription' ENDED"); - return resp.getData(); - } - - /** - * Create a Webhook - * 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. You 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. - * @param createWebhookRequest The webhook payload (optional) - * @return ApiResponse<InlineResponse2014> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse createWebhookSubscriptionWithHttpInfo(CreateWebhookRequest createWebhookRequest) throws ApiException { - this.apiClient.setComputationStartTime(System.nanoTime()); - okhttp3.Call call = createWebhookSubscriptionValidateBeforeCall(createWebhookRequest, null, null); - Type localVarReturnType = new TypeToken(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * Create a Webhook (asynchronously) - * 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. You 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. - * @param createWebhookRequest The webhook payload (optional) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public okhttp3.Call createWebhookSubscriptionAsync(CreateWebhookRequest createWebhookRequest, final ApiCallback callback) throws ApiException { - - this.apiClient.setComputationStartTime(System.nanoTime()); - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - okhttp3.Call call = createWebhookSubscriptionValidateBeforeCall(createWebhookRequest, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } - /** - * Build call for findProductsToSubscribe - * @param organizationId The Organization Identifier. (required) - * @param progressListener Progress listener - * @param progressRequestListener Progress request listener - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - */ - public okhttp3.Call findProductsToSubscribeCall(String organizationId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - SdkTracker sdkTracker = new SdkTracker(); - Object localVarPostBody = null; - if ("GET".equalsIgnoreCase("POST")) { - localVarPostBody = "{}"; - } - - boolean isMLESupportedByCybsForApi = false; - if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "findProductsToSubscribe,findProductsToSubscribeAsync,findProductsToSubscribeWithHttpInfo,findProductsToSubscribeCall")) { - try { - localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); - } catch (MLEException e) { - logger.error("Failed to encrypt request body {}", e.getMessage(), e); - throw new ApiException("Failed to encrypt request body : " + e.getMessage()); - } - } - - // create path and map variables - String localVarPath = "/notification-subscriptions/v1/products/{organizationId}" - .replaceAll("\\{" + "organizationId" + "\\}", apiClient.escapeString(organizationId.toString())); - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json;charset=utf-8" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - "application/json;charset=utf-8" - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().newBuilder().addNetworkInterceptor(new okhttp3.Interceptor() { - @Override - public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { - okhttp3.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call findProductsToSubscribeValidateBeforeCall(String organizationId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'organizationId' is set - if (organizationId == null) { - logger.error("Missing the required parameter 'organizationId' when calling findProductsToSubscribe(Async)"); - throw new ApiException("Missing the required parameter 'organizationId' when calling findProductsToSubscribe(Async)"); - } - - - okhttp3.Call call = findProductsToSubscribeCall(organizationId, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * Find Products You Can Subscribe To - * 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. - *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

- * @param organizationId The Organization Identifier. (required) - * @return List<InlineResponse2002> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List findProductsToSubscribe(String organizationId) throws ApiException { - logger.info("CALL TO METHOD 'findProductsToSubscribe' STARTED"); - ApiResponse> resp = findProductsToSubscribeWithHttpInfo(organizationId); - logger.info("CALL TO METHOD 'findProductsToSubscribe' ENDED"); - return resp.getData(); - } - - /** - * Find Products You Can Subscribe To - * 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. - * @param organizationId The Organization Identifier. (required) - * @return ApiResponse<List<InlineResponse2002>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> findProductsToSubscribeWithHttpInfo(String organizationId) throws ApiException { - this.apiClient.setComputationStartTime(System.nanoTime()); - okhttp3.Call call = findProductsToSubscribeValidateBeforeCall(organizationId, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * Find Products You Can Subscribe To (asynchronously) - * 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. - * @param organizationId The Organization Identifier. (required) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public okhttp3.Call findProductsToSubscribeAsync(String organizationId, final ApiCallback> callback) throws ApiException { - - this.apiClient.setComputationStartTime(System.nanoTime()); - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - okhttp3.Call call = findProductsToSubscribeValidateBeforeCall(organizationId, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } /** * Build call for saveSymEgressKey * @param vCSenderOrganizationId Sender organization id (required) @@ -390,7 +105,7 @@ public okhttp3.Call saveSymEgressKeyCall(String vCSenderOrganizationId, String v Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { - "application/json;charset=utf-8" + "application/hal+json;charset=utf-8" }; final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); @@ -444,7 +159,7 @@ private okhttp3.Call saveSymEgressKeyValidateBeforeCall(String vCSenderOrganizat /** * Create Webhook Security Keys - * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select 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. + * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remember to save the key in the API response, so that you can use it to validate messages later. *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

* @param vCSenderOrganizationId Sender organization id (required) * @param vCPermissions Encoded user permissions returned by the CGK, for the entity user who initiated the boarding (required) @@ -462,7 +177,7 @@ public InlineResponse2013 saveSymEgressKey(String vCSenderOrganizationId, String /** * Create Webhook Security Keys - * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select 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. + * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remember to save the key in the API response, so that you can use it to validate messages later. * @param vCSenderOrganizationId Sender organization id (required) * @param vCPermissions Encoded user permissions returned by the CGK, for the entity user who initiated the boarding (required) * @param vCCorrelationId A globally unique id associated with your request (optional) @@ -479,7 +194,7 @@ public ApiResponse saveSymEgressKeyWithHttpInfo(String vCSen /** * Create Webhook Security Keys (asynchronously) - * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select 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. + * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remember to save the key in the API response, so that you can use it to validate messages later. * @param vCSenderOrganizationId Sender organization id (required) * @param vCPermissions Encoded user permissions returned by the CGK, for the entity user who initiated the boarding (required) * @param vCCorrelationId A globally unique id associated with your request (optional) diff --git a/src/main/java/Api/ManageWebhooksApi.java b/src/main/java/Api/ManageWebhooksApi.java index 3c050e86..7b723c83 100644 --- a/src/main/java/Api/ManageWebhooksApi.java +++ b/src/main/java/Api/ManageWebhooksApi.java @@ -28,12 +28,9 @@ import java.io.InputStream; -import Model.InlineResponse2003; -import Model.InlineResponse2004; +import Model.InlineResponse2014; import Model.InlineResponse2015; -import Model.InlineResponse4042; import Model.SaveAsymEgressKey; -import Model.UpdateWebhookRequest; import java.lang.reflect.Type; import java.util.ArrayList; @@ -69,164 +66,22 @@ public void setApiClient(ApiClient apiClient) { } /** - * Build call for deleteWebhookSubscription - * @param webhookId The webhook identifier. (required) - * @param progressListener Progress listener - * @param progressRequestListener Progress request listener - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - */ - public okhttp3.Call deleteWebhookSubscriptionCall(String webhookId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - SdkTracker sdkTracker = new SdkTracker(); - Object localVarPostBody = null; - if ("DELETE".equalsIgnoreCase("POST")) { - localVarPostBody = "{}"; - } - - boolean isMLESupportedByCybsForApi = false; - if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "deleteWebhookSubscription,deleteWebhookSubscriptionAsync,deleteWebhookSubscriptionWithHttpInfo,deleteWebhookSubscriptionCall")) { - try { - localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); - } catch (MLEException e) { - logger.error("Failed to encrypt request body {}", e.getMessage(), e); - throw new ApiException("Failed to encrypt request body : " + e.getMessage()); - } - } - - // create path and map variables - String localVarPath = "/notification-subscriptions/v1/webhooks/{webhookId}" - .replaceAll("\\{" + "webhookId" + "\\}", apiClient.escapeString(webhookId.toString())); - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json;charset=utf-8" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - "application/json;charset=utf-8" - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().newBuilder().addNetworkInterceptor(new okhttp3.Interceptor() { - @Override - public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { - okhttp3.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call deleteWebhookSubscriptionValidateBeforeCall(String webhookId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'webhookId' is set - if (webhookId == null) { - logger.error("Missing the required parameter 'webhookId' when calling deleteWebhookSubscription(Async)"); - throw new ApiException("Missing the required parameter 'webhookId' when calling deleteWebhookSubscription(Async)"); - } - - - okhttp3.Call call = deleteWebhookSubscriptionCall(webhookId, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * Delete a Webhook Subscription - * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications. - *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

- * @param webhookId The webhook identifier. (required) - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public void deleteWebhookSubscription(String webhookId) throws ApiException { - logger.info("CALL TO METHOD 'deleteWebhookSubscription' STARTED"); - deleteWebhookSubscriptionWithHttpInfo(webhookId); - - } - - /** - * Delete a Webhook Subscription - * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications. - * @param webhookId The webhook identifier. (required) - * @return ApiResponse<Void> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse deleteWebhookSubscriptionWithHttpInfo(String webhookId) throws ApiException { - this.apiClient.setComputationStartTime(System.nanoTime()); - okhttp3.Call call = deleteWebhookSubscriptionValidateBeforeCall(webhookId, null, null); - return apiClient.execute(call); - } - - /** - * Delete a Webhook Subscription (asynchronously) - * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications. - * @param webhookId The webhook identifier. (required) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public okhttp3.Call deleteWebhookSubscriptionAsync(String webhookId, final ApiCallback callback) throws ApiException { - - this.apiClient.setComputationStartTime(System.nanoTime()); - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - okhttp3.Call call = deleteWebhookSubscriptionValidateBeforeCall(webhookId, progressListener, progressRequestListener); - apiClient.executeAsync(call, callback); - return call; - } - /** - * Build call for getWebhookSubscriptionById - * @param webhookId The webhook Identifier (required) + * Build call for notificationSubscriptionsV1WebhooksWebhookIdPost + * @param webhookId The Webhook Identifier. (required) * @param progressListener Progress listener * @param progressRequestListener Progress request listener * @return Call to execute * @throws ApiException If fail to serialize the request body object */ - public okhttp3.Call getWebhookSubscriptionByIdCall(String webhookId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + public okhttp3.Call notificationSubscriptionsV1WebhooksWebhookIdPostCall(String webhookId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { SdkTracker sdkTracker = new SdkTracker(); Object localVarPostBody = null; - if ("GET".equalsIgnoreCase("POST")) { + if ("POST".equalsIgnoreCase("POST")) { localVarPostBody = "{}"; } boolean isMLESupportedByCybsForApi = false; - if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "getWebhookSubscriptionById,getWebhookSubscriptionByIdAsync,getWebhookSubscriptionByIdWithHttpInfo,getWebhookSubscriptionByIdCall")) { + if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "notificationSubscriptionsV1WebhooksWebhookIdPost,notificationSubscriptionsV1WebhooksWebhookIdPostAsync,notificationSubscriptionsV1WebhooksWebhookIdPostWithHttpInfo,notificationSubscriptionsV1WebhooksWebhookIdPostCall")) { try { localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); } catch (MLEException e) { @@ -246,7 +101,7 @@ public okhttp3.Call getWebhookSubscriptionByIdCall(String webhookId, final Progr Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { - "application/json;charset=utf-8" + "application/hal+json;charset=utf-8" }; final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); @@ -270,20 +125,20 @@ public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOExce } String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); + return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); } @SuppressWarnings("rawtypes") - private okhttp3.Call getWebhookSubscriptionByIdValidateBeforeCall(String webhookId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + private okhttp3.Call notificationSubscriptionsV1WebhooksWebhookIdPostValidateBeforeCall(String webhookId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { // verify the required parameter 'webhookId' is set if (webhookId == null) { - logger.error("Missing the required parameter 'webhookId' when calling getWebhookSubscriptionById(Async)"); - throw new ApiException("Missing the required parameter 'webhookId' when calling getWebhookSubscriptionById(Async)"); + logger.error("Missing the required parameter 'webhookId' when calling notificationSubscriptionsV1WebhooksWebhookIdPost(Async)"); + throw new ApiException("Missing the required parameter 'webhookId' when calling notificationSubscriptionsV1WebhooksWebhookIdPost(Async)"); } - okhttp3.Call call = getWebhookSubscriptionByIdCall(webhookId, progressListener, progressRequestListener); + okhttp3.Call call = notificationSubscriptionsV1WebhooksWebhookIdPostCall(webhookId, progressListener, progressRequestListener); return call; @@ -293,214 +148,43 @@ private okhttp3.Call getWebhookSubscriptionByIdValidateBeforeCall(String webhook } /** - * Get Details On a Single Webhook - * Retrieve the details of a specific webhook by supplying the webhook ID in the path. + * Test a Webhook Configuration + * Test the webhook configuration by sending a sample webhook. Calling this endpoint sends a sample webhook to the endpoint identified in the user's subscription. It will contain sample values for the product & eventType based on values present in your subscription along with a sample message in the payload. Based on the webhook response users can make any necessary modifications or rest assured knowing their setup is configured correctly. *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

- * @param webhookId The webhook Identifier (required) - * @return InlineResponse2004 - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public InlineResponse2004 getWebhookSubscriptionById(String webhookId) throws ApiException { - logger.info("CALL TO METHOD 'getWebhookSubscriptionById' STARTED"); - ApiResponse resp = getWebhookSubscriptionByIdWithHttpInfo(webhookId); - logger.info("CALL TO METHOD 'getWebhookSubscriptionById' ENDED"); - return resp.getData(); - } - - /** - * Get Details On a Single Webhook - * Retrieve the details of a specific webhook by supplying the webhook ID in the path. - * @param webhookId The webhook Identifier (required) - * @return ApiResponse<InlineResponse2004> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse getWebhookSubscriptionByIdWithHttpInfo(String webhookId) throws ApiException { - this.apiClient.setComputationStartTime(System.nanoTime()); - okhttp3.Call call = getWebhookSubscriptionByIdValidateBeforeCall(webhookId, null, null); - Type localVarReturnType = new TypeToken(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * Get Details On a Single Webhook (asynchronously) - * Retrieve the details of a specific webhook by supplying the webhook ID in the path. - * @param webhookId The webhook Identifier (required) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public okhttp3.Call getWebhookSubscriptionByIdAsync(String webhookId, final ApiCallback callback) throws ApiException { - - this.apiClient.setComputationStartTime(System.nanoTime()); - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - okhttp3.Call call = getWebhookSubscriptionByIdValidateBeforeCall(webhookId, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } - /** - * Build call for getWebhookSubscriptionsByOrg - * @param organizationId The Organization Identifier. (required) - * @param productId The Product Identifier. (required) - * @param eventType The Event Type. (required) - * @param progressListener Progress listener - * @param progressRequestListener Progress request listener - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - */ - public okhttp3.Call getWebhookSubscriptionsByOrgCall(String organizationId, String productId, String eventType, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - SdkTracker sdkTracker = new SdkTracker(); - Object localVarPostBody = null; - if ("GET".equalsIgnoreCase("POST")) { - localVarPostBody = "{}"; - } - - boolean isMLESupportedByCybsForApi = false; - if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "getWebhookSubscriptionsByOrg,getWebhookSubscriptionsByOrgAsync,getWebhookSubscriptionsByOrgWithHttpInfo,getWebhookSubscriptionsByOrgCall")) { - try { - localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); - } catch (MLEException e) { - logger.error("Failed to encrypt request body {}", e.getMessage(), e); - throw new ApiException("Failed to encrypt request body : " + e.getMessage()); - } - } - - // create path and map variables - String localVarPath = "/notification-subscriptions/v1/webhooks"; - - List localVarQueryParams = new ArrayList(); - if (organizationId != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "organizationId", organizationId)); - if (productId != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "productId", productId)); - if (eventType != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "eventType", eventType)); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json;charset=utf-8" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - "application/json;charset=utf-8" - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().newBuilder().addNetworkInterceptor(new okhttp3.Interceptor() { - @Override - public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { - okhttp3.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call getWebhookSubscriptionsByOrgValidateBeforeCall(String organizationId, String productId, String eventType, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'organizationId' is set - if (organizationId == null) { - logger.error("Missing the required parameter 'organizationId' when calling getWebhookSubscriptionsByOrg(Async)"); - throw new ApiException("Missing the required parameter 'organizationId' when calling getWebhookSubscriptionsByOrg(Async)"); - } - - // verify the required parameter 'productId' is set - if (productId == null) { - logger.error("Missing the required parameter 'productId' when calling getWebhookSubscriptionsByOrg(Async)"); - throw new ApiException("Missing the required parameter 'productId' when calling getWebhookSubscriptionsByOrg(Async)"); - } - - // verify the required parameter 'eventType' is set - if (eventType == null) { - logger.error("Missing the required parameter 'eventType' when calling getWebhookSubscriptionsByOrg(Async)"); - throw new ApiException("Missing the required parameter 'eventType' when calling getWebhookSubscriptionsByOrg(Async)"); - } - - - okhttp3.Call call = getWebhookSubscriptionsByOrgCall(organizationId, productId, eventType, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * Get Details On All Created Webhooks - * Retrieve a list of all previously created webhooks. - *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

- * @param organizationId The Organization Identifier. (required) - * @param productId The Product Identifier. (required) - * @param eventType The Event Type. (required) - * @return List<InlineResponse2003> + * @param webhookId The Webhook Identifier. (required) + * @return InlineResponse2014 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public List getWebhookSubscriptionsByOrg(String organizationId, String productId, String eventType) throws ApiException { - logger.info("CALL TO METHOD 'getWebhookSubscriptionsByOrg' STARTED"); - ApiResponse> resp = getWebhookSubscriptionsByOrgWithHttpInfo(organizationId, productId, eventType); - logger.info("CALL TO METHOD 'getWebhookSubscriptionsByOrg' ENDED"); + public InlineResponse2014 notificationSubscriptionsV1WebhooksWebhookIdPost(String webhookId) throws ApiException { + logger.info("CALL TO METHOD 'notificationSubscriptionsV1WebhooksWebhookIdPost' STARTED"); + ApiResponse resp = notificationSubscriptionsV1WebhooksWebhookIdPostWithHttpInfo(webhookId); + logger.info("CALL TO METHOD 'notificationSubscriptionsV1WebhooksWebhookIdPost' ENDED"); return resp.getData(); } /** - * Get Details On All Created Webhooks - * Retrieve a list of all previously created webhooks. - * @param organizationId The Organization Identifier. (required) - * @param productId The Product Identifier. (required) - * @param eventType The Event Type. (required) - * @return ApiResponse<List<InlineResponse2003>> + * Test a Webhook Configuration + * Test the webhook configuration by sending a sample webhook. Calling this endpoint sends a sample webhook to the endpoint identified in the user's subscription. It will contain sample values for the product & eventType based on values present in your subscription along with a sample message in the payload. Based on the webhook response users can make any necessary modifications or rest assured knowing their setup is configured correctly. + * @param webhookId The Webhook Identifier. (required) + * @return ApiResponse<InlineResponse2014> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body */ - public ApiResponse> getWebhookSubscriptionsByOrgWithHttpInfo(String organizationId, String productId, String eventType) throws ApiException { + public ApiResponse notificationSubscriptionsV1WebhooksWebhookIdPostWithHttpInfo(String webhookId) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); - okhttp3.Call call = getWebhookSubscriptionsByOrgValidateBeforeCall(organizationId, productId, eventType, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); + okhttp3.Call call = notificationSubscriptionsV1WebhooksWebhookIdPostValidateBeforeCall(webhookId, null, null); + Type localVarReturnType = new TypeToken(){}.getType(); return apiClient.execute(call, localVarReturnType); } /** - * Get Details On All Created Webhooks (asynchronously) - * Retrieve a list of all previously created webhooks. - * @param organizationId The Organization Identifier. (required) - * @param productId The Product Identifier. (required) - * @param eventType The Event Type. (required) + * Test a Webhook Configuration (asynchronously) + * Test the webhook configuration by sending a sample webhook. Calling this endpoint sends a sample webhook to the endpoint identified in the user's subscription. It will contain sample values for the product & eventType based on values present in your subscription along with a sample message in the payload. Based on the webhook response users can make any necessary modifications or rest assured knowing their setup is configured correctly. + * @param webhookId The Webhook Identifier. (required) * @param callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object */ - public okhttp3.Call getWebhookSubscriptionsByOrgAsync(String organizationId, String productId, String eventType, final ApiCallback> callback) throws ApiException { + public okhttp3.Call notificationSubscriptionsV1WebhooksWebhookIdPostAsync(String webhookId, final ApiCallback callback) throws ApiException { this.apiClient.setComputationStartTime(System.nanoTime()); ProgressResponseBody.ProgressListener progressListener = null; @@ -522,8 +206,8 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don }; } - okhttp3.Call call = getWebhookSubscriptionsByOrgValidateBeforeCall(organizationId, productId, eventType, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); + okhttp3.Call call = notificationSubscriptionsV1WebhooksWebhookIdPostValidateBeforeCall(webhookId, progressListener, progressRequestListener); + Type localVarReturnType = new TypeToken(){}.getType(); apiClient.executeAsync(call, localVarReturnType, callback); return call; } @@ -568,7 +252,7 @@ public okhttp3.Call saveAsymEgressKeyCall(String vCSenderOrganizationId, String Map localVarFormParams = new HashMap(); final String[] localVarAccepts = { - "application/json;charset=utf-8" + "application/hal+json;charset=utf-8" }; final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); @@ -699,147 +383,4 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don apiClient.executeAsync(call, localVarReturnType, callback); return call; } - /** - * Build call for updateWebhookSubscription - * @param webhookId The Webhook Identifier. (required) - * @param updateWebhookRequest The webhook payload or changes to apply. (optional) - * @param progressListener Progress listener - * @param progressRequestListener Progress request listener - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - */ - public okhttp3.Call updateWebhookSubscriptionCall(String webhookId, UpdateWebhookRequest updateWebhookRequest, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - SdkTracker sdkTracker = new SdkTracker(); - Object localVarPostBody = sdkTracker.insertDeveloperIdTracker(updateWebhookRequest, UpdateWebhookRequest.class.getSimpleName(), apiClient.merchantConfig.getRunEnvironment(), apiClient.merchantConfig.getDefaultDeveloperId()); - - boolean isMLESupportedByCybsForApi = false; - if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "updateWebhookSubscription,updateWebhookSubscriptionAsync,updateWebhookSubscriptionWithHttpInfo,updateWebhookSubscriptionCall")) { - try { - localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); - } catch (MLEException e) { - logger.error("Failed to encrypt request body {}", e.getMessage(), e); - throw new ApiException("Failed to encrypt request body : " + e.getMessage()); - } - } - - // create path and map variables - String localVarPath = "/notification-subscriptions/v1/webhooks/{webhookId}" - .replaceAll("\\{" + "webhookId" + "\\}", apiClient.escapeString(webhookId.toString())); - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json;charset=utf-8" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - "application/json;charset=utf-8" - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().newBuilder().addNetworkInterceptor(new okhttp3.Interceptor() { - @Override - public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { - okhttp3.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "PATCH", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call updateWebhookSubscriptionValidateBeforeCall(String webhookId, UpdateWebhookRequest updateWebhookRequest, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'webhookId' is set - if (webhookId == null) { - logger.error("Missing the required parameter 'webhookId' when calling updateWebhookSubscription(Async)"); - throw new ApiException("Missing the required parameter 'webhookId' when calling updateWebhookSubscription(Async)"); - } - - - okhttp3.Call call = updateWebhookSubscriptionCall(webhookId, updateWebhookRequest, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * Update a Webhook Subscription - * Update the webhook subscription using PATCH. - *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

- * @param webhookId The Webhook Identifier. (required) - * @param updateWebhookRequest The webhook payload or changes to apply. (optional) - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public void updateWebhookSubscription(String webhookId, UpdateWebhookRequest updateWebhookRequest) throws ApiException { - logger.info("CALL TO METHOD 'updateWebhookSubscription' STARTED"); - updateWebhookSubscriptionWithHttpInfo(webhookId, updateWebhookRequest); - - } - - /** - * Update a Webhook Subscription - * Update the webhook subscription using PATCH. - * @param webhookId The Webhook Identifier. (required) - * @param updateWebhookRequest The webhook payload or changes to apply. (optional) - * @return ApiResponse<Void> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse updateWebhookSubscriptionWithHttpInfo(String webhookId, UpdateWebhookRequest updateWebhookRequest) throws ApiException { - this.apiClient.setComputationStartTime(System.nanoTime()); - okhttp3.Call call = updateWebhookSubscriptionValidateBeforeCall(webhookId, updateWebhookRequest, null, null); - return apiClient.execute(call); - } - - /** - * Update a Webhook Subscription (asynchronously) - * Update the webhook subscription using PATCH. - * @param webhookId The Webhook Identifier. (required) - * @param updateWebhookRequest The webhook payload or changes to apply. (optional) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public okhttp3.Call updateWebhookSubscriptionAsync(String webhookId, UpdateWebhookRequest updateWebhookRequest, final ApiCallback callback) throws ApiException { - - this.apiClient.setComputationStartTime(System.nanoTime()); - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - okhttp3.Call call = updateWebhookSubscriptionValidateBeforeCall(webhookId, updateWebhookRequest, progressListener, progressRequestListener); - apiClient.executeAsync(call, callback); - return call; - } } diff --git a/src/main/java/Api/ReplayWebhooksApi.java b/src/main/java/Api/ReplayWebhooksApi.java deleted file mode 100644 index 3ea14059..00000000 --- a/src/main/java/Api/ReplayWebhooksApi.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Api; - -import Invokers.ApiCallback; -import Invokers.ApiClient; -import Invokers.ApiException; -import Invokers.ApiResponse; -import Invokers.Configuration; -import Invokers.Pair; -import Invokers.ProgressRequestBody; -import Invokers.ProgressResponseBody; - -import com.google.gson.reflect.TypeToken; - -import java.io.IOException; -import java.io.InputStream; - - -import Model.ReplayWebhooksRequest; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import utilities.tracking.SdkTracker; -import com.cybersource.authsdk.util.mle.MLEUtility; -import com.cybersource.authsdk.util.mle.MLEException; - -public class ReplayWebhooksApi { - private static Logger logger = LogManager.getLogger(ReplayWebhooksApi.class); - - private ApiClient apiClient; - - public ReplayWebhooksApi() { - this(Configuration.getDefaultApiClient()); - } - - public ReplayWebhooksApi(ApiClient apiClient) { - this.apiClient = apiClient; - } - - public ApiClient getApiClient() { - return apiClient; - } - - public void setApiClient(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /** - * Build call for replayPreviousWebhooks - * @param webhookId The webhook uuid identifier. (required) - * @param replayWebhooksRequest The request query (optional) - * @param progressListener Progress listener - * @param progressRequestListener Progress request listener - * @return Call to execute - * @throws ApiException If fail to serialize the request body object - */ - public okhttp3.Call replayPreviousWebhooksCall(String webhookId, ReplayWebhooksRequest replayWebhooksRequest, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - SdkTracker sdkTracker = new SdkTracker(); - Object localVarPostBody = sdkTracker.insertDeveloperIdTracker(replayWebhooksRequest, ReplayWebhooksRequest.class.getSimpleName(), apiClient.merchantConfig.getRunEnvironment(), apiClient.merchantConfig.getDefaultDeveloperId()); - - boolean isMLESupportedByCybsForApi = false; - if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "replayPreviousWebhooks,replayPreviousWebhooksAsync,replayPreviousWebhooksWithHttpInfo,replayPreviousWebhooksCall")) { - try { - localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); - } catch (MLEException e) { - logger.error("Failed to encrypt request body {}", e.getMessage(), e); - throw new ApiException("Failed to encrypt request body : " + e.getMessage()); - } - } - - // create path and map variables - String localVarPath = "/nrtf/v1/webhooks/{webhookId}/replays" - .replaceAll("\\{" + "webhookId" + "\\}", apiClient.escapeString(webhookId.toString())); - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json;charset=utf-8" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - "application/json;charset=utf-8" - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().newBuilder().addNetworkInterceptor(new okhttp3.Interceptor() { - @Override - public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { - okhttp3.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private okhttp3.Call replayPreviousWebhooksValidateBeforeCall(String webhookId, ReplayWebhooksRequest replayWebhooksRequest, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'webhookId' is set - if (webhookId == null) { - logger.error("Missing the required parameter 'webhookId' when calling replayPreviousWebhooks(Async)"); - throw new ApiException("Missing the required parameter 'webhookId' when calling replayPreviousWebhooks(Async)"); - } - - - okhttp3.Call call = replayPreviousWebhooksCall(webhookId, replayWebhooksRequest, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * Replay Previous Webhooks - * Initiate a webhook replay request to replay transactions that happened in the past. Cannot execute more than 1 replay request at a time. While one request is processing, you will not be allowed to execute another replay. The 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. - *

DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS.

- * @param webhookId The webhook uuid identifier. (required) - * @param replayWebhooksRequest The request query (optional) - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public void replayPreviousWebhooks(String webhookId, ReplayWebhooksRequest replayWebhooksRequest) throws ApiException { - logger.info("CALL TO METHOD 'replayPreviousWebhooks' STARTED"); - replayPreviousWebhooksWithHttpInfo(webhookId, replayWebhooksRequest); - - } - - /** - * Replay Previous Webhooks - * Initiate a webhook replay request to replay transactions that happened in the past. Cannot execute more than 1 replay request at a time. While one request is processing, you will not be allowed to execute another replay. The 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. - * @param webhookId The webhook uuid identifier. (required) - * @param replayWebhooksRequest The request query (optional) - * @return ApiResponse<Void> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse replayPreviousWebhooksWithHttpInfo(String webhookId, ReplayWebhooksRequest replayWebhooksRequest) throws ApiException { - this.apiClient.setComputationStartTime(System.nanoTime()); - okhttp3.Call call = replayPreviousWebhooksValidateBeforeCall(webhookId, replayWebhooksRequest, null, null); - return apiClient.execute(call); - } - - /** - * Replay Previous Webhooks (asynchronously) - * Initiate a webhook replay request to replay transactions that happened in the past. Cannot execute more than 1 replay request at a time. While one request is processing, you will not be allowed to execute another replay. The 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. - * @param webhookId The webhook uuid identifier. (required) - * @param replayWebhooksRequest The request query (optional) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public okhttp3.Call replayPreviousWebhooksAsync(String webhookId, ReplayWebhooksRequest replayWebhooksRequest, final ApiCallback callback) throws ApiException { - - this.apiClient.setComputationStartTime(System.nanoTime()); - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - okhttp3.Call call = replayPreviousWebhooksValidateBeforeCall(webhookId, replayWebhooksRequest, progressListener, progressRequestListener); - apiClient.executeAsync(call, callback); - return call; - } -} diff --git a/src/main/java/Api/TransactionBatchesApi.java b/src/main/java/Api/TransactionBatchesApi.java index f4fbbee5..a9ce5ed8 100644 --- a/src/main/java/Api/TransactionBatchesApi.java +++ b/src/main/java/Api/TransactionBatchesApi.java @@ -29,7 +29,9 @@ import org.joda.time.DateTime; +import java.io.File; import org.joda.time.LocalDate; +import Model.Model400UploadBatchFileResponse; import Model.PtsV1TransactionBatchesGet200Response; import Model.PtsV1TransactionBatchesGet400Response; import Model.PtsV1TransactionBatchesGet500Response; @@ -524,4 +526,146 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don apiClient.executeAsync(call, localVarReturnType, callback); return call; } + /** + * Build call for uploadTransactionBatch + * @param file The file to upload. (required) + * @param progressListener Progress listener + * @param progressRequestListener Progress request listener + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + */ + public okhttp3.Call uploadTransactionBatchCall(File file, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + SdkTracker sdkTracker = new SdkTracker(); + Object localVarPostBody = null; + if ("POST".equalsIgnoreCase("POST")) { + localVarPostBody = "{}"; + } + + boolean isMLESupportedByCybsForApi = false; + if (MLEUtility.checkIsMLEForAPI(apiClient.merchantConfig, isMLESupportedByCybsForApi, "uploadTransactionBatch,uploadTransactionBatchAsync,uploadTransactionBatchWithHttpInfo,uploadTransactionBatchCall")) { + try { + localVarPostBody = MLEUtility.encryptRequestPayload(apiClient.merchantConfig, localVarPostBody); + } catch (MLEException e) { + logger.error("Failed to encrypt request body {}", e.getMessage(), e); + throw new ApiException("Failed to encrypt request body : " + e.getMessage()); + } + } + + // create path and map variables + String localVarPath = "/pts/v1/transaction-batch-upload"; + + List localVarQueryParams = new ArrayList(); + + Map localVarHeaderParams = new HashMap(); + + Map localVarFormParams = new HashMap(); + if (file != null) + localVarFormParams.put("file", file); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); + + final String[] localVarContentTypes = { + "multipart/form-data" + }; + final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + localVarHeaderParams.put("Content-Type", localVarContentType); + + if(progressListener != null) { + apiClient.getHttpClient().newBuilder().addNetworkInterceptor(new okhttp3.Interceptor() { + @Override + public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { + okhttp3.Response originalResponse = chain.proceed(chain.request()); + return originalResponse.newBuilder() + .body(new ProgressResponseBody(originalResponse.body(), progressListener)) + .build(); + } + }); + } + + String[] localVarAuthNames = new String[] { }; + return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call uploadTransactionBatchValidateBeforeCall(File file, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { + + // verify the required parameter 'file' is set + if (file == null) { + logger.error("Missing the required parameter 'file' when calling uploadTransactionBatch(Async)"); + throw new ApiException("Missing the required parameter 'file' when calling uploadTransactionBatch(Async)"); + } + + + okhttp3.Call call = uploadTransactionBatchCall(file, progressListener, progressRequestListener); + return call; + + + + + + } + + /** + * Upload a Batch File + * This endpoint enables the upload of a batch file containing transactions for processing. + * @param file The file to upload. (required) + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + */ + public void uploadTransactionBatch(File file) throws ApiException { + logger.info("CALL TO METHOD 'uploadTransactionBatch' STARTED"); + uploadTransactionBatchWithHttpInfo(file); + + } + + /** + * Upload a Batch File + * This endpoint enables the upload of a batch file containing transactions for processing. + * @param file The file to upload. (required) + * @return ApiResponse<Void> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + */ + public ApiResponse uploadTransactionBatchWithHttpInfo(File file) throws ApiException { + this.apiClient.setComputationStartTime(System.nanoTime()); + okhttp3.Call call = uploadTransactionBatchValidateBeforeCall(file, null, null); + return apiClient.execute(call); + } + + /** + * Upload a Batch File (asynchronously) + * This endpoint enables the upload of a batch file containing transactions for processing. + * @param file The file to upload. (required) + * @param callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + */ + public okhttp3.Call uploadTransactionBatchAsync(File file, final ApiCallback callback) throws ApiException { + + this.apiClient.setComputationStartTime(System.nanoTime()); + ProgressResponseBody.ProgressListener progressListener = null; + ProgressRequestBody.ProgressRequestListener progressRequestListener = null; + + if (callback != null) { + progressListener = new ProgressResponseBody.ProgressListener() { + @Override + public void update(long bytesRead, long contentLength, boolean done) { + callback.onDownloadProgress(bytesRead, contentLength, done); + } + }; + + progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { + @Override + public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { + callback.onUploadProgress(bytesWritten, contentLength, done); + } + }; + } + + okhttp3.Call call = uploadTransactionBatchValidateBeforeCall(file, progressListener, progressRequestListener); + apiClient.executeAsync(call, callback); + return call; + } } diff --git a/src/main/java/Model/CreateWebhookRequest.java b/src/main/java/Model/CreateWebhookRequest.java deleted file mode 100644 index f7b72fdb..00000000 --- a/src/main/java/Model/CreateWebhookRequest.java +++ /dev/null @@ -1,313 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksRetryPolicy; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicy1; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * CreateWebhookRequest - */ - -public class CreateWebhookRequest { - @SerializedName("name") - private String name = null; - - @SerializedName("description") - private String description = null; - - @SerializedName("organizationId") - private String organizationId = null; - - @SerializedName("productId") - private String productId = null; - - @SerializedName("eventTypes") - private List eventTypes = null; - - @SerializedName("webhookUrl") - private String webhookUrl = null; - - @SerializedName("healthCheckUrl") - private String healthCheckUrl = null; - - @SerializedName("notificationScope") - private String notificationScope = null; - - @SerializedName("retryPolicy") - private Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy = null; - - @SerializedName("securityPolicy") - private Notificationsubscriptionsv1webhooksSecurityPolicy1 securityPolicy = null; - - public CreateWebhookRequest name(String name) { - this.name = name; - return this; - } - - /** - * Client friendly webhook name. - * @return name - **/ - @ApiModelProperty(value = "Client friendly webhook name.") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public CreateWebhookRequest description(String description) { - this.description = description; - return this; - } - - /** - * Client friendly webhook description. - * @return description - **/ - @ApiModelProperty(value = "Client friendly webhook description.") - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public CreateWebhookRequest organizationId(String organizationId) { - this.organizationId = organizationId; - return this; - } - - /** - * Organization Identifier (OrgId) or Merchant Identifier (MID). - * @return organizationId - **/ - @ApiModelProperty(value = "Organization Identifier (OrgId) or Merchant Identifier (MID).") - public String getOrganizationId() { - return organizationId; - } - - public void setOrganizationId(String organizationId) { - this.organizationId = organizationId; - } - - public CreateWebhookRequest productId(String productId) { - this.productId = productId; - return this; - } - - /** - * To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint. - * @return productId - **/ - @ApiModelProperty(value = "To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint.") - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public CreateWebhookRequest eventTypes(List eventTypes) { - this.eventTypes = eventTypes; - return this; - } - - public CreateWebhookRequest addEventTypesItem(String eventTypesItem) { - if (this.eventTypes == null) { - this.eventTypes = new ArrayList(); - } - this.eventTypes.add(eventTypesItem); - return this; - } - - /** - * Array of the different events for a given product id. - * @return eventTypes - **/ - @ApiModelProperty(value = "Array of the different events for a given product id.") - public List getEventTypes() { - return eventTypes; - } - - public void setEventTypes(List eventTypes) { - this.eventTypes = eventTypes; - } - - public CreateWebhookRequest webhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; - return this; - } - - /** - * The client's endpoint (URL) to receive webhooks. - * @return webhookUrl - **/ - @ApiModelProperty(value = "The client's endpoint (URL) to receive webhooks.") - public String getWebhookUrl() { - return webhookUrl; - } - - public void setWebhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; - } - - public CreateWebhookRequest healthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; - return this; - } - - /** - * 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. - * @return healthCheckUrl - **/ - @ApiModelProperty(value = "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. ") - public String getHealthCheckUrl() { - return healthCheckUrl; - } - - public void setHealthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; - } - - public CreateWebhookRequest notificationScope(String notificationScope) { - this.notificationScope = notificationScope; - return this; - } - - /** - * 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. - * @return notificationScope - **/ - @ApiModelProperty(value = "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. ") - public String getNotificationScope() { - return notificationScope; - } - - public void setNotificationScope(String notificationScope) { - this.notificationScope = notificationScope; - } - - public CreateWebhookRequest retryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; - return this; - } - - /** - * Get retryPolicy - * @return retryPolicy - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksRetryPolicy getRetryPolicy() { - return retryPolicy; - } - - public void setRetryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; - } - - public CreateWebhookRequest securityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy1 securityPolicy) { - this.securityPolicy = securityPolicy; - return this; - } - - /** - * Get securityPolicy - * @return securityPolicy - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicy1 getSecurityPolicy() { - return securityPolicy; - } - - public void setSecurityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy1 securityPolicy) { - this.securityPolicy = securityPolicy; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - CreateWebhookRequest createWebhookRequest = (CreateWebhookRequest) o; - return Objects.equals(this.name, createWebhookRequest.name) && - Objects.equals(this.description, createWebhookRequest.description) && - Objects.equals(this.organizationId, createWebhookRequest.organizationId) && - Objects.equals(this.productId, createWebhookRequest.productId) && - Objects.equals(this.eventTypes, createWebhookRequest.eventTypes) && - Objects.equals(this.webhookUrl, createWebhookRequest.webhookUrl) && - Objects.equals(this.healthCheckUrl, createWebhookRequest.healthCheckUrl) && - Objects.equals(this.notificationScope, createWebhookRequest.notificationScope) && - Objects.equals(this.retryPolicy, createWebhookRequest.retryPolicy) && - Objects.equals(this.securityPolicy, createWebhookRequest.securityPolicy); - } - - @Override - public int hashCode() { - return Objects.hash(name, description, organizationId, productId, eventTypes, webhookUrl, healthCheckUrl, notificationScope, retryPolicy, securityPolicy); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class CreateWebhookRequest {\n"); - - if (name != null) sb.append(" name: ").append(toIndentedString(name)).append("\n"); - if (description != null) sb.append(" description: ").append(toIndentedString(description)).append("\n"); - if (organizationId != null) sb.append(" organizationId: ").append(toIndentedString(organizationId)).append("\n"); - if (productId != null) sb.append(" productId: ").append(toIndentedString(productId)).append("\n"); - if (eventTypes != null) sb.append(" eventTypes: ").append(toIndentedString(eventTypes)).append("\n"); - if (webhookUrl != null) sb.append(" webhookUrl: ").append(toIndentedString(webhookUrl)).append("\n"); - if (healthCheckUrl != null) sb.append(" healthCheckUrl: ").append(toIndentedString(healthCheckUrl)).append("\n"); - if (notificationScope != null) sb.append(" notificationScope: ").append(toIndentedString(notificationScope)).append("\n"); - if (retryPolicy != null) sb.append(" retryPolicy: ").append(toIndentedString(retryPolicy)).append("\n"); - if (securityPolicy != null) sb.append(" securityPolicy: ").append(toIndentedString(securityPolicy)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/GenerateUnifiedCheckoutCaptureContextRequest.java b/src/main/java/Model/GenerateUnifiedCheckoutCaptureContextRequest.java index 73965994..ee449640 100644 --- a/src/main/java/Model/GenerateUnifiedCheckoutCaptureContextRequest.java +++ b/src/main/java/Model/GenerateUnifiedCheckoutCaptureContextRequest.java @@ -145,10 +145,10 @@ public GenerateUnifiedCheckoutCaptureContextRequest addAllowedPaymentTypesItem(S } /** - * The payment types that are allowed for the merchant. Possible values when launching Unified Checkout: - APPLEPAY - CHECK - CLICKTOPAY - GOOGLEPAY - PANENTRY - PAZE <br><br> Possible values when launching Click To Pay Drop-In UI: - CLICKTOPAY <br><br> **Important:** - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards. - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester. - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field. + * The payment types that are allowed for the merchant. Possible values when launching Unified Checkout: - APPLEPAY - CHECK - CLICKTOPAY - GOOGLEPAY - PANENTRY - PAZE <br><br> Possible values when launching Click To Pay Drop-In UI: - CLICKTOPAY <br><br> **Important:** - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards. - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester. - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field.<br><br> **Managing Google Pay Authentication Types** When you enable Google Pay on Unified Checkout you can specify optional parameters that define the types of card authentication you receive from Google Pay. * @return allowedPaymentTypes **/ - @ApiModelProperty(value = "The payment types that are allowed for the merchant. Possible values when launching Unified Checkout: - APPLEPAY - CHECK - CLICKTOPAY - GOOGLEPAY - PANENTRY - PAZE

Possible values when launching Click To Pay Drop-In UI: - CLICKTOPAY

**Important:** - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards. - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests. Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester. - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field. ") + @ApiModelProperty(value = "The payment types that are allowed for the merchant. Possible values when launching Unified Checkout: - APPLEPAY - CHECK - CLICKTOPAY - GOOGLEPAY - PANENTRY - PAZE

Possible values when launching Click To Pay Drop-In UI: - CLICKTOPAY

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

**Managing Google Pay Authentication Types** When you enable Google Pay on Unified Checkout you can specify optional parameters that define the types of card authentication you receive from Google Pay. ") public List getAllowedPaymentTypes() { return allowedPaymentTypes; } diff --git a/src/main/java/Model/InlineResponse2002.java b/src/main/java/Model/InlineResponse2002.java index aa2c6173..e231099d 100644 --- a/src/main/java/Model/InlineResponse2002.java +++ b/src/main/java/Model/InlineResponse2002.java @@ -15,7 +15,8 @@ import java.util.Objects; import java.util.Arrays; -import Model.Notificationsubscriptionsv1productsorganizationIdEventTypes; +import Model.InlineResponse2002Embedded; +import Model.InlineResponse2002Links; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -32,75 +33,159 @@ */ public class InlineResponse2002 { - @SerializedName("productId") - private String productId = null; + @SerializedName("_links") + private List links = null; - @SerializedName("productName") - private String productName = null; + @SerializedName("object") + private String object = null; - @SerializedName("eventTypes") - private List eventTypes = null; + @SerializedName("offset") + private Integer offset = null; - public InlineResponse2002 productId(String productId) { - this.productId = productId; + @SerializedName("limit") + private Integer limit = null; + + @SerializedName("count") + private Integer count = null; + + @SerializedName("total") + private Integer total = null; + + @SerializedName("_embedded") + private InlineResponse2002Embedded embedded = null; + + public InlineResponse2002 links(List links) { + this.links = links; + return this; + } + + public InlineResponse2002 addLinksItem(InlineResponse2002Links linksItem) { + if (this.links == null) { + this.links = new ArrayList(); + } + this.links.add(linksItem); return this; } /** - * Product ID. - * @return productId + * Get links + * @return links **/ - @ApiModelProperty(value = "Product ID.") - public String getProductId() { - return productId; + @ApiModelProperty(value = "") + public List getLinks() { + return links; } - public void setProductId(String productId) { - this.productId = productId; + public void setLinks(List links) { + this.links = links; } - public InlineResponse2002 productName(String productName) { - this.productName = productName; + public InlineResponse2002 object(String object) { + this.object = object; return this; } /** - * Product Name. - * @return productName + * Get object + * @return object **/ - @ApiModelProperty(value = "Product Name.") - public String getProductName() { - return productName; + @ApiModelProperty(example = "collection", value = "") + public String getObject() { + return object; } - public void setProductName(String productName) { - this.productName = productName; + public void setObject(String object) { + this.object = object; } - public InlineResponse2002 eventTypes(List eventTypes) { - this.eventTypes = eventTypes; + public InlineResponse2002 offset(Integer offset) { + this.offset = offset; return this; } - public InlineResponse2002 addEventTypesItem(Notificationsubscriptionsv1productsorganizationIdEventTypes eventTypesItem) { - if (this.eventTypes == null) { - this.eventTypes = new ArrayList(); - } - this.eventTypes.add(eventTypesItem); + /** + * Get offset + * @return offset + **/ + @ApiModelProperty(example = "0", value = "") + public Integer getOffset() { + return offset; + } + + public void setOffset(Integer offset) { + this.offset = offset; + } + + public InlineResponse2002 limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * Get limit + * @return limit + **/ + @ApiModelProperty(example = "20", value = "") + public Integer getLimit() { + return limit; + } + + public void setLimit(Integer limit) { + this.limit = limit; + } + + public InlineResponse2002 count(Integer count) { + this.count = count; + return this; + } + + /** + * Get count + * @return count + **/ + @ApiModelProperty(example = "1", value = "") + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public InlineResponse2002 total(Integer total) { + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @ApiModelProperty(example = "1", value = "") + public Integer getTotal() { + return total; + } + + public void setTotal(Integer total) { + this.total = total; + } + + public InlineResponse2002 embedded(InlineResponse2002Embedded embedded) { + this.embedded = embedded; return this; } /** - * Get eventTypes - * @return eventTypes + * Get embedded + * @return embedded **/ @ApiModelProperty(value = "") - public List getEventTypes() { - return eventTypes; + public InlineResponse2002Embedded getEmbedded() { + return embedded; } - public void setEventTypes(List eventTypes) { - this.eventTypes = eventTypes; + public void setEmbedded(InlineResponse2002Embedded embedded) { + this.embedded = embedded; } @@ -113,14 +198,18 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse2002 inlineResponse2002 = (InlineResponse2002) o; - return Objects.equals(this.productId, inlineResponse2002.productId) && - Objects.equals(this.productName, inlineResponse2002.productName) && - Objects.equals(this.eventTypes, inlineResponse2002.eventTypes); + return Objects.equals(this.links, inlineResponse2002.links) && + Objects.equals(this.object, inlineResponse2002.object) && + Objects.equals(this.offset, inlineResponse2002.offset) && + Objects.equals(this.limit, inlineResponse2002.limit) && + Objects.equals(this.count, inlineResponse2002.count) && + Objects.equals(this.total, inlineResponse2002.total) && + Objects.equals(this.embedded, inlineResponse2002.embedded); } @Override public int hashCode() { - return Objects.hash(productId, productName, eventTypes); + return Objects.hash(links, object, offset, limit, count, total, embedded); } @@ -129,9 +218,13 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse2002 {\n"); - if (productId != null) sb.append(" productId: ").append(toIndentedString(productId)).append("\n"); - if (productName != null) sb.append(" productName: ").append(toIndentedString(productName)).append("\n"); - if (eventTypes != null) sb.append(" eventTypes: ").append(toIndentedString(eventTypes)).append("\n"); + if (links != null) sb.append(" links: ").append(toIndentedString(links)).append("\n"); + if (object != null) sb.append(" object: ").append(toIndentedString(object)).append("\n"); + if (offset != null) sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); + if (limit != null) sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + if (count != null) sb.append(" count: ").append(toIndentedString(count)).append("\n"); + if (total != null) sb.append(" total: ").append(toIndentedString(total)).append("\n"); + if (embedded != null) sb.append(" embedded: ").append(toIndentedString(embedded)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/InlineResponse2005Embedded.java b/src/main/java/Model/InlineResponse2002Embedded.java similarity index 71% rename from src/main/java/Model/InlineResponse2005Embedded.java rename to src/main/java/Model/InlineResponse2002Embedded.java index 964c80da..f918d0e4 100644 --- a/src/main/java/Model/InlineResponse2005Embedded.java +++ b/src/main/java/Model/InlineResponse2002Embedded.java @@ -15,7 +15,7 @@ import java.util.Objects; import java.util.Arrays; -import Model.InlineResponse2005EmbeddedBatches; +import Model.InlineResponse2002EmbeddedBatches; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -28,21 +28,21 @@ import java.util.List; /** - * InlineResponse2005Embedded + * InlineResponse2002Embedded */ -public class InlineResponse2005Embedded { +public class InlineResponse2002Embedded { @SerializedName("batches") - private List batches = null; + private List batches = null; - public InlineResponse2005Embedded batches(List batches) { + public InlineResponse2002Embedded batches(List batches) { this.batches = batches; return this; } - public InlineResponse2005Embedded addBatchesItem(InlineResponse2005EmbeddedBatches batchesItem) { + public InlineResponse2002Embedded addBatchesItem(InlineResponse2002EmbeddedBatches batchesItem) { if (this.batches == null) { - this.batches = new ArrayList(); + this.batches = new ArrayList(); } this.batches.add(batchesItem); return this; @@ -53,11 +53,11 @@ public InlineResponse2005Embedded addBatchesItem(InlineResponse2005EmbeddedBatch * @return batches **/ @ApiModelProperty(value = "") - public List getBatches() { + public List getBatches() { return batches; } - public void setBatches(List batches) { + public void setBatches(List batches) { this.batches = batches; } @@ -70,8 +70,8 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2005Embedded inlineResponse2005Embedded = (InlineResponse2005Embedded) o; - return Objects.equals(this.batches, inlineResponse2005Embedded.batches); + InlineResponse2002Embedded inlineResponse2002Embedded = (InlineResponse2002Embedded) o; + return Objects.equals(this.batches, inlineResponse2002Embedded.batches); } @Override @@ -83,7 +83,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2005Embedded {\n"); + sb.append("class InlineResponse2002Embedded {\n"); if (batches != null) sb.append(" batches: ").append(toIndentedString(batches)).append("\n"); sb.append("}"); diff --git a/src/main/java/Model/InlineResponse2005EmbeddedBatches.java b/src/main/java/Model/InlineResponse2002EmbeddedBatches.java similarity index 79% rename from src/main/java/Model/InlineResponse2005EmbeddedBatches.java rename to src/main/java/Model/InlineResponse2002EmbeddedBatches.java index cdd0a94d..0c303b0e 100644 --- a/src/main/java/Model/InlineResponse2005EmbeddedBatches.java +++ b/src/main/java/Model/InlineResponse2002EmbeddedBatches.java @@ -15,8 +15,8 @@ import java.util.Objects; import java.util.Arrays; -import Model.InlineResponse2005EmbeddedLinks; -import Model.InlineResponse2005EmbeddedTotals; +import Model.InlineResponse2002EmbeddedLinks; +import Model.InlineResponse2002EmbeddedTotals; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -29,12 +29,12 @@ import java.util.List; /** - * InlineResponse2005EmbeddedBatches + * InlineResponse2002EmbeddedBatches */ -public class InlineResponse2005EmbeddedBatches { +public class InlineResponse2002EmbeddedBatches { @SerializedName("_links") - private InlineResponse2005EmbeddedLinks links = null; + private InlineResponse2002EmbeddedLinks links = null; @SerializedName("batchId") private String batchId = null; @@ -61,9 +61,9 @@ public class InlineResponse2005EmbeddedBatches { private String status = null; @SerializedName("totals") - private InlineResponse2005EmbeddedTotals totals = null; + private InlineResponse2002EmbeddedTotals totals = null; - public InlineResponse2005EmbeddedBatches links(InlineResponse2005EmbeddedLinks links) { + public InlineResponse2002EmbeddedBatches links(InlineResponse2002EmbeddedLinks links) { this.links = links; return this; } @@ -73,15 +73,15 @@ public InlineResponse2005EmbeddedBatches links(InlineResponse2005EmbeddedLinks l * @return links **/ @ApiModelProperty(value = "") - public InlineResponse2005EmbeddedLinks getLinks() { + public InlineResponse2002EmbeddedLinks getLinks() { return links; } - public void setLinks(InlineResponse2005EmbeddedLinks links) { + public void setLinks(InlineResponse2002EmbeddedLinks links) { this.links = links; } - public InlineResponse2005EmbeddedBatches batchId(String batchId) { + public InlineResponse2002EmbeddedBatches batchId(String batchId) { this.batchId = batchId; return this; } @@ -99,7 +99,7 @@ public void setBatchId(String batchId) { this.batchId = batchId; } - public InlineResponse2005EmbeddedBatches batchCreatedDate(String batchCreatedDate) { + public InlineResponse2002EmbeddedBatches batchCreatedDate(String batchCreatedDate) { this.batchCreatedDate = batchCreatedDate; return this; } @@ -117,7 +117,7 @@ public void setBatchCreatedDate(String batchCreatedDate) { this.batchCreatedDate = batchCreatedDate; } - public InlineResponse2005EmbeddedBatches batchModifiedDate(String batchModifiedDate) { + public InlineResponse2002EmbeddedBatches batchModifiedDate(String batchModifiedDate) { this.batchModifiedDate = batchModifiedDate; return this; } @@ -135,7 +135,7 @@ public void setBatchModifiedDate(String batchModifiedDate) { this.batchModifiedDate = batchModifiedDate; } - public InlineResponse2005EmbeddedBatches batchSource(String batchSource) { + public InlineResponse2002EmbeddedBatches batchSource(String batchSource) { this.batchSource = batchSource; return this; } @@ -153,7 +153,7 @@ public void setBatchSource(String batchSource) { this.batchSource = batchSource; } - public InlineResponse2005EmbeddedBatches tokenSource(String tokenSource) { + public InlineResponse2002EmbeddedBatches tokenSource(String tokenSource) { this.tokenSource = tokenSource; return this; } @@ -171,7 +171,7 @@ public void setTokenSource(String tokenSource) { this.tokenSource = tokenSource; } - public InlineResponse2005EmbeddedBatches merchantReference(String merchantReference) { + public InlineResponse2002EmbeddedBatches merchantReference(String merchantReference) { this.merchantReference = merchantReference; return this; } @@ -189,12 +189,12 @@ public void setMerchantReference(String merchantReference) { this.merchantReference = merchantReference; } - public InlineResponse2005EmbeddedBatches batchCaEndpoints(List batchCaEndpoints) { + public InlineResponse2002EmbeddedBatches batchCaEndpoints(List batchCaEndpoints) { this.batchCaEndpoints = batchCaEndpoints; return this; } - public InlineResponse2005EmbeddedBatches addBatchCaEndpointsItem(String batchCaEndpointsItem) { + public InlineResponse2002EmbeddedBatches addBatchCaEndpointsItem(String batchCaEndpointsItem) { if (this.batchCaEndpoints == null) { this.batchCaEndpoints = new ArrayList(); } @@ -215,7 +215,7 @@ public void setBatchCaEndpoints(List batchCaEndpoints) { this.batchCaEndpoints = batchCaEndpoints; } - public InlineResponse2005EmbeddedBatches status(String status) { + public InlineResponse2002EmbeddedBatches status(String status) { this.status = status; return this; } @@ -233,7 +233,7 @@ public void setStatus(String status) { this.status = status; } - public InlineResponse2005EmbeddedBatches totals(InlineResponse2005EmbeddedTotals totals) { + public InlineResponse2002EmbeddedBatches totals(InlineResponse2002EmbeddedTotals totals) { this.totals = totals; return this; } @@ -243,11 +243,11 @@ public InlineResponse2005EmbeddedBatches totals(InlineResponse2005EmbeddedTotals * @return totals **/ @ApiModelProperty(value = "") - public InlineResponse2005EmbeddedTotals getTotals() { + public InlineResponse2002EmbeddedTotals getTotals() { return totals; } - public void setTotals(InlineResponse2005EmbeddedTotals totals) { + public void setTotals(InlineResponse2002EmbeddedTotals totals) { this.totals = totals; } @@ -260,17 +260,17 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2005EmbeddedBatches inlineResponse2005EmbeddedBatches = (InlineResponse2005EmbeddedBatches) o; - return Objects.equals(this.links, inlineResponse2005EmbeddedBatches.links) && - Objects.equals(this.batchId, inlineResponse2005EmbeddedBatches.batchId) && - Objects.equals(this.batchCreatedDate, inlineResponse2005EmbeddedBatches.batchCreatedDate) && - Objects.equals(this.batchModifiedDate, inlineResponse2005EmbeddedBatches.batchModifiedDate) && - Objects.equals(this.batchSource, inlineResponse2005EmbeddedBatches.batchSource) && - Objects.equals(this.tokenSource, inlineResponse2005EmbeddedBatches.tokenSource) && - Objects.equals(this.merchantReference, inlineResponse2005EmbeddedBatches.merchantReference) && - Objects.equals(this.batchCaEndpoints, inlineResponse2005EmbeddedBatches.batchCaEndpoints) && - Objects.equals(this.status, inlineResponse2005EmbeddedBatches.status) && - Objects.equals(this.totals, inlineResponse2005EmbeddedBatches.totals); + InlineResponse2002EmbeddedBatches inlineResponse2002EmbeddedBatches = (InlineResponse2002EmbeddedBatches) o; + return Objects.equals(this.links, inlineResponse2002EmbeddedBatches.links) && + Objects.equals(this.batchId, inlineResponse2002EmbeddedBatches.batchId) && + Objects.equals(this.batchCreatedDate, inlineResponse2002EmbeddedBatches.batchCreatedDate) && + Objects.equals(this.batchModifiedDate, inlineResponse2002EmbeddedBatches.batchModifiedDate) && + Objects.equals(this.batchSource, inlineResponse2002EmbeddedBatches.batchSource) && + Objects.equals(this.tokenSource, inlineResponse2002EmbeddedBatches.tokenSource) && + Objects.equals(this.merchantReference, inlineResponse2002EmbeddedBatches.merchantReference) && + Objects.equals(this.batchCaEndpoints, inlineResponse2002EmbeddedBatches.batchCaEndpoints) && + Objects.equals(this.status, inlineResponse2002EmbeddedBatches.status) && + Objects.equals(this.totals, inlineResponse2002EmbeddedBatches.totals); } @Override @@ -282,7 +282,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2005EmbeddedBatches {\n"); + sb.append("class InlineResponse2002EmbeddedBatches {\n"); if (links != null) sb.append(" links: ").append(toIndentedString(links)).append("\n"); if (batchId != null) sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2005EmbeddedLinks.java b/src/main/java/Model/InlineResponse2002EmbeddedLinks.java similarity index 70% rename from src/main/java/Model/InlineResponse2005EmbeddedLinks.java rename to src/main/java/Model/InlineResponse2002EmbeddedLinks.java index c6625018..db1b46c4 100644 --- a/src/main/java/Model/InlineResponse2005EmbeddedLinks.java +++ b/src/main/java/Model/InlineResponse2002EmbeddedLinks.java @@ -15,7 +15,7 @@ import java.util.Objects; import java.util.Arrays; -import Model.InlineResponse2005EmbeddedLinksReports; +import Model.InlineResponse2002EmbeddedLinksReports; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -28,21 +28,21 @@ import java.util.List; /** - * InlineResponse2005EmbeddedLinks + * InlineResponse2002EmbeddedLinks */ -public class InlineResponse2005EmbeddedLinks { +public class InlineResponse2002EmbeddedLinks { @SerializedName("reports") - private List reports = null; + private List reports = null; - public InlineResponse2005EmbeddedLinks reports(List reports) { + public InlineResponse2002EmbeddedLinks reports(List reports) { this.reports = reports; return this; } - public InlineResponse2005EmbeddedLinks addReportsItem(InlineResponse2005EmbeddedLinksReports reportsItem) { + public InlineResponse2002EmbeddedLinks addReportsItem(InlineResponse2002EmbeddedLinksReports reportsItem) { if (this.reports == null) { - this.reports = new ArrayList(); + this.reports = new ArrayList(); } this.reports.add(reportsItem); return this; @@ -53,11 +53,11 @@ public InlineResponse2005EmbeddedLinks addReportsItem(InlineResponse2005Embedded * @return reports **/ @ApiModelProperty(value = "") - public List getReports() { + public List getReports() { return reports; } - public void setReports(List reports) { + public void setReports(List reports) { this.reports = reports; } @@ -70,8 +70,8 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2005EmbeddedLinks inlineResponse2005EmbeddedLinks = (InlineResponse2005EmbeddedLinks) o; - return Objects.equals(this.reports, inlineResponse2005EmbeddedLinks.reports); + InlineResponse2002EmbeddedLinks inlineResponse2002EmbeddedLinks = (InlineResponse2002EmbeddedLinks) o; + return Objects.equals(this.reports, inlineResponse2002EmbeddedLinks.reports); } @Override @@ -83,7 +83,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2005EmbeddedLinks {\n"); + sb.append("class InlineResponse2002EmbeddedLinks {\n"); if (reports != null) sb.append(" reports: ").append(toIndentedString(reports)).append("\n"); sb.append("}"); diff --git a/src/main/java/Model/InlineResponse2005EmbeddedLinksReports.java b/src/main/java/Model/InlineResponse2002EmbeddedLinksReports.java similarity index 85% rename from src/main/java/Model/InlineResponse2005EmbeddedLinksReports.java rename to src/main/java/Model/InlineResponse2002EmbeddedLinksReports.java index 2ee92429..3e65c705 100644 --- a/src/main/java/Model/InlineResponse2005EmbeddedLinksReports.java +++ b/src/main/java/Model/InlineResponse2002EmbeddedLinksReports.java @@ -29,11 +29,11 @@ */ @ApiModel(description = "Retrieve the generated report of a batch when available.") -public class InlineResponse2005EmbeddedLinksReports { +public class InlineResponse2002EmbeddedLinksReports { @SerializedName("href") private String href = null; - public InlineResponse2005EmbeddedLinksReports href(String href) { + public InlineResponse2002EmbeddedLinksReports href(String href) { this.href = href; return this; } @@ -60,8 +60,8 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2005EmbeddedLinksReports inlineResponse2005EmbeddedLinksReports = (InlineResponse2005EmbeddedLinksReports) o; - return Objects.equals(this.href, inlineResponse2005EmbeddedLinksReports.href); + InlineResponse2002EmbeddedLinksReports inlineResponse2002EmbeddedLinksReports = (InlineResponse2002EmbeddedLinksReports) o; + return Objects.equals(this.href, inlineResponse2002EmbeddedLinksReports.href); } @Override @@ -73,7 +73,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2005EmbeddedLinksReports {\n"); + sb.append("class InlineResponse2002EmbeddedLinksReports {\n"); if (href != null) sb.append(" href: ").append(toIndentedString(href)).append("\n"); sb.append("}"); diff --git a/src/main/java/Model/InlineResponse2005EmbeddedTotals.java b/src/main/java/Model/InlineResponse2002EmbeddedTotals.java similarity index 84% rename from src/main/java/Model/InlineResponse2005EmbeddedTotals.java rename to src/main/java/Model/InlineResponse2002EmbeddedTotals.java index 50c3a9a1..a723e2a2 100644 --- a/src/main/java/Model/InlineResponse2005EmbeddedTotals.java +++ b/src/main/java/Model/InlineResponse2002EmbeddedTotals.java @@ -25,10 +25,10 @@ import java.io.IOException; /** - * InlineResponse2005EmbeddedTotals + * InlineResponse2002EmbeddedTotals */ -public class InlineResponse2005EmbeddedTotals { +public class InlineResponse2002EmbeddedTotals { @SerializedName("acceptedRecords") private Integer acceptedRecords = null; @@ -44,7 +44,7 @@ public class InlineResponse2005EmbeddedTotals { @SerializedName("caResponsesOmitted") private Integer caResponsesOmitted = null; - public InlineResponse2005EmbeddedTotals acceptedRecords(Integer acceptedRecords) { + public InlineResponse2002EmbeddedTotals acceptedRecords(Integer acceptedRecords) { this.acceptedRecords = acceptedRecords; return this; } @@ -62,7 +62,7 @@ public void setAcceptedRecords(Integer acceptedRecords) { this.acceptedRecords = acceptedRecords; } - public InlineResponse2005EmbeddedTotals rejectedRecords(Integer rejectedRecords) { + public InlineResponse2002EmbeddedTotals rejectedRecords(Integer rejectedRecords) { this.rejectedRecords = rejectedRecords; return this; } @@ -80,7 +80,7 @@ public void setRejectedRecords(Integer rejectedRecords) { this.rejectedRecords = rejectedRecords; } - public InlineResponse2005EmbeddedTotals updatedRecords(Integer updatedRecords) { + public InlineResponse2002EmbeddedTotals updatedRecords(Integer updatedRecords) { this.updatedRecords = updatedRecords; return this; } @@ -98,7 +98,7 @@ public void setUpdatedRecords(Integer updatedRecords) { this.updatedRecords = updatedRecords; } - public InlineResponse2005EmbeddedTotals caResponses(Integer caResponses) { + public InlineResponse2002EmbeddedTotals caResponses(Integer caResponses) { this.caResponses = caResponses; return this; } @@ -116,7 +116,7 @@ public void setCaResponses(Integer caResponses) { this.caResponses = caResponses; } - public InlineResponse2005EmbeddedTotals caResponsesOmitted(Integer caResponsesOmitted) { + public InlineResponse2002EmbeddedTotals caResponsesOmitted(Integer caResponsesOmitted) { this.caResponsesOmitted = caResponsesOmitted; return this; } @@ -143,12 +143,12 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2005EmbeddedTotals inlineResponse2005EmbeddedTotals = (InlineResponse2005EmbeddedTotals) o; - return Objects.equals(this.acceptedRecords, inlineResponse2005EmbeddedTotals.acceptedRecords) && - Objects.equals(this.rejectedRecords, inlineResponse2005EmbeddedTotals.rejectedRecords) && - Objects.equals(this.updatedRecords, inlineResponse2005EmbeddedTotals.updatedRecords) && - Objects.equals(this.caResponses, inlineResponse2005EmbeddedTotals.caResponses) && - Objects.equals(this.caResponsesOmitted, inlineResponse2005EmbeddedTotals.caResponsesOmitted); + InlineResponse2002EmbeddedTotals inlineResponse2002EmbeddedTotals = (InlineResponse2002EmbeddedTotals) o; + return Objects.equals(this.acceptedRecords, inlineResponse2002EmbeddedTotals.acceptedRecords) && + Objects.equals(this.rejectedRecords, inlineResponse2002EmbeddedTotals.rejectedRecords) && + Objects.equals(this.updatedRecords, inlineResponse2002EmbeddedTotals.updatedRecords) && + Objects.equals(this.caResponses, inlineResponse2002EmbeddedTotals.caResponses) && + Objects.equals(this.caResponsesOmitted, inlineResponse2002EmbeddedTotals.caResponsesOmitted); } @Override @@ -160,7 +160,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2005EmbeddedTotals {\n"); + sb.append("class InlineResponse2002EmbeddedTotals {\n"); if (acceptedRecords != null) sb.append(" acceptedRecords: ").append(toIndentedString(acceptedRecords)).append("\n"); if (rejectedRecords != null) sb.append(" rejectedRecords: ").append(toIndentedString(rejectedRecords)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2005Links.java b/src/main/java/Model/InlineResponse2002Links.java similarity index 84% rename from src/main/java/Model/InlineResponse2005Links.java rename to src/main/java/Model/InlineResponse2002Links.java index 0e762e93..21bda95e 100644 --- a/src/main/java/Model/InlineResponse2005Links.java +++ b/src/main/java/Model/InlineResponse2002Links.java @@ -25,17 +25,17 @@ import java.io.IOException; /** - * InlineResponse2005Links + * InlineResponse2002Links */ -public class InlineResponse2005Links { +public class InlineResponse2002Links { @SerializedName("rel") private String rel = null; @SerializedName("href") private String href = null; - public InlineResponse2005Links rel(String rel) { + public InlineResponse2002Links rel(String rel) { this.rel = rel; return this; } @@ -53,7 +53,7 @@ public void setRel(String rel) { this.rel = rel; } - public InlineResponse2005Links href(String href) { + public InlineResponse2002Links href(String href) { this.href = href; return this; } @@ -80,9 +80,9 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2005Links inlineResponse2005Links = (InlineResponse2005Links) o; - return Objects.equals(this.rel, inlineResponse2005Links.rel) && - Objects.equals(this.href, inlineResponse2005Links.href); + InlineResponse2002Links inlineResponse2002Links = (InlineResponse2002Links) o; + return Objects.equals(this.rel, inlineResponse2002Links.rel) && + Objects.equals(this.href, inlineResponse2002Links.href); } @Override @@ -94,7 +94,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2005Links {\n"); + sb.append("class InlineResponse2002Links {\n"); if (rel != null) sb.append(" rel: ").append(toIndentedString(rel)).append("\n"); if (href != null) sb.append(" href: ").append(toIndentedString(href)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2003.java b/src/main/java/Model/InlineResponse2003.java index 660df706..e21da606 100644 --- a/src/main/java/Model/InlineResponse2003.java +++ b/src/main/java/Model/InlineResponse2003.java @@ -15,10 +15,9 @@ import java.util.Objects; import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksNotificationScope; -import Model.Notificationsubscriptionsv1webhooksProducts; -import Model.Notificationsubscriptionsv1webhooksRetryPolicy; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicy; +import Model.InlineResponse2002EmbeddedTotals; +import Model.InlineResponse2003Billing; +import Model.InlineResponse2003Links; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -27,171 +26,148 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; /** * InlineResponse2003 */ public class InlineResponse2003 { - @SerializedName("webhookId") - private String webhookId = null; + @SerializedName("_links") + private InlineResponse2003Links links = null; - @SerializedName("organizationId") - private String organizationId = null; + @SerializedName("batchId") + private String batchId = null; - @SerializedName("products") - private List products = null; + @SerializedName("batchCreatedDate") + private String batchCreatedDate = null; - @SerializedName("webhookUrl") - private String webhookUrl = null; + @SerializedName("batchSource") + private String batchSource = null; - @SerializedName("healthCheckUrl") - private String healthCheckUrl = null; + @SerializedName("merchantReference") + private String merchantReference = null; - @SerializedName("notificationScope") - private Notificationsubscriptionsv1webhooksNotificationScope notificationScope = null; + @SerializedName("batchCaEndpoints") + private String batchCaEndpoints = null; @SerializedName("status") - private String status = "INACTIVE"; + private String status = null; - @SerializedName("name") - private String name = null; + @SerializedName("totals") + private InlineResponse2002EmbeddedTotals totals = null; + + @SerializedName("billing") + private InlineResponse2003Billing billing = null; @SerializedName("description") private String description = null; - @SerializedName("retryPolicy") - private Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy = null; - - @SerializedName("securityPolicy") - private Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy = null; - - @SerializedName("createdOn") - private String createdOn = null; - - @SerializedName("updatedOn") - private String updatedOn = null; - - @SerializedName("additionalAttributes") - private List> additionalAttributes = null; - - public InlineResponse2003 webhookId(String webhookId) { - this.webhookId = webhookId; + public InlineResponse2003 links(InlineResponse2003Links links) { + this.links = links; return this; } /** - * Webhook Id. This is generated by the server. - * @return webhookId + * Get links + * @return links **/ - @ApiModelProperty(value = "Webhook Id. This is generated by the server.") - public String getWebhookId() { - return webhookId; + @ApiModelProperty(value = "") + public InlineResponse2003Links getLinks() { + return links; } - public void setWebhookId(String webhookId) { - this.webhookId = webhookId; + public void setLinks(InlineResponse2003Links links) { + this.links = links; } - public InlineResponse2003 organizationId(String organizationId) { - this.organizationId = organizationId; + public InlineResponse2003 batchId(String batchId) { + this.batchId = batchId; return this; } /** - * Organization ID. - * @return organizationId + * Unique identification number assigned to the submitted request. + * @return batchId **/ - @ApiModelProperty(value = "Organization ID.") - public String getOrganizationId() { - return organizationId; + @ApiModelProperty(example = "16188390061150001062041064", value = "Unique identification number assigned to the submitted request.") + public String getBatchId() { + return batchId; } - public void setOrganizationId(String organizationId) { - this.organizationId = organizationId; + public void setBatchId(String batchId) { + this.batchId = batchId; } - public InlineResponse2003 products(List products) { - this.products = products; - return this; - } - - public InlineResponse2003 addProductsItem(Notificationsubscriptionsv1webhooksProducts productsItem) { - if (this.products == null) { - this.products = new ArrayList(); - } - this.products.add(productsItem); + public InlineResponse2003 batchCreatedDate(String batchCreatedDate) { + this.batchCreatedDate = batchCreatedDate; return this; } /** - * Get products - * @return products + * ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ + * @return batchCreatedDate **/ - @ApiModelProperty(value = "") - public List getProducts() { - return products; + @ApiModelProperty(example = "2018-05-22T14.38.57Z", value = "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ") + public String getBatchCreatedDate() { + return batchCreatedDate; } - public void setProducts(List products) { - this.products = products; + public void setBatchCreatedDate(String batchCreatedDate) { + this.batchCreatedDate = batchCreatedDate; } - public InlineResponse2003 webhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; + public InlineResponse2003 batchSource(String batchSource) { + this.batchSource = batchSource; return this; } /** - * The client's endpoint (URL) to receive webhooks. - * @return webhookUrl + * Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE + * @return batchSource **/ - @ApiModelProperty(value = "The client's endpoint (URL) to receive webhooks.") - public String getWebhookUrl() { - return webhookUrl; + @ApiModelProperty(value = "Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE ") + public String getBatchSource() { + return batchSource; } - public void setWebhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; + public void setBatchSource(String batchSource) { + this.batchSource = batchSource; } - public InlineResponse2003 healthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; + public InlineResponse2003 merchantReference(String merchantReference) { + this.merchantReference = merchantReference; return this; } /** - * The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. - * @return healthCheckUrl + * Reference used by merchant to identify batch. + * @return merchantReference **/ - @ApiModelProperty(value = "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.") - public String getHealthCheckUrl() { - return healthCheckUrl; + @ApiModelProperty(example = "TC50171_3", value = "Reference used by merchant to identify batch.") + public String getMerchantReference() { + return merchantReference; } - public void setHealthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; + public void setMerchantReference(String merchantReference) { + this.merchantReference = merchantReference; } - public InlineResponse2003 notificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; + public InlineResponse2003 batchCaEndpoints(String batchCaEndpoints) { + this.batchCaEndpoints = batchCaEndpoints; return this; } /** - * Get notificationScope - * @return notificationScope + * Get batchCaEndpoints + * @return batchCaEndpoints **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksNotificationScope getNotificationScope() { - return notificationScope; + @ApiModelProperty(example = "VISA,MASTERCARD", value = "") + public String getBatchCaEndpoints() { + return batchCaEndpoints; } - public void setNotificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; + public void setBatchCaEndpoints(String batchCaEndpoints) { + this.batchCaEndpoints = batchCaEndpoints; } public InlineResponse2003 status(String status) { @@ -200,10 +176,10 @@ public InlineResponse2003 status(String status) { } /** - * Webhook status. + * Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED * @return status **/ - @ApiModelProperty(value = "Webhook status.") + @ApiModelProperty(value = "Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED ") public String getStatus() { return status; } @@ -212,138 +188,58 @@ public void setStatus(String status) { this.status = status; } - public InlineResponse2003 name(String name) { - this.name = name; - return this; - } - - /** - * Client friendly webhook name. - * @return name - **/ - @ApiModelProperty(value = "Client friendly webhook name.") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public InlineResponse2003 description(String description) { - this.description = description; + public InlineResponse2003 totals(InlineResponse2002EmbeddedTotals totals) { + this.totals = totals; return this; } /** - * Client friendly webhook description. - * @return description - **/ - @ApiModelProperty(value = "Client friendly webhook description.") - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public InlineResponse2003 retryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; - return this; - } - - /** - * Get retryPolicy - * @return retryPolicy + * Get totals + * @return totals **/ @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksRetryPolicy getRetryPolicy() { - return retryPolicy; + public InlineResponse2002EmbeddedTotals getTotals() { + return totals; } - public void setRetryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; + public void setTotals(InlineResponse2002EmbeddedTotals totals) { + this.totals = totals; } - public InlineResponse2003 securityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; + public InlineResponse2003 billing(InlineResponse2003Billing billing) { + this.billing = billing; return this; } /** - * Get securityPolicy - * @return securityPolicy + * Get billing + * @return billing **/ @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicy getSecurityPolicy() { - return securityPolicy; + public InlineResponse2003Billing getBilling() { + return billing; } - public void setSecurityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; + public void setBilling(InlineResponse2003Billing billing) { + this.billing = billing; } - public InlineResponse2003 createdOn(String createdOn) { - this.createdOn = createdOn; - return this; - } - - /** - * Date on which webhook was created/registered. - * @return createdOn - **/ - @ApiModelProperty(value = "Date on which webhook was created/registered.") - public String getCreatedOn() { - return createdOn; - } - - public void setCreatedOn(String createdOn) { - this.createdOn = createdOn; - } - - public InlineResponse2003 updatedOn(String updatedOn) { - this.updatedOn = updatedOn; - return this; - } - - /** - * Date on which webhook was most recently updated. - * @return updatedOn - **/ - @ApiModelProperty(value = "Date on which webhook was most recently updated.") - public String getUpdatedOn() { - return updatedOn; - } - - public void setUpdatedOn(String updatedOn) { - this.updatedOn = updatedOn; - } - - public InlineResponse2003 additionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; - return this; - } - - public InlineResponse2003 addAdditionalAttributesItem(Map additionalAttributesItem) { - if (this.additionalAttributes == null) { - this.additionalAttributes = new ArrayList>(); - } - this.additionalAttributes.add(additionalAttributesItem); + public InlineResponse2003 description(String description) { + this.description = description; return this; } /** - * Additional, free form configuration data. - * @return additionalAttributes + * Get description + * @return description **/ - @ApiModelProperty(value = "Additional, free form configuration data.") - public List> getAdditionalAttributes() { - return additionalAttributes; + @ApiModelProperty(example = "Your batch has been received, and is being checked for errors.", value = "") + public String getDescription() { + return description; } - public void setAdditionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; + public void setDescription(String description) { + this.description = description; } @@ -356,25 +252,21 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse2003 inlineResponse2003 = (InlineResponse2003) o; - return Objects.equals(this.webhookId, inlineResponse2003.webhookId) && - Objects.equals(this.organizationId, inlineResponse2003.organizationId) && - Objects.equals(this.products, inlineResponse2003.products) && - Objects.equals(this.webhookUrl, inlineResponse2003.webhookUrl) && - Objects.equals(this.healthCheckUrl, inlineResponse2003.healthCheckUrl) && - Objects.equals(this.notificationScope, inlineResponse2003.notificationScope) && + return Objects.equals(this.links, inlineResponse2003.links) && + Objects.equals(this.batchId, inlineResponse2003.batchId) && + Objects.equals(this.batchCreatedDate, inlineResponse2003.batchCreatedDate) && + Objects.equals(this.batchSource, inlineResponse2003.batchSource) && + Objects.equals(this.merchantReference, inlineResponse2003.merchantReference) && + Objects.equals(this.batchCaEndpoints, inlineResponse2003.batchCaEndpoints) && Objects.equals(this.status, inlineResponse2003.status) && - Objects.equals(this.name, inlineResponse2003.name) && - Objects.equals(this.description, inlineResponse2003.description) && - Objects.equals(this.retryPolicy, inlineResponse2003.retryPolicy) && - Objects.equals(this.securityPolicy, inlineResponse2003.securityPolicy) && - Objects.equals(this.createdOn, inlineResponse2003.createdOn) && - Objects.equals(this.updatedOn, inlineResponse2003.updatedOn) && - Objects.equals(this.additionalAttributes, inlineResponse2003.additionalAttributes); + Objects.equals(this.totals, inlineResponse2003.totals) && + Objects.equals(this.billing, inlineResponse2003.billing) && + Objects.equals(this.description, inlineResponse2003.description); } @Override public int hashCode() { - return Objects.hash(webhookId, organizationId, products, webhookUrl, healthCheckUrl, notificationScope, status, name, description, retryPolicy, securityPolicy, createdOn, updatedOn, additionalAttributes); + return Objects.hash(links, batchId, batchCreatedDate, batchSource, merchantReference, batchCaEndpoints, status, totals, billing, description); } @@ -383,20 +275,16 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse2003 {\n"); - if (webhookId != null) sb.append(" webhookId: ").append(toIndentedString(webhookId)).append("\n"); - if (organizationId != null) sb.append(" organizationId: ").append(toIndentedString(organizationId)).append("\n"); - if (products != null) sb.append(" products: ").append(toIndentedString(products)).append("\n"); - if (webhookUrl != null) sb.append(" webhookUrl: ").append(toIndentedString(webhookUrl)).append("\n"); - if (healthCheckUrl != null) sb.append(" healthCheckUrl: ").append(toIndentedString(healthCheckUrl)).append("\n"); - if (notificationScope != null) sb.append(" notificationScope: ").append(toIndentedString(notificationScope)).append("\n"); + if (links != null) sb.append(" links: ").append(toIndentedString(links)).append("\n"); + if (batchId != null) sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); + if (batchCreatedDate != null) sb.append(" batchCreatedDate: ").append(toIndentedString(batchCreatedDate)).append("\n"); + if (batchSource != null) sb.append(" batchSource: ").append(toIndentedString(batchSource)).append("\n"); + if (merchantReference != null) sb.append(" merchantReference: ").append(toIndentedString(merchantReference)).append("\n"); + if (batchCaEndpoints != null) sb.append(" batchCaEndpoints: ").append(toIndentedString(batchCaEndpoints)).append("\n"); if (status != null) sb.append(" status: ").append(toIndentedString(status)).append("\n"); - if (name != null) sb.append(" name: ").append(toIndentedString(name)).append("\n"); + if (totals != null) sb.append(" totals: ").append(toIndentedString(totals)).append("\n"); + if (billing != null) sb.append(" billing: ").append(toIndentedString(billing)).append("\n"); if (description != null) sb.append(" description: ").append(toIndentedString(description)).append("\n"); - if (retryPolicy != null) sb.append(" retryPolicy: ").append(toIndentedString(retryPolicy)).append("\n"); - if (securityPolicy != null) sb.append(" securityPolicy: ").append(toIndentedString(securityPolicy)).append("\n"); - if (createdOn != null) sb.append(" createdOn: ").append(toIndentedString(createdOn)).append("\n"); - if (updatedOn != null) sb.append(" updatedOn: ").append(toIndentedString(updatedOn)).append("\n"); - if (additionalAttributes != null) sb.append(" additionalAttributes: ").append(toIndentedString(additionalAttributes)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/InlineResponse2006Billing.java b/src/main/java/Model/InlineResponse2003Billing.java similarity index 81% rename from src/main/java/Model/InlineResponse2006Billing.java rename to src/main/java/Model/InlineResponse2003Billing.java index 6d497f28..6d2268d3 100644 --- a/src/main/java/Model/InlineResponse2006Billing.java +++ b/src/main/java/Model/InlineResponse2003Billing.java @@ -25,10 +25,10 @@ import java.io.IOException; /** - * InlineResponse2006Billing + * InlineResponse2003Billing */ -public class InlineResponse2006Billing { +public class InlineResponse2003Billing { @SerializedName("nan") private Integer nan = null; @@ -41,7 +41,7 @@ public class InlineResponse2006Billing { @SerializedName("cch") private Integer cch = null; - public InlineResponse2006Billing nan(Integer nan) { + public InlineResponse2003Billing nan(Integer nan) { this.nan = nan; return this; } @@ -59,7 +59,7 @@ public void setNan(Integer nan) { this.nan = nan; } - public InlineResponse2006Billing ned(Integer ned) { + public InlineResponse2003Billing ned(Integer ned) { this.ned = ned; return this; } @@ -77,7 +77,7 @@ public void setNed(Integer ned) { this.ned = ned; } - public InlineResponse2006Billing acl(Integer acl) { + public InlineResponse2003Billing acl(Integer acl) { this.acl = acl; return this; } @@ -95,7 +95,7 @@ public void setAcl(Integer acl) { this.acl = acl; } - public InlineResponse2006Billing cch(Integer cch) { + public InlineResponse2003Billing cch(Integer cch) { this.cch = cch; return this; } @@ -122,11 +122,11 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2006Billing inlineResponse2006Billing = (InlineResponse2006Billing) o; - return Objects.equals(this.nan, inlineResponse2006Billing.nan) && - Objects.equals(this.ned, inlineResponse2006Billing.ned) && - Objects.equals(this.acl, inlineResponse2006Billing.acl) && - Objects.equals(this.cch, inlineResponse2006Billing.cch); + InlineResponse2003Billing inlineResponse2003Billing = (InlineResponse2003Billing) o; + return Objects.equals(this.nan, inlineResponse2003Billing.nan) && + Objects.equals(this.ned, inlineResponse2003Billing.ned) && + Objects.equals(this.acl, inlineResponse2003Billing.acl) && + Objects.equals(this.cch, inlineResponse2003Billing.cch); } @Override @@ -138,7 +138,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2006Billing {\n"); + sb.append("class InlineResponse2003Billing {\n"); if (nan != null) sb.append(" nan: ").append(toIndentedString(nan)).append("\n"); if (ned != null) sb.append(" ned: ").append(toIndentedString(ned)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2006Links.java b/src/main/java/Model/InlineResponse2003Links.java similarity index 74% rename from src/main/java/Model/InlineResponse2006Links.java rename to src/main/java/Model/InlineResponse2003Links.java index 33650249..473a3474 100644 --- a/src/main/java/Model/InlineResponse2006Links.java +++ b/src/main/java/Model/InlineResponse2003Links.java @@ -15,7 +15,7 @@ import java.util.Objects; import java.util.Arrays; -import Model.InlineResponse2006LinksReport; +import Model.InlineResponse2003LinksReport; import Model.InlineResponse202LinksStatus; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; @@ -29,17 +29,17 @@ import java.util.List; /** - * InlineResponse2006Links + * InlineResponse2003Links */ -public class InlineResponse2006Links { +public class InlineResponse2003Links { @SerializedName("self") private InlineResponse202LinksStatus self = null; @SerializedName("report") - private List report = null; + private List report = null; - public InlineResponse2006Links self(InlineResponse202LinksStatus self) { + public InlineResponse2003Links self(InlineResponse202LinksStatus self) { this.self = self; return this; } @@ -57,14 +57,14 @@ public void setSelf(InlineResponse202LinksStatus self) { this.self = self; } - public InlineResponse2006Links report(List report) { + public InlineResponse2003Links report(List report) { this.report = report; return this; } - public InlineResponse2006Links addReportItem(InlineResponse2006LinksReport reportItem) { + public InlineResponse2003Links addReportItem(InlineResponse2003LinksReport reportItem) { if (this.report == null) { - this.report = new ArrayList(); + this.report = new ArrayList(); } this.report.add(reportItem); return this; @@ -75,11 +75,11 @@ public InlineResponse2006Links addReportItem(InlineResponse2006LinksReport repor * @return report **/ @ApiModelProperty(value = "") - public List getReport() { + public List getReport() { return report; } - public void setReport(List report) { + public void setReport(List report) { this.report = report; } @@ -92,9 +92,9 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2006Links inlineResponse2006Links = (InlineResponse2006Links) o; - return Objects.equals(this.self, inlineResponse2006Links.self) && - Objects.equals(this.report, inlineResponse2006Links.report); + InlineResponse2003Links inlineResponse2003Links = (InlineResponse2003Links) o; + return Objects.equals(this.self, inlineResponse2003Links.self) && + Objects.equals(this.report, inlineResponse2003Links.report); } @Override @@ -106,7 +106,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2006Links {\n"); + sb.append("class InlineResponse2003Links {\n"); if (self != null) sb.append(" self: ").append(toIndentedString(self)).append("\n"); if (report != null) sb.append(" report: ").append(toIndentedString(report)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2006LinksReport.java b/src/main/java/Model/InlineResponse2003LinksReport.java similarity index 84% rename from src/main/java/Model/InlineResponse2006LinksReport.java rename to src/main/java/Model/InlineResponse2003LinksReport.java index 369566b1..a62500ab 100644 --- a/src/main/java/Model/InlineResponse2006LinksReport.java +++ b/src/main/java/Model/InlineResponse2003LinksReport.java @@ -25,14 +25,14 @@ import java.io.IOException; /** - * InlineResponse2006LinksReport + * InlineResponse2003LinksReport */ -public class InlineResponse2006LinksReport { +public class InlineResponse2003LinksReport { @SerializedName("href") private String href = null; - public InlineResponse2006LinksReport href(String href) { + public InlineResponse2003LinksReport href(String href) { this.href = href; return this; } @@ -59,8 +59,8 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2006LinksReport inlineResponse2006LinksReport = (InlineResponse2006LinksReport) o; - return Objects.equals(this.href, inlineResponse2006LinksReport.href); + InlineResponse2003LinksReport inlineResponse2003LinksReport = (InlineResponse2003LinksReport) o; + return Objects.equals(this.href, inlineResponse2003LinksReport.href); } @Override @@ -72,7 +72,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2006LinksReport {\n"); + sb.append("class InlineResponse2003LinksReport {\n"); if (href != null) sb.append(" href: ").append(toIndentedString(href)).append("\n"); sb.append("}"); diff --git a/src/main/java/Model/InlineResponse2004.java b/src/main/java/Model/InlineResponse2004.java index 766ee968..bf6af538 100644 --- a/src/main/java/Model/InlineResponse2004.java +++ b/src/main/java/Model/InlineResponse2004.java @@ -15,10 +15,9 @@ import java.util.Objects; import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksNotificationScope; -import Model.Notificationsubscriptionsv1webhooksProducts; -import Model.Notificationsubscriptionsv1webhooksRetryPolicy; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicy; +import Model.InlineResponse2002EmbeddedTotals; +import Model.InlineResponse2003Billing; +import Model.InlineResponse2004Records; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -29,321 +28,228 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * InlineResponse2004 */ public class InlineResponse2004 { - @SerializedName("webhookId") - private String webhookId = null; + @SerializedName("version") + private String version = null; - @SerializedName("organizationId") - private String organizationId = null; + @SerializedName("reportCreatedDate") + private String reportCreatedDate = null; - @SerializedName("products") - private List products = null; + @SerializedName("batchId") + private String batchId = null; - @SerializedName("webhookUrl") - private String webhookUrl = null; + @SerializedName("batchSource") + private String batchSource = null; - @SerializedName("healthCheckUrl") - private String healthCheckUrl = null; + @SerializedName("batchCaEndpoints") + private String batchCaEndpoints = null; - @SerializedName("notificationScope") - private Notificationsubscriptionsv1webhooksNotificationScope notificationScope = null; + @SerializedName("batchCreatedDate") + private String batchCreatedDate = null; - @SerializedName("status") - private String status = "INACTIVE"; + @SerializedName("merchantReference") + private String merchantReference = null; - @SerializedName("name") - private String name = null; + @SerializedName("totals") + private InlineResponse2002EmbeddedTotals totals = null; - @SerializedName("description") - private String description = null; + @SerializedName("billing") + private InlineResponse2003Billing billing = null; - @SerializedName("retryPolicy") - private Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy = null; + @SerializedName("records") + private List records = null; - @SerializedName("securityPolicy") - private Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy = null; - - @SerializedName("createdOn") - private String createdOn = null; - - @SerializedName("updatedOn") - private String updatedOn = null; - - @SerializedName("additionalAttributes") - private List> additionalAttributes = null; - - public InlineResponse2004 webhookId(String webhookId) { - this.webhookId = webhookId; - return this; - } - - /** - * Webhook Id. This is generated by the server. - * @return webhookId - **/ - @ApiModelProperty(value = "Webhook Id. This is generated by the server.") - public String getWebhookId() { - return webhookId; - } - - public void setWebhookId(String webhookId) { - this.webhookId = webhookId; - } - - public InlineResponse2004 organizationId(String organizationId) { - this.organizationId = organizationId; + public InlineResponse2004 version(String version) { + this.version = version; return this; } /** - * Organization ID. - * @return organizationId + * Get version + * @return version **/ - @ApiModelProperty(value = "Organization ID.") - public String getOrganizationId() { - return organizationId; - } - - public void setOrganizationId(String organizationId) { - this.organizationId = organizationId; + @ApiModelProperty(example = "1.0", value = "") + public String getVersion() { + return version; } - public InlineResponse2004 products(List products) { - this.products = products; - return this; + public void setVersion(String version) { + this.version = version; } - public InlineResponse2004 addProductsItem(Notificationsubscriptionsv1webhooksProducts productsItem) { - if (this.products == null) { - this.products = new ArrayList(); - } - this.products.add(productsItem); + public InlineResponse2004 reportCreatedDate(String reportCreatedDate) { + this.reportCreatedDate = reportCreatedDate; return this; } /** - * Get products - * @return products + * ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ + * @return reportCreatedDate **/ - @ApiModelProperty(value = "") - public List getProducts() { - return products; + @ApiModelProperty(example = "2018-05-22T14.38.57Z", value = "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ") + public String getReportCreatedDate() { + return reportCreatedDate; } - public void setProducts(List products) { - this.products = products; + public void setReportCreatedDate(String reportCreatedDate) { + this.reportCreatedDate = reportCreatedDate; } - public InlineResponse2004 webhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; + public InlineResponse2004 batchId(String batchId) { + this.batchId = batchId; return this; } /** - * The client's endpoint (URL) to receive webhooks. - * @return webhookUrl + * Unique identification number assigned to the submitted request. + * @return batchId **/ - @ApiModelProperty(value = "The client's endpoint (URL) to receive webhooks.") - public String getWebhookUrl() { - return webhookUrl; + @ApiModelProperty(example = "16188390061150001062041064", value = "Unique identification number assigned to the submitted request.") + public String getBatchId() { + return batchId; } - public void setWebhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; + public void setBatchId(String batchId) { + this.batchId = batchId; } - public InlineResponse2004 healthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; + public InlineResponse2004 batchSource(String batchSource) { + this.batchSource = batchSource; return this; } /** - * The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. - * @return healthCheckUrl + * Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE + * @return batchSource **/ - @ApiModelProperty(value = "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.") - public String getHealthCheckUrl() { - return healthCheckUrl; + @ApiModelProperty(value = "Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE ") + public String getBatchSource() { + return batchSource; } - public void setHealthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; + public void setBatchSource(String batchSource) { + this.batchSource = batchSource; } - public InlineResponse2004 notificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; + public InlineResponse2004 batchCaEndpoints(String batchCaEndpoints) { + this.batchCaEndpoints = batchCaEndpoints; return this; } /** - * Get notificationScope - * @return notificationScope + * Get batchCaEndpoints + * @return batchCaEndpoints **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksNotificationScope getNotificationScope() { - return notificationScope; + @ApiModelProperty(example = "VISA,MASTERCARD", value = "") + public String getBatchCaEndpoints() { + return batchCaEndpoints; } - public void setNotificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; + public void setBatchCaEndpoints(String batchCaEndpoints) { + this.batchCaEndpoints = batchCaEndpoints; } - public InlineResponse2004 status(String status) { - this.status = status; + public InlineResponse2004 batchCreatedDate(String batchCreatedDate) { + this.batchCreatedDate = batchCreatedDate; return this; } /** - * Webhook status. - * @return status + * ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ + * @return batchCreatedDate **/ - @ApiModelProperty(value = "Webhook status.") - public String getStatus() { - return status; + @ApiModelProperty(example = "2018-05-22T14.38.57Z", value = "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ") + public String getBatchCreatedDate() { + return batchCreatedDate; } - public void setStatus(String status) { - this.status = status; + public void setBatchCreatedDate(String batchCreatedDate) { + this.batchCreatedDate = batchCreatedDate; } - public InlineResponse2004 name(String name) { - this.name = name; + public InlineResponse2004 merchantReference(String merchantReference) { + this.merchantReference = merchantReference; return this; } /** - * Client friendly webhook name. - * @return name + * Reference used by merchant to identify batch. + * @return merchantReference **/ - @ApiModelProperty(value = "Client friendly webhook name.") - public String getName() { - return name; + @ApiModelProperty(example = "TC50171_3", value = "Reference used by merchant to identify batch.") + public String getMerchantReference() { + return merchantReference; } - public void setName(String name) { - this.name = name; + public void setMerchantReference(String merchantReference) { + this.merchantReference = merchantReference; } - public InlineResponse2004 description(String description) { - this.description = description; + public InlineResponse2004 totals(InlineResponse2002EmbeddedTotals totals) { + this.totals = totals; return this; } /** - * Client friendly webhook description. - * @return description - **/ - @ApiModelProperty(value = "Client friendly webhook description.") - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public InlineResponse2004 retryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; - return this; - } - - /** - * Get retryPolicy - * @return retryPolicy + * Get totals + * @return totals **/ @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksRetryPolicy getRetryPolicy() { - return retryPolicy; + public InlineResponse2002EmbeddedTotals getTotals() { + return totals; } - public void setRetryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; + public void setTotals(InlineResponse2002EmbeddedTotals totals) { + this.totals = totals; } - public InlineResponse2004 securityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; + public InlineResponse2004 billing(InlineResponse2003Billing billing) { + this.billing = billing; return this; } /** - * Get securityPolicy - * @return securityPolicy + * Get billing + * @return billing **/ @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicy getSecurityPolicy() { - return securityPolicy; + public InlineResponse2003Billing getBilling() { + return billing; } - public void setSecurityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; + public void setBilling(InlineResponse2003Billing billing) { + this.billing = billing; } - public InlineResponse2004 createdOn(String createdOn) { - this.createdOn = createdOn; + public InlineResponse2004 records(List records) { + this.records = records; return this; } - /** - * Date on which webhook was created/registered. - * @return createdOn - **/ - @ApiModelProperty(value = "Date on which webhook was created/registered.") - public String getCreatedOn() { - return createdOn; - } - - public void setCreatedOn(String createdOn) { - this.createdOn = createdOn; - } - - public InlineResponse2004 updatedOn(String updatedOn) { - this.updatedOn = updatedOn; - return this; - } - - /** - * Date on which webhook was most recently updated. - * @return updatedOn - **/ - @ApiModelProperty(value = "Date on which webhook was most recently updated.") - public String getUpdatedOn() { - return updatedOn; - } - - public void setUpdatedOn(String updatedOn) { - this.updatedOn = updatedOn; - } - - public InlineResponse2004 additionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; - return this; - } - - public InlineResponse2004 addAdditionalAttributesItem(Map additionalAttributesItem) { - if (this.additionalAttributes == null) { - this.additionalAttributes = new ArrayList>(); + public InlineResponse2004 addRecordsItem(InlineResponse2004Records recordsItem) { + if (this.records == null) { + this.records = new ArrayList(); } - this.additionalAttributes.add(additionalAttributesItem); + this.records.add(recordsItem); return this; } /** - * Additional, free form configuration data. - * @return additionalAttributes + * Get records + * @return records **/ - @ApiModelProperty(value = "Additional, free form configuration data.") - public List> getAdditionalAttributes() { - return additionalAttributes; + @ApiModelProperty(value = "") + public List getRecords() { + return records; } - public void setAdditionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; + public void setRecords(List records) { + this.records = records; } @@ -356,25 +262,21 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse2004 inlineResponse2004 = (InlineResponse2004) o; - return Objects.equals(this.webhookId, inlineResponse2004.webhookId) && - Objects.equals(this.organizationId, inlineResponse2004.organizationId) && - Objects.equals(this.products, inlineResponse2004.products) && - Objects.equals(this.webhookUrl, inlineResponse2004.webhookUrl) && - Objects.equals(this.healthCheckUrl, inlineResponse2004.healthCheckUrl) && - Objects.equals(this.notificationScope, inlineResponse2004.notificationScope) && - Objects.equals(this.status, inlineResponse2004.status) && - Objects.equals(this.name, inlineResponse2004.name) && - Objects.equals(this.description, inlineResponse2004.description) && - Objects.equals(this.retryPolicy, inlineResponse2004.retryPolicy) && - Objects.equals(this.securityPolicy, inlineResponse2004.securityPolicy) && - Objects.equals(this.createdOn, inlineResponse2004.createdOn) && - Objects.equals(this.updatedOn, inlineResponse2004.updatedOn) && - Objects.equals(this.additionalAttributes, inlineResponse2004.additionalAttributes); + return Objects.equals(this.version, inlineResponse2004.version) && + Objects.equals(this.reportCreatedDate, inlineResponse2004.reportCreatedDate) && + Objects.equals(this.batchId, inlineResponse2004.batchId) && + Objects.equals(this.batchSource, inlineResponse2004.batchSource) && + Objects.equals(this.batchCaEndpoints, inlineResponse2004.batchCaEndpoints) && + Objects.equals(this.batchCreatedDate, inlineResponse2004.batchCreatedDate) && + Objects.equals(this.merchantReference, inlineResponse2004.merchantReference) && + Objects.equals(this.totals, inlineResponse2004.totals) && + Objects.equals(this.billing, inlineResponse2004.billing) && + Objects.equals(this.records, inlineResponse2004.records); } @Override public int hashCode() { - return Objects.hash(webhookId, organizationId, products, webhookUrl, healthCheckUrl, notificationScope, status, name, description, retryPolicy, securityPolicy, createdOn, updatedOn, additionalAttributes); + return Objects.hash(version, reportCreatedDate, batchId, batchSource, batchCaEndpoints, batchCreatedDate, merchantReference, totals, billing, records); } @@ -383,20 +285,16 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse2004 {\n"); - if (webhookId != null) sb.append(" webhookId: ").append(toIndentedString(webhookId)).append("\n"); - if (organizationId != null) sb.append(" organizationId: ").append(toIndentedString(organizationId)).append("\n"); - if (products != null) sb.append(" products: ").append(toIndentedString(products)).append("\n"); - if (webhookUrl != null) sb.append(" webhookUrl: ").append(toIndentedString(webhookUrl)).append("\n"); - if (healthCheckUrl != null) sb.append(" healthCheckUrl: ").append(toIndentedString(healthCheckUrl)).append("\n"); - if (notificationScope != null) sb.append(" notificationScope: ").append(toIndentedString(notificationScope)).append("\n"); - if (status != null) sb.append(" status: ").append(toIndentedString(status)).append("\n"); - if (name != null) sb.append(" name: ").append(toIndentedString(name)).append("\n"); - if (description != null) sb.append(" description: ").append(toIndentedString(description)).append("\n"); - if (retryPolicy != null) sb.append(" retryPolicy: ").append(toIndentedString(retryPolicy)).append("\n"); - if (securityPolicy != null) sb.append(" securityPolicy: ").append(toIndentedString(securityPolicy)).append("\n"); - if (createdOn != null) sb.append(" createdOn: ").append(toIndentedString(createdOn)).append("\n"); - if (updatedOn != null) sb.append(" updatedOn: ").append(toIndentedString(updatedOn)).append("\n"); - if (additionalAttributes != null) sb.append(" additionalAttributes: ").append(toIndentedString(additionalAttributes)).append("\n"); + if (version != null) sb.append(" version: ").append(toIndentedString(version)).append("\n"); + if (reportCreatedDate != null) sb.append(" reportCreatedDate: ").append(toIndentedString(reportCreatedDate)).append("\n"); + if (batchId != null) sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); + if (batchSource != null) sb.append(" batchSource: ").append(toIndentedString(batchSource)).append("\n"); + if (batchCaEndpoints != null) sb.append(" batchCaEndpoints: ").append(toIndentedString(batchCaEndpoints)).append("\n"); + if (batchCreatedDate != null) sb.append(" batchCreatedDate: ").append(toIndentedString(batchCreatedDate)).append("\n"); + if (merchantReference != null) sb.append(" merchantReference: ").append(toIndentedString(merchantReference)).append("\n"); + if (totals != null) sb.append(" totals: ").append(toIndentedString(totals)).append("\n"); + if (billing != null) sb.append(" billing: ").append(toIndentedString(billing)).append("\n"); + if (records != null) sb.append(" records: ").append(toIndentedString(records)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/InlineResponse2007Records.java b/src/main/java/Model/InlineResponse2004Records.java similarity index 70% rename from src/main/java/Model/InlineResponse2007Records.java rename to src/main/java/Model/InlineResponse2004Records.java index 2ca75789..0bb0b94f 100644 --- a/src/main/java/Model/InlineResponse2007Records.java +++ b/src/main/java/Model/InlineResponse2004Records.java @@ -15,8 +15,8 @@ import java.util.Objects; import java.util.Arrays; -import Model.InlineResponse2007ResponseRecord; -import Model.InlineResponse2007SourceRecord; +import Model.InlineResponse2004ResponseRecord; +import Model.InlineResponse2004SourceRecord; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -27,20 +27,20 @@ import java.io.IOException; /** - * InlineResponse2007Records + * InlineResponse2004Records */ -public class InlineResponse2007Records { +public class InlineResponse2004Records { @SerializedName("id") private String id = null; @SerializedName("sourceRecord") - private InlineResponse2007SourceRecord sourceRecord = null; + private InlineResponse2004SourceRecord sourceRecord = null; @SerializedName("responseRecord") - private InlineResponse2007ResponseRecord responseRecord = null; + private InlineResponse2004ResponseRecord responseRecord = null; - public InlineResponse2007Records id(String id) { + public InlineResponse2004Records id(String id) { this.id = id; return this; } @@ -58,7 +58,7 @@ public void setId(String id) { this.id = id; } - public InlineResponse2007Records sourceRecord(InlineResponse2007SourceRecord sourceRecord) { + public InlineResponse2004Records sourceRecord(InlineResponse2004SourceRecord sourceRecord) { this.sourceRecord = sourceRecord; return this; } @@ -68,15 +68,15 @@ public InlineResponse2007Records sourceRecord(InlineResponse2007SourceRecord sou * @return sourceRecord **/ @ApiModelProperty(value = "") - public InlineResponse2007SourceRecord getSourceRecord() { + public InlineResponse2004SourceRecord getSourceRecord() { return sourceRecord; } - public void setSourceRecord(InlineResponse2007SourceRecord sourceRecord) { + public void setSourceRecord(InlineResponse2004SourceRecord sourceRecord) { this.sourceRecord = sourceRecord; } - public InlineResponse2007Records responseRecord(InlineResponse2007ResponseRecord responseRecord) { + public InlineResponse2004Records responseRecord(InlineResponse2004ResponseRecord responseRecord) { this.responseRecord = responseRecord; return this; } @@ -86,11 +86,11 @@ public InlineResponse2007Records responseRecord(InlineResponse2007ResponseRecord * @return responseRecord **/ @ApiModelProperty(value = "") - public InlineResponse2007ResponseRecord getResponseRecord() { + public InlineResponse2004ResponseRecord getResponseRecord() { return responseRecord; } - public void setResponseRecord(InlineResponse2007ResponseRecord responseRecord) { + public void setResponseRecord(InlineResponse2004ResponseRecord responseRecord) { this.responseRecord = responseRecord; } @@ -103,10 +103,10 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2007Records inlineResponse2007Records = (InlineResponse2007Records) o; - return Objects.equals(this.id, inlineResponse2007Records.id) && - Objects.equals(this.sourceRecord, inlineResponse2007Records.sourceRecord) && - Objects.equals(this.responseRecord, inlineResponse2007Records.responseRecord); + InlineResponse2004Records inlineResponse2004Records = (InlineResponse2004Records) o; + return Objects.equals(this.id, inlineResponse2004Records.id) && + Objects.equals(this.sourceRecord, inlineResponse2004Records.sourceRecord) && + Objects.equals(this.responseRecord, inlineResponse2004Records.responseRecord); } @Override @@ -118,7 +118,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2007Records {\n"); + sb.append("class InlineResponse2004Records {\n"); if (id != null) sb.append(" id: ").append(toIndentedString(id)).append("\n"); if (sourceRecord != null) sb.append(" sourceRecord: ").append(toIndentedString(sourceRecord)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2007ResponseRecord.java b/src/main/java/Model/InlineResponse2004ResponseRecord.java similarity index 79% rename from src/main/java/Model/InlineResponse2007ResponseRecord.java rename to src/main/java/Model/InlineResponse2004ResponseRecord.java index ea0d8d2b..e16656dd 100644 --- a/src/main/java/Model/InlineResponse2007ResponseRecord.java +++ b/src/main/java/Model/InlineResponse2004ResponseRecord.java @@ -15,7 +15,7 @@ import java.util.Objects; import java.util.Arrays; -import Model.InlineResponse2007ResponseRecordAdditionalUpdates; +import Model.InlineResponse2004ResponseRecordAdditionalUpdates; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -28,10 +28,10 @@ import java.util.List; /** - * InlineResponse2007ResponseRecord + * InlineResponse2004ResponseRecord */ -public class InlineResponse2007ResponseRecord { +public class InlineResponse2004ResponseRecord { @SerializedName("response") private String response = null; @@ -60,9 +60,9 @@ public class InlineResponse2007ResponseRecord { private String cardType = null; @SerializedName("additionalUpdates") - private List additionalUpdates = null; + private List additionalUpdates = null; - public InlineResponse2007ResponseRecord response(String response) { + public InlineResponse2004ResponseRecord response(String response) { this.response = response; return this; } @@ -80,7 +80,7 @@ public void setResponse(String response) { this.response = response; } - public InlineResponse2007ResponseRecord reason(String reason) { + public InlineResponse2004ResponseRecord reason(String reason) { this.reason = reason; return this; } @@ -98,7 +98,7 @@ public void setReason(String reason) { this.reason = reason; } - public InlineResponse2007ResponseRecord token(String token) { + public InlineResponse2004ResponseRecord token(String token) { this.token = token; return this; } @@ -116,7 +116,7 @@ public void setToken(String token) { this.token = token; } - public InlineResponse2007ResponseRecord instrumentIdentifierId(String instrumentIdentifierId) { + public InlineResponse2004ResponseRecord instrumentIdentifierId(String instrumentIdentifierId) { this.instrumentIdentifierId = instrumentIdentifierId; return this; } @@ -134,7 +134,7 @@ public void setInstrumentIdentifierId(String instrumentIdentifierId) { this.instrumentIdentifierId = instrumentIdentifierId; } - public InlineResponse2007ResponseRecord instrumentIdentifierCreated(String instrumentIdentifierCreated) { + public InlineResponse2004ResponseRecord instrumentIdentifierCreated(String instrumentIdentifierCreated) { this.instrumentIdentifierCreated = instrumentIdentifierCreated; return this; } @@ -152,7 +152,7 @@ public void setInstrumentIdentifierCreated(String instrumentIdentifierCreated) { this.instrumentIdentifierCreated = instrumentIdentifierCreated; } - public InlineResponse2007ResponseRecord cardNumber(String cardNumber) { + public InlineResponse2004ResponseRecord cardNumber(String cardNumber) { this.cardNumber = cardNumber; return this; } @@ -170,7 +170,7 @@ public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; } - public InlineResponse2007ResponseRecord cardExpiryMonth(String cardExpiryMonth) { + public InlineResponse2004ResponseRecord cardExpiryMonth(String cardExpiryMonth) { this.cardExpiryMonth = cardExpiryMonth; return this; } @@ -188,7 +188,7 @@ public void setCardExpiryMonth(String cardExpiryMonth) { this.cardExpiryMonth = cardExpiryMonth; } - public InlineResponse2007ResponseRecord cardExpiryYear(String cardExpiryYear) { + public InlineResponse2004ResponseRecord cardExpiryYear(String cardExpiryYear) { this.cardExpiryYear = cardExpiryYear; return this; } @@ -206,7 +206,7 @@ public void setCardExpiryYear(String cardExpiryYear) { this.cardExpiryYear = cardExpiryYear; } - public InlineResponse2007ResponseRecord cardType(String cardType) { + public InlineResponse2004ResponseRecord cardType(String cardType) { this.cardType = cardType; return this; } @@ -224,14 +224,14 @@ public void setCardType(String cardType) { this.cardType = cardType; } - public InlineResponse2007ResponseRecord additionalUpdates(List additionalUpdates) { + public InlineResponse2004ResponseRecord additionalUpdates(List additionalUpdates) { this.additionalUpdates = additionalUpdates; return this; } - public InlineResponse2007ResponseRecord addAdditionalUpdatesItem(InlineResponse2007ResponseRecordAdditionalUpdates additionalUpdatesItem) { + public InlineResponse2004ResponseRecord addAdditionalUpdatesItem(InlineResponse2004ResponseRecordAdditionalUpdates additionalUpdatesItem) { if (this.additionalUpdates == null) { - this.additionalUpdates = new ArrayList(); + this.additionalUpdates = new ArrayList(); } this.additionalUpdates.add(additionalUpdatesItem); return this; @@ -242,11 +242,11 @@ public InlineResponse2007ResponseRecord addAdditionalUpdatesItem(InlineResponse2 * @return additionalUpdates **/ @ApiModelProperty(value = "") - public List getAdditionalUpdates() { + public List getAdditionalUpdates() { return additionalUpdates; } - public void setAdditionalUpdates(List additionalUpdates) { + public void setAdditionalUpdates(List additionalUpdates) { this.additionalUpdates = additionalUpdates; } @@ -259,17 +259,17 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2007ResponseRecord inlineResponse2007ResponseRecord = (InlineResponse2007ResponseRecord) o; - return Objects.equals(this.response, inlineResponse2007ResponseRecord.response) && - Objects.equals(this.reason, inlineResponse2007ResponseRecord.reason) && - Objects.equals(this.token, inlineResponse2007ResponseRecord.token) && - Objects.equals(this.instrumentIdentifierId, inlineResponse2007ResponseRecord.instrumentIdentifierId) && - Objects.equals(this.instrumentIdentifierCreated, inlineResponse2007ResponseRecord.instrumentIdentifierCreated) && - Objects.equals(this.cardNumber, inlineResponse2007ResponseRecord.cardNumber) && - Objects.equals(this.cardExpiryMonth, inlineResponse2007ResponseRecord.cardExpiryMonth) && - Objects.equals(this.cardExpiryYear, inlineResponse2007ResponseRecord.cardExpiryYear) && - Objects.equals(this.cardType, inlineResponse2007ResponseRecord.cardType) && - Objects.equals(this.additionalUpdates, inlineResponse2007ResponseRecord.additionalUpdates); + InlineResponse2004ResponseRecord inlineResponse2004ResponseRecord = (InlineResponse2004ResponseRecord) o; + return Objects.equals(this.response, inlineResponse2004ResponseRecord.response) && + Objects.equals(this.reason, inlineResponse2004ResponseRecord.reason) && + Objects.equals(this.token, inlineResponse2004ResponseRecord.token) && + Objects.equals(this.instrumentIdentifierId, inlineResponse2004ResponseRecord.instrumentIdentifierId) && + Objects.equals(this.instrumentIdentifierCreated, inlineResponse2004ResponseRecord.instrumentIdentifierCreated) && + Objects.equals(this.cardNumber, inlineResponse2004ResponseRecord.cardNumber) && + Objects.equals(this.cardExpiryMonth, inlineResponse2004ResponseRecord.cardExpiryMonth) && + Objects.equals(this.cardExpiryYear, inlineResponse2004ResponseRecord.cardExpiryYear) && + Objects.equals(this.cardType, inlineResponse2004ResponseRecord.cardType) && + Objects.equals(this.additionalUpdates, inlineResponse2004ResponseRecord.additionalUpdates); } @Override @@ -281,7 +281,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2007ResponseRecord {\n"); + sb.append("class InlineResponse2004ResponseRecord {\n"); if (response != null) sb.append(" response: ").append(toIndentedString(response)).append("\n"); if (reason != null) sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2007ResponseRecordAdditionalUpdates.java b/src/main/java/Model/InlineResponse2004ResponseRecordAdditionalUpdates.java similarity index 82% rename from src/main/java/Model/InlineResponse2007ResponseRecordAdditionalUpdates.java rename to src/main/java/Model/InlineResponse2004ResponseRecordAdditionalUpdates.java index 6436f141..336d2b9a 100644 --- a/src/main/java/Model/InlineResponse2007ResponseRecordAdditionalUpdates.java +++ b/src/main/java/Model/InlineResponse2004ResponseRecordAdditionalUpdates.java @@ -25,10 +25,10 @@ import java.io.IOException; /** - * InlineResponse2007ResponseRecordAdditionalUpdates + * InlineResponse2004ResponseRecordAdditionalUpdates */ -public class InlineResponse2007ResponseRecordAdditionalUpdates { +public class InlineResponse2004ResponseRecordAdditionalUpdates { @SerializedName("customerId") private String customerId = null; @@ -44,7 +44,7 @@ public class InlineResponse2007ResponseRecordAdditionalUpdates { @SerializedName("message") private String message = null; - public InlineResponse2007ResponseRecordAdditionalUpdates customerId(String customerId) { + public InlineResponse2004ResponseRecordAdditionalUpdates customerId(String customerId) { this.customerId = customerId; return this; } @@ -62,7 +62,7 @@ public void setCustomerId(String customerId) { this.customerId = customerId; } - public InlineResponse2007ResponseRecordAdditionalUpdates paymentInstrumentId(String paymentInstrumentId) { + public InlineResponse2004ResponseRecordAdditionalUpdates paymentInstrumentId(String paymentInstrumentId) { this.paymentInstrumentId = paymentInstrumentId; return this; } @@ -80,7 +80,7 @@ public void setPaymentInstrumentId(String paymentInstrumentId) { this.paymentInstrumentId = paymentInstrumentId; } - public InlineResponse2007ResponseRecordAdditionalUpdates creator(String creator) { + public InlineResponse2004ResponseRecordAdditionalUpdates creator(String creator) { this.creator = creator; return this; } @@ -98,7 +98,7 @@ public void setCreator(String creator) { this.creator = creator; } - public InlineResponse2007ResponseRecordAdditionalUpdates state(String state) { + public InlineResponse2004ResponseRecordAdditionalUpdates state(String state) { this.state = state; return this; } @@ -116,7 +116,7 @@ public void setState(String state) { this.state = state; } - public InlineResponse2007ResponseRecordAdditionalUpdates message(String message) { + public InlineResponse2004ResponseRecordAdditionalUpdates message(String message) { this.message = message; return this; } @@ -143,12 +143,12 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2007ResponseRecordAdditionalUpdates inlineResponse2007ResponseRecordAdditionalUpdates = (InlineResponse2007ResponseRecordAdditionalUpdates) o; - return Objects.equals(this.customerId, inlineResponse2007ResponseRecordAdditionalUpdates.customerId) && - Objects.equals(this.paymentInstrumentId, inlineResponse2007ResponseRecordAdditionalUpdates.paymentInstrumentId) && - Objects.equals(this.creator, inlineResponse2007ResponseRecordAdditionalUpdates.creator) && - Objects.equals(this.state, inlineResponse2007ResponseRecordAdditionalUpdates.state) && - Objects.equals(this.message, inlineResponse2007ResponseRecordAdditionalUpdates.message); + InlineResponse2004ResponseRecordAdditionalUpdates inlineResponse2004ResponseRecordAdditionalUpdates = (InlineResponse2004ResponseRecordAdditionalUpdates) o; + return Objects.equals(this.customerId, inlineResponse2004ResponseRecordAdditionalUpdates.customerId) && + Objects.equals(this.paymentInstrumentId, inlineResponse2004ResponseRecordAdditionalUpdates.paymentInstrumentId) && + Objects.equals(this.creator, inlineResponse2004ResponseRecordAdditionalUpdates.creator) && + Objects.equals(this.state, inlineResponse2004ResponseRecordAdditionalUpdates.state) && + Objects.equals(this.message, inlineResponse2004ResponseRecordAdditionalUpdates.message); } @Override @@ -160,7 +160,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2007ResponseRecordAdditionalUpdates {\n"); + sb.append("class InlineResponse2004ResponseRecordAdditionalUpdates {\n"); if (customerId != null) sb.append(" customerId: ").append(toIndentedString(customerId)).append("\n"); if (paymentInstrumentId != null) sb.append(" paymentInstrumentId: ").append(toIndentedString(paymentInstrumentId)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2007SourceRecord.java b/src/main/java/Model/InlineResponse2004SourceRecord.java similarity index 83% rename from src/main/java/Model/InlineResponse2007SourceRecord.java rename to src/main/java/Model/InlineResponse2004SourceRecord.java index b215edbf..6af3c517 100644 --- a/src/main/java/Model/InlineResponse2007SourceRecord.java +++ b/src/main/java/Model/InlineResponse2004SourceRecord.java @@ -25,10 +25,10 @@ import java.io.IOException; /** - * InlineResponse2007SourceRecord + * InlineResponse2004SourceRecord */ -public class InlineResponse2007SourceRecord { +public class InlineResponse2004SourceRecord { @SerializedName("token") private String token = null; @@ -53,7 +53,7 @@ public class InlineResponse2007SourceRecord { @SerializedName("cardType") private String cardType = null; - public InlineResponse2007SourceRecord token(String token) { + public InlineResponse2004SourceRecord token(String token) { this.token = token; return this; } @@ -71,7 +71,7 @@ public void setToken(String token) { this.token = token; } - public InlineResponse2007SourceRecord customerId(String customerId) { + public InlineResponse2004SourceRecord customerId(String customerId) { this.customerId = customerId; return this; } @@ -89,7 +89,7 @@ public void setCustomerId(String customerId) { this.customerId = customerId; } - public InlineResponse2007SourceRecord paymentInstrumentId(String paymentInstrumentId) { + public InlineResponse2004SourceRecord paymentInstrumentId(String paymentInstrumentId) { this.paymentInstrumentId = paymentInstrumentId; return this; } @@ -107,7 +107,7 @@ public void setPaymentInstrumentId(String paymentInstrumentId) { this.paymentInstrumentId = paymentInstrumentId; } - public InlineResponse2007SourceRecord instrumentIdentifierId(String instrumentIdentifierId) { + public InlineResponse2004SourceRecord instrumentIdentifierId(String instrumentIdentifierId) { this.instrumentIdentifierId = instrumentIdentifierId; return this; } @@ -125,7 +125,7 @@ public void setInstrumentIdentifierId(String instrumentIdentifierId) { this.instrumentIdentifierId = instrumentIdentifierId; } - public InlineResponse2007SourceRecord cardNumber(String cardNumber) { + public InlineResponse2004SourceRecord cardNumber(String cardNumber) { this.cardNumber = cardNumber; return this; } @@ -143,7 +143,7 @@ public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; } - public InlineResponse2007SourceRecord cardExpiryMonth(String cardExpiryMonth) { + public InlineResponse2004SourceRecord cardExpiryMonth(String cardExpiryMonth) { this.cardExpiryMonth = cardExpiryMonth; return this; } @@ -161,7 +161,7 @@ public void setCardExpiryMonth(String cardExpiryMonth) { this.cardExpiryMonth = cardExpiryMonth; } - public InlineResponse2007SourceRecord cardExpiryYear(String cardExpiryYear) { + public InlineResponse2004SourceRecord cardExpiryYear(String cardExpiryYear) { this.cardExpiryYear = cardExpiryYear; return this; } @@ -179,7 +179,7 @@ public void setCardExpiryYear(String cardExpiryYear) { this.cardExpiryYear = cardExpiryYear; } - public InlineResponse2007SourceRecord cardType(String cardType) { + public InlineResponse2004SourceRecord cardType(String cardType) { this.cardType = cardType; return this; } @@ -206,15 +206,15 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse2007SourceRecord inlineResponse2007SourceRecord = (InlineResponse2007SourceRecord) o; - return Objects.equals(this.token, inlineResponse2007SourceRecord.token) && - Objects.equals(this.customerId, inlineResponse2007SourceRecord.customerId) && - Objects.equals(this.paymentInstrumentId, inlineResponse2007SourceRecord.paymentInstrumentId) && - Objects.equals(this.instrumentIdentifierId, inlineResponse2007SourceRecord.instrumentIdentifierId) && - Objects.equals(this.cardNumber, inlineResponse2007SourceRecord.cardNumber) && - Objects.equals(this.cardExpiryMonth, inlineResponse2007SourceRecord.cardExpiryMonth) && - Objects.equals(this.cardExpiryYear, inlineResponse2007SourceRecord.cardExpiryYear) && - Objects.equals(this.cardType, inlineResponse2007SourceRecord.cardType); + InlineResponse2004SourceRecord inlineResponse2004SourceRecord = (InlineResponse2004SourceRecord) o; + return Objects.equals(this.token, inlineResponse2004SourceRecord.token) && + Objects.equals(this.customerId, inlineResponse2004SourceRecord.customerId) && + Objects.equals(this.paymentInstrumentId, inlineResponse2004SourceRecord.paymentInstrumentId) && + Objects.equals(this.instrumentIdentifierId, inlineResponse2004SourceRecord.instrumentIdentifierId) && + Objects.equals(this.cardNumber, inlineResponse2004SourceRecord.cardNumber) && + Objects.equals(this.cardExpiryMonth, inlineResponse2004SourceRecord.cardExpiryMonth) && + Objects.equals(this.cardExpiryYear, inlineResponse2004SourceRecord.cardExpiryYear) && + Objects.equals(this.cardType, inlineResponse2004SourceRecord.cardType); } @Override @@ -226,7 +226,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2007SourceRecord {\n"); + sb.append("class InlineResponse2004SourceRecord {\n"); if (token != null) sb.append(" token: ").append(toIndentedString(token)).append("\n"); if (customerId != null) sb.append(" customerId: ").append(toIndentedString(customerId)).append("\n"); diff --git a/src/main/java/Model/InlineResponse2005.java b/src/main/java/Model/InlineResponse2005.java deleted file mode 100644 index f7bd3783..00000000 --- a/src/main/java/Model/InlineResponse2005.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.InlineResponse2005Embedded; -import Model.InlineResponse2005Links; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * InlineResponse2005 - */ - -public class InlineResponse2005 { - @SerializedName("_links") - private List links = null; - - @SerializedName("object") - private String object = null; - - @SerializedName("offset") - private Integer offset = null; - - @SerializedName("limit") - private Integer limit = null; - - @SerializedName("count") - private Integer count = null; - - @SerializedName("total") - private Integer total = null; - - @SerializedName("_embedded") - private InlineResponse2005Embedded embedded = null; - - public InlineResponse2005 links(List links) { - this.links = links; - return this; - } - - public InlineResponse2005 addLinksItem(InlineResponse2005Links linksItem) { - if (this.links == null) { - this.links = new ArrayList(); - } - this.links.add(linksItem); - return this; - } - - /** - * Get links - * @return links - **/ - @ApiModelProperty(value = "") - public List getLinks() { - return links; - } - - public void setLinks(List links) { - this.links = links; - } - - public InlineResponse2005 object(String object) { - this.object = object; - return this; - } - - /** - * Get object - * @return object - **/ - @ApiModelProperty(example = "collection", value = "") - public String getObject() { - return object; - } - - public void setObject(String object) { - this.object = object; - } - - public InlineResponse2005 offset(Integer offset) { - this.offset = offset; - return this; - } - - /** - * Get offset - * @return offset - **/ - @ApiModelProperty(example = "0", value = "") - public Integer getOffset() { - return offset; - } - - public void setOffset(Integer offset) { - this.offset = offset; - } - - public InlineResponse2005 limit(Integer limit) { - this.limit = limit; - return this; - } - - /** - * Get limit - * @return limit - **/ - @ApiModelProperty(example = "20", value = "") - public Integer getLimit() { - return limit; - } - - public void setLimit(Integer limit) { - this.limit = limit; - } - - public InlineResponse2005 count(Integer count) { - this.count = count; - return this; - } - - /** - * Get count - * @return count - **/ - @ApiModelProperty(example = "1", value = "") - public Integer getCount() { - return count; - } - - public void setCount(Integer count) { - this.count = count; - } - - public InlineResponse2005 total(Integer total) { - this.total = total; - return this; - } - - /** - * Get total - * @return total - **/ - @ApiModelProperty(example = "1", value = "") - public Integer getTotal() { - return total; - } - - public void setTotal(Integer total) { - this.total = total; - } - - public InlineResponse2005 embedded(InlineResponse2005Embedded embedded) { - this.embedded = embedded; - return this; - } - - /** - * Get embedded - * @return embedded - **/ - @ApiModelProperty(value = "") - public InlineResponse2005Embedded getEmbedded() { - return embedded; - } - - public void setEmbedded(InlineResponse2005Embedded embedded) { - this.embedded = embedded; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2005 inlineResponse2005 = (InlineResponse2005) o; - return Objects.equals(this.links, inlineResponse2005.links) && - Objects.equals(this.object, inlineResponse2005.object) && - Objects.equals(this.offset, inlineResponse2005.offset) && - Objects.equals(this.limit, inlineResponse2005.limit) && - Objects.equals(this.count, inlineResponse2005.count) && - Objects.equals(this.total, inlineResponse2005.total) && - Objects.equals(this.embedded, inlineResponse2005.embedded); - } - - @Override - public int hashCode() { - return Objects.hash(links, object, offset, limit, count, total, embedded); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2005 {\n"); - - if (links != null) sb.append(" links: ").append(toIndentedString(links)).append("\n"); - if (object != null) sb.append(" object: ").append(toIndentedString(object)).append("\n"); - if (offset != null) sb.append(" offset: ").append(toIndentedString(offset)).append("\n"); - if (limit != null) sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); - if (count != null) sb.append(" count: ").append(toIndentedString(count)).append("\n"); - if (total != null) sb.append(" total: ").append(toIndentedString(total)).append("\n"); - if (embedded != null) sb.append(" embedded: ").append(toIndentedString(embedded)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/InlineResponse2006.java b/src/main/java/Model/InlineResponse2006.java deleted file mode 100644 index 7acae488..00000000 --- a/src/main/java/Model/InlineResponse2006.java +++ /dev/null @@ -1,304 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.InlineResponse2005EmbeddedTotals; -import Model.InlineResponse2006Billing; -import Model.InlineResponse2006Links; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; - -/** - * InlineResponse2006 - */ - -public class InlineResponse2006 { - @SerializedName("_links") - private InlineResponse2006Links links = null; - - @SerializedName("batchId") - private String batchId = null; - - @SerializedName("batchCreatedDate") - private String batchCreatedDate = null; - - @SerializedName("batchSource") - private String batchSource = null; - - @SerializedName("merchantReference") - private String merchantReference = null; - - @SerializedName("batchCaEndpoints") - private String batchCaEndpoints = null; - - @SerializedName("status") - private String status = null; - - @SerializedName("totals") - private InlineResponse2005EmbeddedTotals totals = null; - - @SerializedName("billing") - private InlineResponse2006Billing billing = null; - - @SerializedName("description") - private String description = null; - - public InlineResponse2006 links(InlineResponse2006Links links) { - this.links = links; - return this; - } - - /** - * Get links - * @return links - **/ - @ApiModelProperty(value = "") - public InlineResponse2006Links getLinks() { - return links; - } - - public void setLinks(InlineResponse2006Links links) { - this.links = links; - } - - public InlineResponse2006 batchId(String batchId) { - this.batchId = batchId; - return this; - } - - /** - * Unique identification number assigned to the submitted request. - * @return batchId - **/ - @ApiModelProperty(example = "16188390061150001062041064", value = "Unique identification number assigned to the submitted request.") - public String getBatchId() { - return batchId; - } - - public void setBatchId(String batchId) { - this.batchId = batchId; - } - - public InlineResponse2006 batchCreatedDate(String batchCreatedDate) { - this.batchCreatedDate = batchCreatedDate; - return this; - } - - /** - * ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ - * @return batchCreatedDate - **/ - @ApiModelProperty(example = "2018-05-22T14.38.57Z", value = "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ") - public String getBatchCreatedDate() { - return batchCreatedDate; - } - - public void setBatchCreatedDate(String batchCreatedDate) { - this.batchCreatedDate = batchCreatedDate; - } - - public InlineResponse2006 batchSource(String batchSource) { - this.batchSource = batchSource; - return this; - } - - /** - * Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE - * @return batchSource - **/ - @ApiModelProperty(value = "Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE ") - public String getBatchSource() { - return batchSource; - } - - public void setBatchSource(String batchSource) { - this.batchSource = batchSource; - } - - public InlineResponse2006 merchantReference(String merchantReference) { - this.merchantReference = merchantReference; - return this; - } - - /** - * Reference used by merchant to identify batch. - * @return merchantReference - **/ - @ApiModelProperty(example = "TC50171_3", value = "Reference used by merchant to identify batch.") - public String getMerchantReference() { - return merchantReference; - } - - public void setMerchantReference(String merchantReference) { - this.merchantReference = merchantReference; - } - - public InlineResponse2006 batchCaEndpoints(String batchCaEndpoints) { - this.batchCaEndpoints = batchCaEndpoints; - return this; - } - - /** - * Get batchCaEndpoints - * @return batchCaEndpoints - **/ - @ApiModelProperty(example = "VISA,MASTERCARD", value = "") - public String getBatchCaEndpoints() { - return batchCaEndpoints; - } - - public void setBatchCaEndpoints(String batchCaEndpoints) { - this.batchCaEndpoints = batchCaEndpoints; - } - - public InlineResponse2006 status(String status) { - this.status = status; - return this; - } - - /** - * Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED - * @return status - **/ - @ApiModelProperty(value = "Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED ") - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public InlineResponse2006 totals(InlineResponse2005EmbeddedTotals totals) { - this.totals = totals; - return this; - } - - /** - * Get totals - * @return totals - **/ - @ApiModelProperty(value = "") - public InlineResponse2005EmbeddedTotals getTotals() { - return totals; - } - - public void setTotals(InlineResponse2005EmbeddedTotals totals) { - this.totals = totals; - } - - public InlineResponse2006 billing(InlineResponse2006Billing billing) { - this.billing = billing; - return this; - } - - /** - * Get billing - * @return billing - **/ - @ApiModelProperty(value = "") - public InlineResponse2006Billing getBilling() { - return billing; - } - - public void setBilling(InlineResponse2006Billing billing) { - this.billing = billing; - } - - public InlineResponse2006 description(String description) { - this.description = description; - return this; - } - - /** - * Get description - * @return description - **/ - @ApiModelProperty(example = "Your batch has been received, and is being checked for errors.", value = "") - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2006 inlineResponse2006 = (InlineResponse2006) o; - return Objects.equals(this.links, inlineResponse2006.links) && - Objects.equals(this.batchId, inlineResponse2006.batchId) && - Objects.equals(this.batchCreatedDate, inlineResponse2006.batchCreatedDate) && - Objects.equals(this.batchSource, inlineResponse2006.batchSource) && - Objects.equals(this.merchantReference, inlineResponse2006.merchantReference) && - Objects.equals(this.batchCaEndpoints, inlineResponse2006.batchCaEndpoints) && - Objects.equals(this.status, inlineResponse2006.status) && - Objects.equals(this.totals, inlineResponse2006.totals) && - Objects.equals(this.billing, inlineResponse2006.billing) && - Objects.equals(this.description, inlineResponse2006.description); - } - - @Override - public int hashCode() { - return Objects.hash(links, batchId, batchCreatedDate, batchSource, merchantReference, batchCaEndpoints, status, totals, billing, description); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2006 {\n"); - - if (links != null) sb.append(" links: ").append(toIndentedString(links)).append("\n"); - if (batchId != null) sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); - if (batchCreatedDate != null) sb.append(" batchCreatedDate: ").append(toIndentedString(batchCreatedDate)).append("\n"); - if (batchSource != null) sb.append(" batchSource: ").append(toIndentedString(batchSource)).append("\n"); - if (merchantReference != null) sb.append(" merchantReference: ").append(toIndentedString(merchantReference)).append("\n"); - if (batchCaEndpoints != null) sb.append(" batchCaEndpoints: ").append(toIndentedString(batchCaEndpoints)).append("\n"); - if (status != null) sb.append(" status: ").append(toIndentedString(status)).append("\n"); - if (totals != null) sb.append(" totals: ").append(toIndentedString(totals)).append("\n"); - if (billing != null) sb.append(" billing: ").append(toIndentedString(billing)).append("\n"); - if (description != null) sb.append(" description: ").append(toIndentedString(description)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/InlineResponse2007.java b/src/main/java/Model/InlineResponse2007.java deleted file mode 100644 index fa2ec54d..00000000 --- a/src/main/java/Model/InlineResponse2007.java +++ /dev/null @@ -1,314 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.InlineResponse2005EmbeddedTotals; -import Model.InlineResponse2006Billing; -import Model.InlineResponse2007Records; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * InlineResponse2007 - */ - -public class InlineResponse2007 { - @SerializedName("version") - private String version = null; - - @SerializedName("reportCreatedDate") - private String reportCreatedDate = null; - - @SerializedName("batchId") - private String batchId = null; - - @SerializedName("batchSource") - private String batchSource = null; - - @SerializedName("batchCaEndpoints") - private String batchCaEndpoints = null; - - @SerializedName("batchCreatedDate") - private String batchCreatedDate = null; - - @SerializedName("merchantReference") - private String merchantReference = null; - - @SerializedName("totals") - private InlineResponse2005EmbeddedTotals totals = null; - - @SerializedName("billing") - private InlineResponse2006Billing billing = null; - - @SerializedName("records") - private List records = null; - - public InlineResponse2007 version(String version) { - this.version = version; - return this; - } - - /** - * Get version - * @return version - **/ - @ApiModelProperty(example = "1.0", value = "") - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public InlineResponse2007 reportCreatedDate(String reportCreatedDate) { - this.reportCreatedDate = reportCreatedDate; - return this; - } - - /** - * ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ - * @return reportCreatedDate - **/ - @ApiModelProperty(example = "2018-05-22T14.38.57Z", value = "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ") - public String getReportCreatedDate() { - return reportCreatedDate; - } - - public void setReportCreatedDate(String reportCreatedDate) { - this.reportCreatedDate = reportCreatedDate; - } - - public InlineResponse2007 batchId(String batchId) { - this.batchId = batchId; - return this; - } - - /** - * Unique identification number assigned to the submitted request. - * @return batchId - **/ - @ApiModelProperty(example = "16188390061150001062041064", value = "Unique identification number assigned to the submitted request.") - public String getBatchId() { - return batchId; - } - - public void setBatchId(String batchId) { - this.batchId = batchId; - } - - public InlineResponse2007 batchSource(String batchSource) { - this.batchSource = batchSource; - return this; - } - - /** - * Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE - * @return batchSource - **/ - @ApiModelProperty(value = "Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE ") - public String getBatchSource() { - return batchSource; - } - - public void setBatchSource(String batchSource) { - this.batchSource = batchSource; - } - - public InlineResponse2007 batchCaEndpoints(String batchCaEndpoints) { - this.batchCaEndpoints = batchCaEndpoints; - return this; - } - - /** - * Get batchCaEndpoints - * @return batchCaEndpoints - **/ - @ApiModelProperty(example = "VISA,MASTERCARD", value = "") - public String getBatchCaEndpoints() { - return batchCaEndpoints; - } - - public void setBatchCaEndpoints(String batchCaEndpoints) { - this.batchCaEndpoints = batchCaEndpoints; - } - - public InlineResponse2007 batchCreatedDate(String batchCreatedDate) { - this.batchCreatedDate = batchCreatedDate; - return this; - } - - /** - * ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ - * @return batchCreatedDate - **/ - @ApiModelProperty(example = "2018-05-22T14.38.57Z", value = "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ") - public String getBatchCreatedDate() { - return batchCreatedDate; - } - - public void setBatchCreatedDate(String batchCreatedDate) { - this.batchCreatedDate = batchCreatedDate; - } - - public InlineResponse2007 merchantReference(String merchantReference) { - this.merchantReference = merchantReference; - return this; - } - - /** - * Reference used by merchant to identify batch. - * @return merchantReference - **/ - @ApiModelProperty(example = "TC50171_3", value = "Reference used by merchant to identify batch.") - public String getMerchantReference() { - return merchantReference; - } - - public void setMerchantReference(String merchantReference) { - this.merchantReference = merchantReference; - } - - public InlineResponse2007 totals(InlineResponse2005EmbeddedTotals totals) { - this.totals = totals; - return this; - } - - /** - * Get totals - * @return totals - **/ - @ApiModelProperty(value = "") - public InlineResponse2005EmbeddedTotals getTotals() { - return totals; - } - - public void setTotals(InlineResponse2005EmbeddedTotals totals) { - this.totals = totals; - } - - public InlineResponse2007 billing(InlineResponse2006Billing billing) { - this.billing = billing; - return this; - } - - /** - * Get billing - * @return billing - **/ - @ApiModelProperty(value = "") - public InlineResponse2006Billing getBilling() { - return billing; - } - - public void setBilling(InlineResponse2006Billing billing) { - this.billing = billing; - } - - public InlineResponse2007 records(List records) { - this.records = records; - return this; - } - - public InlineResponse2007 addRecordsItem(InlineResponse2007Records recordsItem) { - if (this.records == null) { - this.records = new ArrayList(); - } - this.records.add(recordsItem); - return this; - } - - /** - * Get records - * @return records - **/ - @ApiModelProperty(value = "") - public List getRecords() { - return records; - } - - public void setRecords(List records) { - this.records = records; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2007 inlineResponse2007 = (InlineResponse2007) o; - return Objects.equals(this.version, inlineResponse2007.version) && - Objects.equals(this.reportCreatedDate, inlineResponse2007.reportCreatedDate) && - Objects.equals(this.batchId, inlineResponse2007.batchId) && - Objects.equals(this.batchSource, inlineResponse2007.batchSource) && - Objects.equals(this.batchCaEndpoints, inlineResponse2007.batchCaEndpoints) && - Objects.equals(this.batchCreatedDate, inlineResponse2007.batchCreatedDate) && - Objects.equals(this.merchantReference, inlineResponse2007.merchantReference) && - Objects.equals(this.totals, inlineResponse2007.totals) && - Objects.equals(this.billing, inlineResponse2007.billing) && - Objects.equals(this.records, inlineResponse2007.records); - } - - @Override - public int hashCode() { - return Objects.hash(version, reportCreatedDate, batchId, batchSource, batchCaEndpoints, batchCreatedDate, merchantReference, totals, billing, records); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2007 {\n"); - - if (version != null) sb.append(" version: ").append(toIndentedString(version)).append("\n"); - if (reportCreatedDate != null) sb.append(" reportCreatedDate: ").append(toIndentedString(reportCreatedDate)).append("\n"); - if (batchId != null) sb.append(" batchId: ").append(toIndentedString(batchId)).append("\n"); - if (batchSource != null) sb.append(" batchSource: ").append(toIndentedString(batchSource)).append("\n"); - if (batchCaEndpoints != null) sb.append(" batchCaEndpoints: ").append(toIndentedString(batchCaEndpoints)).append("\n"); - if (batchCreatedDate != null) sb.append(" batchCreatedDate: ").append(toIndentedString(batchCreatedDate)).append("\n"); - if (merchantReference != null) sb.append(" merchantReference: ").append(toIndentedString(merchantReference)).append("\n"); - if (totals != null) sb.append(" totals: ").append(toIndentedString(totals)).append("\n"); - if (billing != null) sb.append(" billing: ").append(toIndentedString(billing)).append("\n"); - if (records != null) sb.append(" records: ").append(toIndentedString(records)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/InlineResponse2014.java b/src/main/java/Model/InlineResponse2014.java index 3c7a6baf..49fec1c9 100644 --- a/src/main/java/Model/InlineResponse2014.java +++ b/src/main/java/Model/InlineResponse2014.java @@ -15,9 +15,7 @@ import java.util.Objects; import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksNotificationScope; -import Model.Notificationsubscriptionsv1webhooksRetryPolicy; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicy; +import Model.InlineResponse2014Payloads; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -26,76 +24,73 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; /** * InlineResponse2014 */ public class InlineResponse2014 { - @SerializedName("webhookId") - private String webhookId = null; + @SerializedName("eventDate") + private String eventDate = null; + + @SerializedName("eventType") + private String eventType = null; @SerializedName("organizationId") private String organizationId = null; + @SerializedName("payloads") + private InlineResponse2014Payloads payloads = null; + @SerializedName("productId") private String productId = null; - @SerializedName("eventTypes") - private List eventTypes = null; - - @SerializedName("webhookUrl") - private String webhookUrl = null; - - @SerializedName("healthCheckUrl") - private String healthCheckUrl = null; - - @SerializedName("notificationScope") - private Notificationsubscriptionsv1webhooksNotificationScope notificationScope = null; - - @SerializedName("status") - private String status = "INACTIVE"; + @SerializedName("requestType") + private String requestType = null; - @SerializedName("name") - private String name = null; + @SerializedName("retryNumber") + private Integer retryNumber = null; - @SerializedName("description") - private String description = null; + @SerializedName("transactionTraceId") + private String transactionTraceId = null; - @SerializedName("retryPolicy") - private Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy = null; - - @SerializedName("securityPolicy") - private Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy = null; + @SerializedName("webhookId") + private String webhookId = null; - @SerializedName("createdOn") - private String createdOn = null; + public InlineResponse2014 eventDate(String eventDate) { + this.eventDate = eventDate; + return this; + } - @SerializedName("updatedOn") - private String updatedOn = null; + /** + * Date that the webhook was delivered + * @return eventDate + **/ + @ApiModelProperty(value = "Date that the webhook was delivered") + public String getEventDate() { + return eventDate; + } - @SerializedName("additionalAttributes") - private List> additionalAttributes = null; + public void setEventDate(String eventDate) { + this.eventDate = eventDate; + } - public InlineResponse2014 webhookId(String webhookId) { - this.webhookId = webhookId; + public InlineResponse2014 eventType(String eventType) { + this.eventType = eventType; return this; } /** - * Webhook Id. This is generated by the server. - * @return webhookId + * The event name the webhook was delivered for + * @return eventType **/ - @ApiModelProperty(value = "Webhook Id. This is generated by the server.") - public String getWebhookId() { - return webhookId; + @ApiModelProperty(value = "The event name the webhook was delivered for") + public String getEventType() { + return eventType; } - public void setWebhookId(String webhookId) { - this.webhookId = webhookId; + public void setEventType(String eventType) { + this.eventType = eventType; } public InlineResponse2014 organizationId(String organizationId) { @@ -104,10 +99,10 @@ public InlineResponse2014 organizationId(String organizationId) { } /** - * Organization ID + * The Organization Identifier. * @return organizationId **/ - @ApiModelProperty(value = "Organization ID") + @ApiModelProperty(value = "The Organization Identifier.") public String getOrganizationId() { return organizationId; } @@ -116,254 +111,112 @@ public void setOrganizationId(String organizationId) { this.organizationId = organizationId; } - public InlineResponse2014 productId(String productId) { - this.productId = productId; - return this; - } - - /** - * The product you are receiving a webhook for. - * @return productId - **/ - @ApiModelProperty(value = "The product you are receiving a webhook for.") - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public InlineResponse2014 eventTypes(List eventTypes) { - this.eventTypes = eventTypes; - return this; - } - - public InlineResponse2014 addEventTypesItem(String eventTypesItem) { - if (this.eventTypes == null) { - this.eventTypes = new ArrayList(); - } - this.eventTypes.add(eventTypesItem); - return this; - } - - /** - * Array of the different events for a given product id. - * @return eventTypes - **/ - @ApiModelProperty(value = "Array of the different events for a given product id.") - public List getEventTypes() { - return eventTypes; - } - - public void setEventTypes(List eventTypes) { - this.eventTypes = eventTypes; - } - - public InlineResponse2014 webhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; - return this; - } - - /** - * The client's endpoint (URL) to receive webhooks. - * @return webhookUrl - **/ - @ApiModelProperty(value = "The client's endpoint (URL) to receive webhooks.") - public String getWebhookUrl() { - return webhookUrl; - } - - public void setWebhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; - } - - public InlineResponse2014 healthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; + public InlineResponse2014 payloads(InlineResponse2014Payloads payloads) { + this.payloads = payloads; return this; } /** - * The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. - * @return healthCheckUrl - **/ - @ApiModelProperty(value = "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.") - public String getHealthCheckUrl() { - return healthCheckUrl; - } - - public void setHealthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; - } - - public InlineResponse2014 notificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; - return this; - } - - /** - * Get notificationScope - * @return notificationScope + * Get payloads + * @return payloads **/ @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksNotificationScope getNotificationScope() { - return notificationScope; - } - - public void setNotificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; - } - - public InlineResponse2014 status(String status) { - this.status = status; - return this; - } - - /** - * Webhook status. - * @return status - **/ - @ApiModelProperty(value = "Webhook status.") - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public InlineResponse2014 name(String name) { - this.name = name; - return this; - } - - /** - * Client friendly webhook name. - * @return name - **/ - @ApiModelProperty(value = "Client friendly webhook name.") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public InlineResponse2014 description(String description) { - this.description = description; - return this; - } - - /** - * Client friendly webhook description. - * @return description - **/ - @ApiModelProperty(value = "Client friendly webhook description.") - public String getDescription() { - return description; + public InlineResponse2014Payloads getPayloads() { + return payloads; } - public void setDescription(String description) { - this.description = description; + public void setPayloads(InlineResponse2014Payloads payloads) { + this.payloads = payloads; } - public InlineResponse2014 retryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; + public InlineResponse2014 productId(String productId) { + this.productId = productId; return this; } /** - * Get retryPolicy - * @return retryPolicy + * The product the webhook was delivered for + * @return productId **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksRetryPolicy getRetryPolicy() { - return retryPolicy; + @ApiModelProperty(value = "The product the webhook was delivered for") + public String getProductId() { + return productId; } - public void setRetryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; + public void setProductId(String productId) { + this.productId = productId; } - public InlineResponse2014 securityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; + public InlineResponse2014 requestType(String requestType) { + this.requestType = requestType; return this; } /** - * Get securityPolicy - * @return securityPolicy + * Identifies the the type of request + * @return requestType **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicy getSecurityPolicy() { - return securityPolicy; + @ApiModelProperty(value = "Identifies the the type of request") + public String getRequestType() { + return requestType; } - public void setSecurityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; + public void setRequestType(String requestType) { + this.requestType = requestType; } - public InlineResponse2014 createdOn(String createdOn) { - this.createdOn = createdOn; + public InlineResponse2014 retryNumber(Integer retryNumber) { + this.retryNumber = retryNumber; return this; } /** - * Date on which webhook was created/registered. - * @return createdOn + * The number of retry attempts for a given webhook + * @return retryNumber **/ - @ApiModelProperty(value = "Date on which webhook was created/registered.") - public String getCreatedOn() { - return createdOn; + @ApiModelProperty(value = "The number of retry attempts for a given webhook") + public Integer getRetryNumber() { + return retryNumber; } - public void setCreatedOn(String createdOn) { - this.createdOn = createdOn; + public void setRetryNumber(Integer retryNumber) { + this.retryNumber = retryNumber; } - public InlineResponse2014 updatedOn(String updatedOn) { - this.updatedOn = updatedOn; + public InlineResponse2014 transactionTraceId(String transactionTraceId) { + this.transactionTraceId = transactionTraceId; return this; } /** - * Date on which webhook was most recently updated. - * @return updatedOn + * The identifier for the webhook + * @return transactionTraceId **/ - @ApiModelProperty(value = "Date on which webhook was most recently updated.") - public String getUpdatedOn() { - return updatedOn; - } - - public void setUpdatedOn(String updatedOn) { - this.updatedOn = updatedOn; + @ApiModelProperty(value = "The identifier for the webhook") + public String getTransactionTraceId() { + return transactionTraceId; } - public InlineResponse2014 additionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; - return this; + public void setTransactionTraceId(String transactionTraceId) { + this.transactionTraceId = transactionTraceId; } - public InlineResponse2014 addAdditionalAttributesItem(Map additionalAttributesItem) { - if (this.additionalAttributes == null) { - this.additionalAttributes = new ArrayList>(); - } - this.additionalAttributes.add(additionalAttributesItem); + public InlineResponse2014 webhookId(String webhookId) { + this.webhookId = webhookId; return this; } /** - * Additional, free form configuration data. - * @return additionalAttributes + * The identifier of the subscription + * @return webhookId **/ - @ApiModelProperty(value = "Additional, free form configuration data.") - public List> getAdditionalAttributes() { - return additionalAttributes; + @ApiModelProperty(value = "The identifier of the subscription") + public String getWebhookId() { + return webhookId; } - public void setAdditionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; + public void setWebhookId(String webhookId) { + this.webhookId = webhookId; } @@ -376,26 +229,20 @@ public boolean equals(java.lang.Object o) { return false; } InlineResponse2014 inlineResponse2014 = (InlineResponse2014) o; - return Objects.equals(this.webhookId, inlineResponse2014.webhookId) && + return Objects.equals(this.eventDate, inlineResponse2014.eventDate) && + Objects.equals(this.eventType, inlineResponse2014.eventType) && Objects.equals(this.organizationId, inlineResponse2014.organizationId) && + Objects.equals(this.payloads, inlineResponse2014.payloads) && Objects.equals(this.productId, inlineResponse2014.productId) && - Objects.equals(this.eventTypes, inlineResponse2014.eventTypes) && - Objects.equals(this.webhookUrl, inlineResponse2014.webhookUrl) && - Objects.equals(this.healthCheckUrl, inlineResponse2014.healthCheckUrl) && - Objects.equals(this.notificationScope, inlineResponse2014.notificationScope) && - Objects.equals(this.status, inlineResponse2014.status) && - Objects.equals(this.name, inlineResponse2014.name) && - Objects.equals(this.description, inlineResponse2014.description) && - Objects.equals(this.retryPolicy, inlineResponse2014.retryPolicy) && - Objects.equals(this.securityPolicy, inlineResponse2014.securityPolicy) && - Objects.equals(this.createdOn, inlineResponse2014.createdOn) && - Objects.equals(this.updatedOn, inlineResponse2014.updatedOn) && - Objects.equals(this.additionalAttributes, inlineResponse2014.additionalAttributes); + Objects.equals(this.requestType, inlineResponse2014.requestType) && + Objects.equals(this.retryNumber, inlineResponse2014.retryNumber) && + Objects.equals(this.transactionTraceId, inlineResponse2014.transactionTraceId) && + Objects.equals(this.webhookId, inlineResponse2014.webhookId); } @Override public int hashCode() { - return Objects.hash(webhookId, organizationId, productId, eventTypes, webhookUrl, healthCheckUrl, notificationScope, status, name, description, retryPolicy, securityPolicy, createdOn, updatedOn, additionalAttributes); + return Objects.hash(eventDate, eventType, organizationId, payloads, productId, requestType, retryNumber, transactionTraceId, webhookId); } @@ -404,21 +251,15 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InlineResponse2014 {\n"); - if (webhookId != null) sb.append(" webhookId: ").append(toIndentedString(webhookId)).append("\n"); + if (eventDate != null) sb.append(" eventDate: ").append(toIndentedString(eventDate)).append("\n"); + if (eventType != null) sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); if (organizationId != null) sb.append(" organizationId: ").append(toIndentedString(organizationId)).append("\n"); + if (payloads != null) sb.append(" payloads: ").append(toIndentedString(payloads)).append("\n"); if (productId != null) sb.append(" productId: ").append(toIndentedString(productId)).append("\n"); - if (eventTypes != null) sb.append(" eventTypes: ").append(toIndentedString(eventTypes)).append("\n"); - if (webhookUrl != null) sb.append(" webhookUrl: ").append(toIndentedString(webhookUrl)).append("\n"); - if (healthCheckUrl != null) sb.append(" healthCheckUrl: ").append(toIndentedString(healthCheckUrl)).append("\n"); - if (notificationScope != null) sb.append(" notificationScope: ").append(toIndentedString(notificationScope)).append("\n"); - if (status != null) sb.append(" status: ").append(toIndentedString(status)).append("\n"); - if (name != null) sb.append(" name: ").append(toIndentedString(name)).append("\n"); - if (description != null) sb.append(" description: ").append(toIndentedString(description)).append("\n"); - if (retryPolicy != null) sb.append(" retryPolicy: ").append(toIndentedString(retryPolicy)).append("\n"); - if (securityPolicy != null) sb.append(" securityPolicy: ").append(toIndentedString(securityPolicy)).append("\n"); - if (createdOn != null) sb.append(" createdOn: ").append(toIndentedString(createdOn)).append("\n"); - if (updatedOn != null) sb.append(" updatedOn: ").append(toIndentedString(updatedOn)).append("\n"); - if (additionalAttributes != null) sb.append(" additionalAttributes: ").append(toIndentedString(additionalAttributes)).append("\n"); + if (requestType != null) sb.append(" requestType: ").append(toIndentedString(requestType)).append("\n"); + if (retryNumber != null) sb.append(" retryNumber: ").append(toIndentedString(retryNumber)).append("\n"); + if (transactionTraceId != null) sb.append(" transactionTraceId: ").append(toIndentedString(transactionTraceId)).append("\n"); + if (webhookId != null) sb.append(" webhookId: ").append(toIndentedString(webhookId)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/InlineResponse2014Payloads.java b/src/main/java/Model/InlineResponse2014Payloads.java new file mode 100644 index 00000000..baa082ba --- /dev/null +++ b/src/main/java/Model/InlineResponse2014Payloads.java @@ -0,0 +1,95 @@ +/* + * CyberSource Merged Spec + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ + + +package Model; + +import java.util.Objects; +import java.util.Arrays; +import Model.InlineResponse2014PayloadsTestPayload; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InlineResponse2014Payloads + */ + +public class InlineResponse2014Payloads { + @SerializedName("testPayload") + private InlineResponse2014PayloadsTestPayload testPayload = null; + + public InlineResponse2014Payloads testPayload(InlineResponse2014PayloadsTestPayload testPayload) { + this.testPayload = testPayload; + return this; + } + + /** + * Get testPayload + * @return testPayload + **/ + @ApiModelProperty(value = "") + public InlineResponse2014PayloadsTestPayload getTestPayload() { + return testPayload; + } + + public void setTestPayload(InlineResponse2014PayloadsTestPayload testPayload) { + this.testPayload = testPayload; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InlineResponse2014Payloads inlineResponse2014Payloads = (InlineResponse2014Payloads) o; + return Objects.equals(this.testPayload, inlineResponse2014Payloads.testPayload); + } + + @Override + public int hashCode() { + return Objects.hash(testPayload); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InlineResponse2014Payloads {\n"); + + if (testPayload != null) sb.append(" testPayload: ").append(toIndentedString(testPayload)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + // return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/Model/InlineResponse2014PayloadsTestPayload.java b/src/main/java/Model/InlineResponse2014PayloadsTestPayload.java new file mode 100644 index 00000000..8bd73631 --- /dev/null +++ b/src/main/java/Model/InlineResponse2014PayloadsTestPayload.java @@ -0,0 +1,94 @@ +/* + * CyberSource Merged Spec + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ + + +package Model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * InlineResponse2014PayloadsTestPayload + */ + +public class InlineResponse2014PayloadsTestPayload { + @SerializedName("message") + private String message = null; + + public InlineResponse2014PayloadsTestPayload message(String message) { + this.message = message; + return this; + } + + /** + * The test message delivered in the webhook + * @return message + **/ + @ApiModelProperty(example = "Yay! Your webhook integration worked! This is only a test and an example of what a webhook message payload looks like. Thank you for using our test feature.", value = "The test message delivered in the webhook") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InlineResponse2014PayloadsTestPayload inlineResponse2014PayloadsTestPayload = (InlineResponse2014PayloadsTestPayload) o; + return Objects.equals(this.message, inlineResponse2014PayloadsTestPayload.message); + } + + @Override + public int hashCode() { + return Objects.hash(message); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InlineResponse2014PayloadsTestPayload {\n"); + + if (message != null) sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + // return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/Model/InlineResponse2015.java b/src/main/java/Model/InlineResponse2015.java index 17b879ee..fc32e88e 100644 --- a/src/main/java/Model/InlineResponse2015.java +++ b/src/main/java/Model/InlineResponse2015.java @@ -15,8 +15,6 @@ import java.util.Objects; import java.util.Arrays; -import Model.Kmsegressv2keysasymKeyInformation; -import Model.Kmsegressv2keyssymClientReferenceInformation; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -38,12 +36,6 @@ public class InlineResponse2015 { @SerializedName("status") private String status = null; - @SerializedName("clientReferenceInformation") - private Kmsegressv2keyssymClientReferenceInformation clientReferenceInformation = null; - - @SerializedName("keyInformation") - private Kmsegressv2keysasymKeyInformation keyInformation = null; - public InlineResponse2015 submitTimeUtc(String submitTimeUtc) { this.submitTimeUtc = submitTimeUtc; return this; @@ -80,42 +72,6 @@ public void setStatus(String status) { this.status = status; } - public InlineResponse2015 clientReferenceInformation(Kmsegressv2keyssymClientReferenceInformation clientReferenceInformation) { - this.clientReferenceInformation = clientReferenceInformation; - return this; - } - - /** - * Get clientReferenceInformation - * @return clientReferenceInformation - **/ - @ApiModelProperty(value = "") - public Kmsegressv2keyssymClientReferenceInformation getClientReferenceInformation() { - return clientReferenceInformation; - } - - public void setClientReferenceInformation(Kmsegressv2keyssymClientReferenceInformation clientReferenceInformation) { - this.clientReferenceInformation = clientReferenceInformation; - } - - public InlineResponse2015 keyInformation(Kmsegressv2keysasymKeyInformation keyInformation) { - this.keyInformation = keyInformation; - return this; - } - - /** - * Get keyInformation - * @return keyInformation - **/ - @ApiModelProperty(value = "") - public Kmsegressv2keysasymKeyInformation getKeyInformation() { - return keyInformation; - } - - public void setKeyInformation(Kmsegressv2keysasymKeyInformation keyInformation) { - this.keyInformation = keyInformation; - } - @Override public boolean equals(java.lang.Object o) { @@ -127,14 +83,12 @@ public boolean equals(java.lang.Object o) { } InlineResponse2015 inlineResponse2015 = (InlineResponse2015) o; return Objects.equals(this.submitTimeUtc, inlineResponse2015.submitTimeUtc) && - Objects.equals(this.status, inlineResponse2015.status) && - Objects.equals(this.clientReferenceInformation, inlineResponse2015.clientReferenceInformation) && - Objects.equals(this.keyInformation, inlineResponse2015.keyInformation); + Objects.equals(this.status, inlineResponse2015.status); } @Override public int hashCode() { - return Objects.hash(submitTimeUtc, status, clientReferenceInformation, keyInformation); + return Objects.hash(submitTimeUtc, status); } @@ -145,8 +99,6 @@ public String toString() { if (submitTimeUtc != null) sb.append(" submitTimeUtc: ").append(toIndentedString(submitTimeUtc)).append("\n"); if (status != null) sb.append(" status: ").append(toIndentedString(status)).append("\n"); - if (clientReferenceInformation != null) sb.append(" clientReferenceInformation: ").append(toIndentedString(clientReferenceInformation)).append("\n"); - if (keyInformation != null) sb.append(" keyInformation: ").append(toIndentedString(keyInformation)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/Model400UploadBatchFileResponse.java b/src/main/java/Model/Model400UploadBatchFileResponse.java new file mode 100644 index 00000000..71c14f8e --- /dev/null +++ b/src/main/java/Model/Model400UploadBatchFileResponse.java @@ -0,0 +1,117 @@ +/* + * CyberSource Merged Spec + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ + + +package Model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * Model400UploadBatchFileResponse + */ + +public class Model400UploadBatchFileResponse { + @SerializedName("error") + private String error = null; + + @SerializedName("message") + private String message = null; + + public Model400UploadBatchFileResponse error(String error) { + this.error = error; + return this; + } + + /** + * Get error + * @return error + **/ + @ApiModelProperty(value = "") + public String getError() { + return error; + } + + public void setError(String error) { + this.error = error; + } + + public Model400UploadBatchFileResponse message(String message) { + this.message = message; + return this; + } + + /** + * Get message + * @return message + **/ + @ApiModelProperty(value = "") + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Model400UploadBatchFileResponse _400UploadBatchFileResponse = (Model400UploadBatchFileResponse) o; + return Objects.equals(this.error, _400UploadBatchFileResponse.error) && + Objects.equals(this.message, _400UploadBatchFileResponse.message); + } + + @Override + public int hashCode() { + return Objects.hash(error, message); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Model400UploadBatchFileResponse {\n"); + + if (error != null) sb.append(" error: ").append(toIndentedString(error)).append("\n"); + if (message != null) sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + // return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/Model/Notificationsubscriptionsv1productsorganizationIdEventTypes.java b/src/main/java/Model/Notificationsubscriptionsv1productsorganizationIdEventTypes.java deleted file mode 100644 index 97c192e2..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1productsorganizationIdEventTypes.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; - -/** - * Notificationsubscriptionsv1productsorganizationIdEventTypes - */ - -public class Notificationsubscriptionsv1productsorganizationIdEventTypes { - @SerializedName("eventName") - private String eventName = null; - - @SerializedName("displayName") - private String displayName = null; - - @SerializedName("frequency") - private Integer frequency = null; - - @SerializedName("timeSensitivity") - private Boolean timeSensitivity = false; - - @SerializedName("payloadEncryption") - private Boolean payloadEncryption = false; - - public Notificationsubscriptionsv1productsorganizationIdEventTypes eventName(String eventName) { - this.eventName = eventName; - return this; - } - - /** - * Get eventName - * @return eventName - **/ - @ApiModelProperty(value = "") - public String getEventName() { - return eventName; - } - - public void setEventName(String eventName) { - this.eventName = eventName; - } - - public Notificationsubscriptionsv1productsorganizationIdEventTypes displayName(String displayName) { - this.displayName = displayName; - return this; - } - - /** - * Get displayName - * @return displayName - **/ - @ApiModelProperty(value = "") - public String getDisplayName() { - return displayName; - } - - public void setDisplayName(String displayName) { - this.displayName = displayName; - } - - public Notificationsubscriptionsv1productsorganizationIdEventTypes frequency(Integer frequency) { - this.frequency = frequency; - return this; - } - - /** - * Get frequency - * @return frequency - **/ - @ApiModelProperty(value = "") - public Integer getFrequency() { - return frequency; - } - - public void setFrequency(Integer frequency) { - this.frequency = frequency; - } - - public Notificationsubscriptionsv1productsorganizationIdEventTypes timeSensitivity(Boolean timeSensitivity) { - this.timeSensitivity = timeSensitivity; - return this; - } - - /** - * Get timeSensitivity - * @return timeSensitivity - **/ - @ApiModelProperty(value = "") - public Boolean TimeSensitivity() { - return timeSensitivity; - } - - public void setTimeSensitivity(Boolean timeSensitivity) { - this.timeSensitivity = timeSensitivity; - } - - public Notificationsubscriptionsv1productsorganizationIdEventTypes payloadEncryption(Boolean payloadEncryption) { - this.payloadEncryption = payloadEncryption; - return this; - } - - /** - * Get payloadEncryption - * @return payloadEncryption - **/ - @ApiModelProperty(value = "") - public Boolean PayloadEncryption() { - return payloadEncryption; - } - - public void setPayloadEncryption(Boolean payloadEncryption) { - this.payloadEncryption = payloadEncryption; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1productsorganizationIdEventTypes notificationsubscriptionsv1productsorganizationIdEventTypes = (Notificationsubscriptionsv1productsorganizationIdEventTypes) o; - return Objects.equals(this.eventName, notificationsubscriptionsv1productsorganizationIdEventTypes.eventName) && - Objects.equals(this.displayName, notificationsubscriptionsv1productsorganizationIdEventTypes.displayName) && - Objects.equals(this.frequency, notificationsubscriptionsv1productsorganizationIdEventTypes.frequency) && - Objects.equals(this.timeSensitivity, notificationsubscriptionsv1productsorganizationIdEventTypes.timeSensitivity) && - Objects.equals(this.payloadEncryption, notificationsubscriptionsv1productsorganizationIdEventTypes.payloadEncryption); - } - - @Override - public int hashCode() { - return Objects.hash(eventName, displayName, frequency, timeSensitivity, payloadEncryption); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1productsorganizationIdEventTypes {\n"); - - if (eventName != null) sb.append(" eventName: ").append(toIndentedString(eventName)).append("\n"); - if (displayName != null) sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); - if (frequency != null) sb.append(" frequency: ").append(toIndentedString(frequency)).append("\n"); - if (timeSensitivity != null) sb.append(" timeSensitivity: ").append(toIndentedString(timeSensitivity)).append("\n"); - if (payloadEncryption != null) sb.append(" payloadEncryption: ").append(toIndentedString(payloadEncryption)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksNotificationScope.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksNotificationScope.java deleted file mode 100644 index 912d58d7..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksNotificationScope.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Notificationsubscriptionsv1webhooksNotificationScope - */ - -public class Notificationsubscriptionsv1webhooksNotificationScope { - @SerializedName("scope") - private String scope = "SELF"; - - @SerializedName("scopeData") - private List scopeData = null; - - public Notificationsubscriptionsv1webhooksNotificationScope scope(String scope) { - this.scope = scope; - return this; - } - - /** - * 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 - * @return scope - **/ - @ApiModelProperty(value = "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") - public String getScope() { - return scope; - } - - public void setScope(String scope) { - this.scope = scope; - } - - public Notificationsubscriptionsv1webhooksNotificationScope scopeData(List scopeData) { - this.scopeData = scopeData; - return this; - } - - public Notificationsubscriptionsv1webhooksNotificationScope addScopeDataItem(String scopeDataItem) { - if (this.scopeData == null) { - this.scopeData = new ArrayList(); - } - this.scopeData.add(scopeDataItem); - return this; - } - - /** - * Applicable only if scope=CUSTOM. This should contains a Set of MIDs or OrgIDs for which this subscription is applicable. - * @return scopeData - **/ - @ApiModelProperty(value = "Applicable only if scope=CUSTOM. This should contains a Set of MIDs or OrgIDs for which this subscription is applicable.") - public List getScopeData() { - return scopeData; - } - - public void setScopeData(List scopeData) { - this.scopeData = scopeData; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksNotificationScope notificationsubscriptionsv1webhooksNotificationScope = (Notificationsubscriptionsv1webhooksNotificationScope) o; - return Objects.equals(this.scope, notificationsubscriptionsv1webhooksNotificationScope.scope) && - Objects.equals(this.scopeData, notificationsubscriptionsv1webhooksNotificationScope.scopeData); - } - - @Override - public int hashCode() { - return Objects.hash(scope, scopeData); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksNotificationScope {\n"); - - if (scope != null) sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); - if (scopeData != null) sb.append(" scopeData: ").append(toIndentedString(scopeData)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksProducts.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksProducts.java deleted file mode 100644 index d4cd40ec..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksProducts.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * Notificationsubscriptionsv1webhooksProducts - */ - -public class Notificationsubscriptionsv1webhooksProducts { - @SerializedName("productId") - private String productId = null; - - @SerializedName("eventTypes") - private List eventTypes = null; - - public Notificationsubscriptionsv1webhooksProducts productId(String productId) { - this.productId = productId; - return this; - } - - /** - * Product ID. - * @return productId - **/ - @ApiModelProperty(value = "Product ID.") - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public Notificationsubscriptionsv1webhooksProducts eventTypes(List eventTypes) { - this.eventTypes = eventTypes; - return this; - } - - public Notificationsubscriptionsv1webhooksProducts addEventTypesItem(String eventTypesItem) { - if (this.eventTypes == null) { - this.eventTypes = new ArrayList(); - } - this.eventTypes.add(eventTypesItem); - return this; - } - - /** - * Get eventTypes - * @return eventTypes - **/ - @ApiModelProperty(value = "") - public List getEventTypes() { - return eventTypes; - } - - public void setEventTypes(List eventTypes) { - this.eventTypes = eventTypes; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksProducts notificationsubscriptionsv1webhooksProducts = (Notificationsubscriptionsv1webhooksProducts) o; - return Objects.equals(this.productId, notificationsubscriptionsv1webhooksProducts.productId) && - Objects.equals(this.eventTypes, notificationsubscriptionsv1webhooksProducts.eventTypes); - } - - @Override - public int hashCode() { - return Objects.hash(productId, eventTypes); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksProducts {\n"); - - if (productId != null) sb.append(" productId: ").append(toIndentedString(productId)).append("\n"); - if (eventTypes != null) sb.append(" eventTypes: ").append(toIndentedString(eventTypes)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksRetryPolicy.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksRetryPolicy.java deleted file mode 100644 index 0a6fddf0..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksRetryPolicy.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * 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. Automatic suspend and resume: If you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status. When your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent. We will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability. If your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again. If you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status. Support will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy. Reference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration. - */ -@ApiModel(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. Automatic suspend and resume: If you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status. When your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent. We will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability. If your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again. If you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status. Support will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy. Reference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration. ") - -public class Notificationsubscriptionsv1webhooksRetryPolicy { - @SerializedName("algorithm") - private String algorithm = null; - - @SerializedName("firstRetry") - private Integer firstRetry = null; - - @SerializedName("interval") - private Integer interval = null; - - @SerializedName("numberOfRetries") - private Integer numberOfRetries = null; - - @SerializedName("deactivateFlag") - private String deactivateFlag = null; - - @SerializedName("repeatSequenceCount") - private Integer repeatSequenceCount = null; - - @SerializedName("repeatSequenceWaitTime") - private Integer repeatSequenceWaitTime = null; - - @SerializedName("additionalAttributes") - private List> additionalAttributes = null; - - public Notificationsubscriptionsv1webhooksRetryPolicy algorithm(String algorithm) { - this.algorithm = algorithm; - return this; - } - - /** - * This is used to calculate the Retry Sequence. Sample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3 Arithmetic = a+r(n-1) Retry 1 - 10 minutes Retry 2 - 10+30x1 = 40 minutes Retry 3 - 10+30x2 = 70 minutes Geometric = ar^(n-1) Retry 1 - 10 minutes Retry 2 - 10x30^1 = 300 minutes Retry 3 - 10x30^2 = 9,000 minutes - * @return algorithm - **/ - @ApiModelProperty(value = "This is used to calculate the Retry Sequence. Sample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3 Arithmetic = a+r(n-1) Retry 1 - 10 minutes Retry 2 - 10+30x1 = 40 minutes Retry 3 - 10+30x2 = 70 minutes Geometric = ar^(n-1) Retry 1 - 10 minutes Retry 2 - 10x30^1 = 300 minutes Retry 3 - 10x30^2 = 9,000 minutes ") - public String getAlgorithm() { - return algorithm; - } - - public void setAlgorithm(String algorithm) { - this.algorithm = algorithm; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy firstRetry(Integer firstRetry) { - this.firstRetry = firstRetry; - return this; - } - - /** - * When to initiate first retry, after the initial call failed. (in mins). - * @return firstRetry - **/ - @ApiModelProperty(value = "When to initiate first retry, after the initial call failed. (in mins).") - public Integer getFirstRetry() { - return firstRetry; - } - - public void setFirstRetry(Integer firstRetry) { - this.firstRetry = firstRetry; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy interval(Integer interval) { - this.interval = interval; - return this; - } - - /** - * The interval between retries (in mins). - * @return interval - **/ - @ApiModelProperty(value = "The interval between retries (in mins).") - public Integer getInterval() { - return interval; - } - - public void setInterval(Integer interval) { - this.interval = interval; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy numberOfRetries(Integer numberOfRetries) { - this.numberOfRetries = numberOfRetries; - return this; - } - - /** - * The number of retries per sequence. - * @return numberOfRetries - **/ - @ApiModelProperty(value = "The number of retries per sequence.") - public Integer getNumberOfRetries() { - return numberOfRetries; - } - - public void setNumberOfRetries(Integer numberOfRetries) { - this.numberOfRetries = numberOfRetries; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy deactivateFlag(String deactivateFlag) { - this.deactivateFlag = deactivateFlag; - return this; - } - - /** - * Deactivate the subscription if your retries fail to deliver. If this is set to `true`, the automatic suspend and resume feature will occur. This would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent. If this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active. - * @return deactivateFlag - **/ - @ApiModelProperty(value = "Deactivate the subscription if your retries fail to deliver. If this is set to `true`, the automatic suspend and resume feature will occur. This would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent. If this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active. ") - public String getDeactivateFlag() { - return deactivateFlag; - } - - public void setDeactivateFlag(String deactivateFlag) { - this.deactivateFlag = deactivateFlag; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy repeatSequenceCount(Integer repeatSequenceCount) { - this.repeatSequenceCount = repeatSequenceCount; - return this; - } - - /** - * The number of times to repeat the complete retry sequence. 0 => don't repeat the retry sequence 1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3) 2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3) - * @return repeatSequenceCount - **/ - @ApiModelProperty(value = "The number of times to repeat the complete retry sequence. 0 => don't repeat the retry sequence 1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3) 2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3) ") - public Integer getRepeatSequenceCount() { - return repeatSequenceCount; - } - - public void setRepeatSequenceCount(Integer repeatSequenceCount) { - this.repeatSequenceCount = repeatSequenceCount; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy repeatSequenceWaitTime(Integer repeatSequenceWaitTime) { - this.repeatSequenceWaitTime = repeatSequenceWaitTime; - return this; - } - - /** - * The time to wait to before repeating the complete retry sequence. Amount of time to wait between each sequence. Sample calculation using repeatSequenceWaitTime=10 (R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3) - * @return repeatSequenceWaitTime - **/ - @ApiModelProperty(value = "The time to wait to before repeating the complete retry sequence. Amount of time to wait between each sequence. Sample calculation using repeatSequenceWaitTime=10 (R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3) ") - public Integer getRepeatSequenceWaitTime() { - return repeatSequenceWaitTime; - } - - public void setRepeatSequenceWaitTime(Integer repeatSequenceWaitTime) { - this.repeatSequenceWaitTime = repeatSequenceWaitTime; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy additionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; - return this; - } - - public Notificationsubscriptionsv1webhooksRetryPolicy addAdditionalAttributesItem(Map additionalAttributesItem) { - if (this.additionalAttributes == null) { - this.additionalAttributes = new ArrayList>(); - } - this.additionalAttributes.add(additionalAttributesItem); - return this; - } - - /** - * Additional data, if any. - * @return additionalAttributes - **/ - @ApiModelProperty(value = "Additional data, if any.") - public List> getAdditionalAttributes() { - return additionalAttributes; - } - - public void setAdditionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksRetryPolicy notificationsubscriptionsv1webhooksRetryPolicy = (Notificationsubscriptionsv1webhooksRetryPolicy) o; - return Objects.equals(this.algorithm, notificationsubscriptionsv1webhooksRetryPolicy.algorithm) && - Objects.equals(this.firstRetry, notificationsubscriptionsv1webhooksRetryPolicy.firstRetry) && - Objects.equals(this.interval, notificationsubscriptionsv1webhooksRetryPolicy.interval) && - Objects.equals(this.numberOfRetries, notificationsubscriptionsv1webhooksRetryPolicy.numberOfRetries) && - Objects.equals(this.deactivateFlag, notificationsubscriptionsv1webhooksRetryPolicy.deactivateFlag) && - Objects.equals(this.repeatSequenceCount, notificationsubscriptionsv1webhooksRetryPolicy.repeatSequenceCount) && - Objects.equals(this.repeatSequenceWaitTime, notificationsubscriptionsv1webhooksRetryPolicy.repeatSequenceWaitTime) && - Objects.equals(this.additionalAttributes, notificationsubscriptionsv1webhooksRetryPolicy.additionalAttributes); - } - - @Override - public int hashCode() { - return Objects.hash(algorithm, firstRetry, interval, numberOfRetries, deactivateFlag, repeatSequenceCount, repeatSequenceWaitTime, additionalAttributes); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksRetryPolicy {\n"); - - if (algorithm != null) sb.append(" algorithm: ").append(toIndentedString(algorithm)).append("\n"); - if (firstRetry != null) sb.append(" firstRetry: ").append(toIndentedString(firstRetry)).append("\n"); - if (interval != null) sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); - if (numberOfRetries != null) sb.append(" numberOfRetries: ").append(toIndentedString(numberOfRetries)).append("\n"); - if (deactivateFlag != null) sb.append(" deactivateFlag: ").append(toIndentedString(deactivateFlag)).append("\n"); - if (repeatSequenceCount != null) sb.append(" repeatSequenceCount: ").append(toIndentedString(repeatSequenceCount)).append("\n"); - if (repeatSequenceWaitTime != null) sb.append(" repeatSequenceWaitTime: ").append(toIndentedString(repeatSequenceWaitTime)).append("\n"); - if (additionalAttributes != null) sb.append(" additionalAttributes: ").append(toIndentedString(additionalAttributes)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy.java deleted file mode 100644 index 74087a1b..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicyConfig; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; - -/** - * The security option to authenticate with your API or client server. - */ -@ApiModel(description = "The security option to authenticate with your API or client server.") - -public class Notificationsubscriptionsv1webhooksSecurityPolicy { - @SerializedName("securityType") - private String securityType = null; - - @SerializedName("config") - private Notificationsubscriptionsv1webhooksSecurityPolicyConfig config = null; - - public Notificationsubscriptionsv1webhooksSecurityPolicy securityType(String securityType) { - this.securityType = securityType; - return this; - } - - /** - * Security Policy of the client server. - * @return securityType - **/ - @ApiModelProperty(value = "Security Policy of the client server.") - public String getSecurityType() { - return securityType; - } - - public void setSecurityType(String securityType) { - this.securityType = securityType; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy config(Notificationsubscriptionsv1webhooksSecurityPolicyConfig config) { - this.config = config; - return this; - } - - /** - * Get config - * @return config - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicyConfig getConfig() { - return config; - } - - public void setConfig(Notificationsubscriptionsv1webhooksSecurityPolicyConfig config) { - this.config = config; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksSecurityPolicy notificationsubscriptionsv1webhooksSecurityPolicy = (Notificationsubscriptionsv1webhooksSecurityPolicy) o; - return Objects.equals(this.securityType, notificationsubscriptionsv1webhooksSecurityPolicy.securityType) && - Objects.equals(this.config, notificationsubscriptionsv1webhooksSecurityPolicy.config); - } - - @Override - public int hashCode() { - return Objects.hash(securityType, config); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksSecurityPolicy {\n"); - - if (securityType != null) sb.append(" securityType: ").append(toIndentedString(securityType)).append("\n"); - if (config != null) sb.append(" config: ").append(toIndentedString(config)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1.java deleted file mode 100644 index c7d29705..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicy1Config; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; - -/** - * The security option to authenticate with your API or client server. - */ -@ApiModel(description = "The security option to authenticate with your API or client server.") - -public class Notificationsubscriptionsv1webhooksSecurityPolicy1 { - @SerializedName("securityType") - private String securityType = null; - - @SerializedName("proxyType") - private String proxyType = null; - - @SerializedName("config") - private Notificationsubscriptionsv1webhooksSecurityPolicy1Config config = null; - - public Notificationsubscriptionsv1webhooksSecurityPolicy1 securityType(String securityType) { - this.securityType = securityType; - return this; - } - - /** - * Security Policy of the client server. - * @return securityType - **/ - @ApiModelProperty(value = "Security Policy of the client server.") - public String getSecurityType() { - return securityType; - } - - public void setSecurityType(String securityType) { - this.securityType = securityType; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1 proxyType(String proxyType) { - this.proxyType = proxyType; - return this; - } - - /** - * Internal client proxy type to be used by security policy. - * @return proxyType - **/ - @ApiModelProperty(value = "Internal client proxy type to be used by security policy.") - public String getProxyType() { - return proxyType; - } - - public void setProxyType(String proxyType) { - this.proxyType = proxyType; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1 config(Notificationsubscriptionsv1webhooksSecurityPolicy1Config config) { - this.config = config; - return this; - } - - /** - * Get config - * @return config - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicy1Config getConfig() { - return config; - } - - public void setConfig(Notificationsubscriptionsv1webhooksSecurityPolicy1Config config) { - this.config = config; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksSecurityPolicy1 notificationsubscriptionsv1webhooksSecurityPolicy1 = (Notificationsubscriptionsv1webhooksSecurityPolicy1) o; - return Objects.equals(this.securityType, notificationsubscriptionsv1webhooksSecurityPolicy1.securityType) && - Objects.equals(this.proxyType, notificationsubscriptionsv1webhooksSecurityPolicy1.proxyType) && - Objects.equals(this.config, notificationsubscriptionsv1webhooksSecurityPolicy1.config); - } - - @Override - public int hashCode() { - return Objects.hash(securityType, proxyType, config); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksSecurityPolicy1 {\n"); - - if (securityType != null) sb.append(" securityType: ").append(toIndentedString(securityType)).append("\n"); - if (proxyType != null) sb.append(" proxyType: ").append(toIndentedString(proxyType)).append("\n"); - if (config != null) sb.append(" config: ").append(toIndentedString(config)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.java deleted file mode 100644 index 2a099a3b..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1Config.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; - -/** - * Optional configuration object for if your API or server requires oAuth for an incoming webhook. - */ -@ApiModel(description = "Optional configuration object for if your API or server requires oAuth for an incoming webhook.") - -public class Notificationsubscriptionsv1webhooksSecurityPolicy1Config { - @SerializedName("oAuthTokenExpiry") - private String oAuthTokenExpiry = null; - - @SerializedName("oAuthURL") - private String oAuthURL = null; - - @SerializedName("oAuthTokenType") - private String oAuthTokenType = null; - - @SerializedName("additionalConfig") - private Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig additionalConfig = null; - - public Notificationsubscriptionsv1webhooksSecurityPolicy1Config oAuthTokenExpiry(String oAuthTokenExpiry) { - this.oAuthTokenExpiry = oAuthTokenExpiry; - return this; - } - - /** - * Token expiration for the oAuth server. - * @return oAuthTokenExpiry - **/ - @ApiModelProperty(value = "Token expiration for the oAuth server.") - public String getOAuthTokenExpiry() { - return oAuthTokenExpiry; - } - - public void setOAuthTokenExpiry(String oAuthTokenExpiry) { - this.oAuthTokenExpiry = oAuthTokenExpiry; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1Config oAuthURL(String oAuthURL) { - this.oAuthURL = oAuthURL; - return this; - } - - /** - * Client direct endpoint to the oAuth server. - * @return oAuthURL - **/ - @ApiModelProperty(value = "Client direct endpoint to the oAuth server.") - public String getOAuthURL() { - return oAuthURL; - } - - public void setOAuthURL(String oAuthURL) { - this.oAuthURL = oAuthURL; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1Config oAuthTokenType(String oAuthTokenType) { - this.oAuthTokenType = oAuthTokenType; - return this; - } - - /** - * Token type for the oAuth config. - * @return oAuthTokenType - **/ - @ApiModelProperty(value = "Token type for the oAuth config.") - public String getOAuthTokenType() { - return oAuthTokenType; - } - - public void setOAuthTokenType(String oAuthTokenType) { - this.oAuthTokenType = oAuthTokenType; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1Config additionalConfig(Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig additionalConfig) { - this.additionalConfig = additionalConfig; - return this; - } - - /** - * Get additionalConfig - * @return additionalConfig - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig getAdditionalConfig() { - return additionalConfig; - } - - public void setAdditionalConfig(Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig additionalConfig) { - this.additionalConfig = additionalConfig; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksSecurityPolicy1Config notificationsubscriptionsv1webhooksSecurityPolicy1Config = (Notificationsubscriptionsv1webhooksSecurityPolicy1Config) o; - return Objects.equals(this.oAuthTokenExpiry, notificationsubscriptionsv1webhooksSecurityPolicy1Config.oAuthTokenExpiry) && - Objects.equals(this.oAuthURL, notificationsubscriptionsv1webhooksSecurityPolicy1Config.oAuthURL) && - Objects.equals(this.oAuthTokenType, notificationsubscriptionsv1webhooksSecurityPolicy1Config.oAuthTokenType) && - Objects.equals(this.additionalConfig, notificationsubscriptionsv1webhooksSecurityPolicy1Config.additionalConfig); - } - - @Override - public int hashCode() { - return Objects.hash(oAuthTokenExpiry, oAuthURL, oAuthTokenType, additionalConfig); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksSecurityPolicy1Config {\n"); - - if (oAuthTokenExpiry != null) sb.append(" oAuthTokenExpiry: ").append(toIndentedString(oAuthTokenExpiry)).append("\n"); - if (oAuthURL != null) sb.append(" oAuthURL: ").append(toIndentedString(oAuthURL)).append("\n"); - if (oAuthTokenType != null) sb.append(" oAuthTokenType: ").append(toIndentedString(oAuthTokenType)).append("\n"); - if (additionalConfig != null) sb.append(" additionalConfig: ").append(toIndentedString(additionalConfig)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.java deleted file mode 100644 index 32e60370..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; - -/** - * Additional, free form configuration data. - */ -@ApiModel(description = "Additional, free form configuration data.") - -public class Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig { - @SerializedName("aud") - private String aud = null; - - @SerializedName("client_id") - private String clientId = null; - - @SerializedName("keyId") - private String keyId = null; - - @SerializedName("scope") - private String scope = null; - - public Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig aud(String aud) { - this.aud = aud; - return this; - } - - /** - * Get aud - * @return aud - **/ - @ApiModelProperty(value = "") - public String getAud() { - return aud; - } - - public void setAud(String aud) { - this.aud = aud; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig clientId(String clientId) { - this.clientId = clientId; - return this; - } - - /** - * Get clientId - * @return clientId - **/ - @ApiModelProperty(value = "") - public String getClientId() { - return clientId; - } - - public void setClientId(String clientId) { - this.clientId = clientId; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig keyId(String keyId) { - this.keyId = keyId; - return this; - } - - /** - * Get keyId - * @return keyId - **/ - @ApiModelProperty(value = "") - public String getKeyId() { - return keyId; - } - - public void setKeyId(String keyId) { - this.keyId = keyId; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig scope(String scope) { - this.scope = scope; - return this; - } - - /** - * Get scope - * @return scope - **/ - @ApiModelProperty(value = "") - public String getScope() { - return scope; - } - - public void setScope(String scope) { - this.scope = scope; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig = (Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig) o; - return Objects.equals(this.aud, notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.aud) && - Objects.equals(this.clientId, notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.clientId) && - Objects.equals(this.keyId, notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.keyId) && - Objects.equals(this.scope, notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig.scope); - } - - @Override - public int hashCode() { - return Objects.hash(aud, clientId, keyId, scope); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksSecurityPolicy1ConfigAdditionalConfig {\n"); - - if (aud != null) sb.append(" aud: ").append(toIndentedString(aud)).append("\n"); - if (clientId != null) sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); - if (keyId != null) sb.append(" keyId: ").append(toIndentedString(keyId)).append("\n"); - if (scope != null) sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.java b/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.java deleted file mode 100644 index 7a11a8fc..00000000 --- a/src/main/java/Model/Notificationsubscriptionsv1webhooksSecurityPolicyConfig.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; - -/** - * Optional configuration object for if your API or server requires oAuth for an incoming webhook. - */ -@ApiModel(description = "Optional configuration object for if your API or server requires oAuth for an incoming webhook.") - -public class Notificationsubscriptionsv1webhooksSecurityPolicyConfig { - @SerializedName("oAuthTokenExpiry") - private String oAuthTokenExpiry = null; - - @SerializedName("oAuthURL") - private String oAuthURL = null; - - @SerializedName("oAuthTokenType") - private String oAuthTokenType = null; - - public Notificationsubscriptionsv1webhooksSecurityPolicyConfig oAuthTokenExpiry(String oAuthTokenExpiry) { - this.oAuthTokenExpiry = oAuthTokenExpiry; - return this; - } - - /** - * Token expiration for the oAuth server. - * @return oAuthTokenExpiry - **/ - @ApiModelProperty(value = "Token expiration for the oAuth server.") - public String getOAuthTokenExpiry() { - return oAuthTokenExpiry; - } - - public void setOAuthTokenExpiry(String oAuthTokenExpiry) { - this.oAuthTokenExpiry = oAuthTokenExpiry; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicyConfig oAuthURL(String oAuthURL) { - this.oAuthURL = oAuthURL; - return this; - } - - /** - * Client direct endpoint to the oAuth server. - * @return oAuthURL - **/ - @ApiModelProperty(value = "Client direct endpoint to the oAuth server.") - public String getOAuthURL() { - return oAuthURL; - } - - public void setOAuthURL(String oAuthURL) { - this.oAuthURL = oAuthURL; - } - - public Notificationsubscriptionsv1webhooksSecurityPolicyConfig oAuthTokenType(String oAuthTokenType) { - this.oAuthTokenType = oAuthTokenType; - return this; - } - - /** - * Token type for the oAuth config. - * @return oAuthTokenType - **/ - @ApiModelProperty(value = "Token type for the oAuth config.") - public String getOAuthTokenType() { - return oAuthTokenType; - } - - public void setOAuthTokenType(String oAuthTokenType) { - this.oAuthTokenType = oAuthTokenType; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Notificationsubscriptionsv1webhooksSecurityPolicyConfig notificationsubscriptionsv1webhooksSecurityPolicyConfig = (Notificationsubscriptionsv1webhooksSecurityPolicyConfig) o; - return Objects.equals(this.oAuthTokenExpiry, notificationsubscriptionsv1webhooksSecurityPolicyConfig.oAuthTokenExpiry) && - Objects.equals(this.oAuthURL, notificationsubscriptionsv1webhooksSecurityPolicyConfig.oAuthURL) && - Objects.equals(this.oAuthTokenType, notificationsubscriptionsv1webhooksSecurityPolicyConfig.oAuthTokenType); - } - - @Override - public int hashCode() { - return Objects.hash(oAuthTokenExpiry, oAuthURL, oAuthTokenType); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Notificationsubscriptionsv1webhooksSecurityPolicyConfig {\n"); - - if (oAuthTokenExpiry != null) sb.append(" oAuthTokenExpiry: ").append(toIndentedString(oAuthTokenExpiry)).append("\n"); - if (oAuthURL != null) sb.append(" oAuthURL: ").append(toIndentedString(oAuthURL)).append("\n"); - if (oAuthTokenType != null) sb.append(" oAuthTokenType: ").append(toIndentedString(oAuthTokenType)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.java b/src/main/java/Model/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.java deleted file mode 100644 index 4781158d..00000000 --- a/src/main/java/Model/Nrtfv1webhookswebhookIdreplaysByDeliveryStatus.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import org.joda.time.DateTime; - -/** - * Nrtfv1webhookswebhookIdreplaysByDeliveryStatus - */ - -public class Nrtfv1webhookswebhookIdreplaysByDeliveryStatus { - @SerializedName("status") - private String status = null; - - @SerializedName("startTime") - private DateTime startTime = null; - - @SerializedName("endTime") - private DateTime endTime = null; - - @SerializedName("hoursBack") - private Integer hoursBack = null; - - @SerializedName("productId") - private String productId = null; - - @SerializedName("eventType") - private String eventType = null; - - public Nrtfv1webhookswebhookIdreplaysByDeliveryStatus status(String status) { - this.status = status; - return this; - } - - /** - * The status of the webhook. Options are FAILED or RETRY - * @return status - **/ - @ApiModelProperty(value = "The status of the webhook. Options are FAILED or RETRY") - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Nrtfv1webhookswebhookIdreplaysByDeliveryStatus startTime(DateTime startTime) { - this.startTime = startTime; - return this; - } - - /** - * The start time in yyyy-mm-dd hh:mm:ss.ms format. Maximum value is 1 month prior to todays system time. The difference between Start Time and End Time cannot exceed a 24 hour window within the last month. - * @return startTime - **/ - @ApiModelProperty(value = "The start time in yyyy-mm-dd hh:mm:ss.ms format. Maximum value is 1 month prior to todays system time. The difference between Start Time and End Time cannot exceed a 24 hour window within the last month. ") - public DateTime getStartTime() { - return startTime; - } - - public void setStartTime(DateTime startTime) { - this.startTime = startTime; - } - - public Nrtfv1webhookswebhookIdreplaysByDeliveryStatus endTime(DateTime endTime) { - this.endTime = endTime; - return this; - } - - /** - * The end time in yyyy-mm-dd hh:mm:ss.ms format. The difference between Start Time and End Time cannot exceed a 24 hour window within the last month. - * @return endTime - **/ - @ApiModelProperty(value = "The end time in yyyy-mm-dd hh:mm:ss.ms format. The difference between Start Time and End Time cannot exceed a 24 hour window within the last month. ") - public DateTime getEndTime() { - return endTime; - } - - public void setEndTime(DateTime endTime) { - this.endTime = endTime; - } - - public Nrtfv1webhookswebhookIdreplaysByDeliveryStatus hoursBack(Integer hoursBack) { - this.hoursBack = hoursBack; - return this; - } - - /** - * Alternative parameter to startTime/endTime. It evaluates the startTime using the current system time (endTime) and the hoursBack value (default = 24hrs). - * @return hoursBack - **/ - @ApiModelProperty(value = "Alternative parameter to startTime/endTime. It evaluates the startTime using the current system time (endTime) and the hoursBack value (default = 24hrs). ") - public Integer getHoursBack() { - return hoursBack; - } - - public void setHoursBack(Integer hoursBack) { - this.hoursBack = hoursBack; - } - - public Nrtfv1webhookswebhookIdreplaysByDeliveryStatus productId(String productId) { - this.productId = productId; - return this; - } - - /** - * Get productId - * @return productId - **/ - @ApiModelProperty(value = "") - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public Nrtfv1webhookswebhookIdreplaysByDeliveryStatus eventType(String eventType) { - this.eventType = eventType; - return this; - } - - /** - * Get eventType - * @return eventType - **/ - @ApiModelProperty(value = "") - public String getEventType() { - return eventType; - } - - public void setEventType(String eventType) { - this.eventType = eventType; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Nrtfv1webhookswebhookIdreplaysByDeliveryStatus nrtfv1webhookswebhookIdreplaysByDeliveryStatus = (Nrtfv1webhookswebhookIdreplaysByDeliveryStatus) o; - return Objects.equals(this.status, nrtfv1webhookswebhookIdreplaysByDeliveryStatus.status) && - Objects.equals(this.startTime, nrtfv1webhookswebhookIdreplaysByDeliveryStatus.startTime) && - Objects.equals(this.endTime, nrtfv1webhookswebhookIdreplaysByDeliveryStatus.endTime) && - Objects.equals(this.hoursBack, nrtfv1webhookswebhookIdreplaysByDeliveryStatus.hoursBack) && - Objects.equals(this.productId, nrtfv1webhookswebhookIdreplaysByDeliveryStatus.productId) && - Objects.equals(this.eventType, nrtfv1webhookswebhookIdreplaysByDeliveryStatus.eventType); - } - - @Override - public int hashCode() { - return Objects.hash(status, startTime, endTime, hoursBack, productId, eventType); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Nrtfv1webhookswebhookIdreplaysByDeliveryStatus {\n"); - - if (status != null) sb.append(" status: ").append(toIndentedString(status)).append("\n"); - if (startTime != null) sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); - if (endTime != null) sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); - if (hoursBack != null) sb.append(" hoursBack: ").append(toIndentedString(hoursBack)).append("\n"); - if (productId != null) sb.append(" productId: ").append(toIndentedString(productId)).append("\n"); - if (eventType != null) sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/PaymentsStrongAuthIssuerInformation.java b/src/main/java/Model/PaymentsStrongAuthIssuerInformation.java index 570f1744..1f18e797 100644 --- a/src/main/java/Model/PaymentsStrongAuthIssuerInformation.java +++ b/src/main/java/Model/PaymentsStrongAuthIssuerInformation.java @@ -44,6 +44,9 @@ public class PaymentsStrongAuthIssuerInformation { @SerializedName("transactionRiskAnalysisExemptionResult") private String transactionRiskAnalysisExemptionResult = null; + @SerializedName("delegatedAuthenticationResult") + private String delegatedAuthenticationResult = null; + public PaymentsStrongAuthIssuerInformation riskAnalysisExemptionResult(String riskAnalysisExemptionResult) { this.riskAnalysisExemptionResult = riskAnalysisExemptionResult; return this; @@ -134,6 +137,24 @@ public void setTransactionRiskAnalysisExemptionResult(String transactionRiskAnal this.transactionRiskAnalysisExemptionResult = transactionRiskAnalysisExemptionResult; } + public PaymentsStrongAuthIssuerInformation delegatedAuthenticationResult(String delegatedAuthenticationResult) { + this.delegatedAuthenticationResult = delegatedAuthenticationResult; + return this; + } + + /** + * This will be the value returned by Visanet when delegated authentication has been requested. + * @return delegatedAuthenticationResult + **/ + @ApiModelProperty(value = "This will be the value returned by Visanet when delegated authentication has been requested. ") + public String getDelegatedAuthenticationResult() { + return delegatedAuthenticationResult; + } + + public void setDelegatedAuthenticationResult(String delegatedAuthenticationResult) { + this.delegatedAuthenticationResult = delegatedAuthenticationResult; + } + @Override public boolean equals(java.lang.Object o) { @@ -148,12 +169,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.trustedMerchantExemptionResult, paymentsStrongAuthIssuerInformation.trustedMerchantExemptionResult) && Objects.equals(this.lowValueExemptionResult, paymentsStrongAuthIssuerInformation.lowValueExemptionResult) && Objects.equals(this.secureCorporatePaymentResult, paymentsStrongAuthIssuerInformation.secureCorporatePaymentResult) && - Objects.equals(this.transactionRiskAnalysisExemptionResult, paymentsStrongAuthIssuerInformation.transactionRiskAnalysisExemptionResult); + Objects.equals(this.transactionRiskAnalysisExemptionResult, paymentsStrongAuthIssuerInformation.transactionRiskAnalysisExemptionResult) && + Objects.equals(this.delegatedAuthenticationResult, paymentsStrongAuthIssuerInformation.delegatedAuthenticationResult); } @Override public int hashCode() { - return Objects.hash(riskAnalysisExemptionResult, trustedMerchantExemptionResult, lowValueExemptionResult, secureCorporatePaymentResult, transactionRiskAnalysisExemptionResult); + return Objects.hash(riskAnalysisExemptionResult, trustedMerchantExemptionResult, lowValueExemptionResult, secureCorporatePaymentResult, transactionRiskAnalysisExemptionResult, delegatedAuthenticationResult); } @@ -167,6 +189,7 @@ public String toString() { if (lowValueExemptionResult != null) sb.append(" lowValueExemptionResult: ").append(toIndentedString(lowValueExemptionResult)).append("\n"); if (secureCorporatePaymentResult != null) sb.append(" secureCorporatePaymentResult: ").append(toIndentedString(secureCorporatePaymentResult)).append("\n"); if (transactionRiskAnalysisExemptionResult != null) sb.append(" transactionRiskAnalysisExemptionResult: ").append(toIndentedString(transactionRiskAnalysisExemptionResult)).append("\n"); + if (delegatedAuthenticationResult != null) sb.append(" delegatedAuthenticationResult: ").append(toIndentedString(delegatedAuthenticationResult)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/PtsV2PaymentsPost201Response1.java b/src/main/java/Model/PtsV2PaymentsPost201Response1.java index 814a7e61..4f5e63cf 100644 --- a/src/main/java/Model/PtsV2PaymentsPost201Response1.java +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1.java @@ -16,6 +16,8 @@ import java.util.Objects; import java.util.Arrays; import Model.PtsV2IncrementalAuthorizationPatch201ResponseClientReferenceInformation; +import Model.PtsV2PaymentsPost201Response1ErrorInformation; +import Model.PtsV2PaymentsPost201Response1IssuerInformation; import Model.PtsV2PaymentsPost201Response1OrderInformation; import Model.PtsV2PaymentsPost201Response1PaymentInformation; import Model.PtsV2PaymentsPost201Response1ProcessorInformation; @@ -57,6 +59,12 @@ public class PtsV2PaymentsPost201Response1 { @SerializedName("clientReferenceInformation") private PtsV2IncrementalAuthorizationPatch201ResponseClientReferenceInformation clientReferenceInformation = null; + @SerializedName("issuerInformation") + private PtsV2PaymentsPost201Response1IssuerInformation issuerInformation = null; + + @SerializedName("errorInformation") + private PtsV2PaymentsPost201Response1ErrorInformation errorInformation = null; + public PtsV2PaymentsPost201Response1 id(String id) { this.id = id; return this; @@ -201,6 +209,42 @@ public void setClientReferenceInformation(PtsV2IncrementalAuthorizationPatch201R this.clientReferenceInformation = clientReferenceInformation; } + public PtsV2PaymentsPost201Response1 issuerInformation(PtsV2PaymentsPost201Response1IssuerInformation issuerInformation) { + this.issuerInformation = issuerInformation; + return this; + } + + /** + * Get issuerInformation + * @return issuerInformation + **/ + @ApiModelProperty(value = "") + public PtsV2PaymentsPost201Response1IssuerInformation getIssuerInformation() { + return issuerInformation; + } + + public void setIssuerInformation(PtsV2PaymentsPost201Response1IssuerInformation issuerInformation) { + this.issuerInformation = issuerInformation; + } + + public PtsV2PaymentsPost201Response1 errorInformation(PtsV2PaymentsPost201Response1ErrorInformation errorInformation) { + this.errorInformation = errorInformation; + return this; + } + + /** + * Get errorInformation + * @return errorInformation + **/ + @ApiModelProperty(value = "") + public PtsV2PaymentsPost201Response1ErrorInformation getErrorInformation() { + return errorInformation; + } + + public void setErrorInformation(PtsV2PaymentsPost201Response1ErrorInformation errorInformation) { + this.errorInformation = errorInformation; + } + @Override public boolean equals(java.lang.Object o) { @@ -218,12 +262,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.reconciliationId, ptsV2PaymentsPost201Response1.reconciliationId) && Objects.equals(this.paymentInformation, ptsV2PaymentsPost201Response1.paymentInformation) && Objects.equals(this.orderInformation, ptsV2PaymentsPost201Response1.orderInformation) && - Objects.equals(this.clientReferenceInformation, ptsV2PaymentsPost201Response1.clientReferenceInformation); + Objects.equals(this.clientReferenceInformation, ptsV2PaymentsPost201Response1.clientReferenceInformation) && + Objects.equals(this.issuerInformation, ptsV2PaymentsPost201Response1.issuerInformation) && + Objects.equals(this.errorInformation, ptsV2PaymentsPost201Response1.errorInformation); } @Override public int hashCode() { - return Objects.hash(id, status, submitTimeUtc, processorInformation, reconciliationId, paymentInformation, orderInformation, clientReferenceInformation); + return Objects.hash(id, status, submitTimeUtc, processorInformation, reconciliationId, paymentInformation, orderInformation, clientReferenceInformation, issuerInformation, errorInformation); } @@ -240,6 +286,8 @@ public String toString() { if (paymentInformation != null) sb.append(" paymentInformation: ").append(toIndentedString(paymentInformation)).append("\n"); if (orderInformation != null) sb.append(" orderInformation: ").append(toIndentedString(orderInformation)).append("\n"); if (clientReferenceInformation != null) sb.append(" clientReferenceInformation: ").append(toIndentedString(clientReferenceInformation)).append("\n"); + if (issuerInformation != null) sb.append(" issuerInformation: ").append(toIndentedString(issuerInformation)).append("\n"); + if (errorInformation != null) sb.append(" errorInformation: ").append(toIndentedString(errorInformation)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/InlineResponse4042.java b/src/main/java/Model/PtsV2PaymentsPost201Response1ErrorInformation.java similarity index 61% rename from src/main/java/Model/InlineResponse4042.java rename to src/main/java/Model/PtsV2PaymentsPost201Response1ErrorInformation.java index 4a05592e..57a07724 100644 --- a/src/main/java/Model/InlineResponse4042.java +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1ErrorInformation.java @@ -15,7 +15,7 @@ import java.util.Objects; import java.util.Arrays; -import Model.InlineResponse4042Details; +import Model.PtsV2PaymentsPost201Response1ErrorInformationDetails; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; @@ -28,10 +28,10 @@ import java.util.List; /** - * InlineResponse4042 + * PtsV2PaymentsPost201Response1ErrorInformation */ -public class InlineResponse4042 { +public class PtsV2PaymentsPost201Response1ErrorInformation { @SerializedName("reason") private String reason = null; @@ -39,18 +39,18 @@ public class InlineResponse4042 { private String message = null; @SerializedName("details") - private List details = null; + private List details = null; - public InlineResponse4042 reason(String reason) { + public PtsV2PaymentsPost201Response1ErrorInformation reason(String reason) { this.reason = reason; return this; } /** - * Get reason + * The reason of the status. * @return reason **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The reason of the status. ") public String getReason() { return reason; } @@ -59,16 +59,16 @@ public void setReason(String reason) { this.reason = reason; } - public InlineResponse4042 message(String message) { + public PtsV2PaymentsPost201Response1ErrorInformation message(String message) { this.message = message; return this; } /** - * Get message + * The detail message related to the status and reason listed above. * @return message **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The detail message related to the status and reason listed above.") public String getMessage() { return message; } @@ -77,14 +77,14 @@ public void setMessage(String message) { this.message = message; } - public InlineResponse4042 details(List details) { + public PtsV2PaymentsPost201Response1ErrorInformation details(List details) { this.details = details; return this; } - public InlineResponse4042 addDetailsItem(InlineResponse4042Details detailsItem) { + public PtsV2PaymentsPost201Response1ErrorInformation addDetailsItem(PtsV2PaymentsPost201Response1ErrorInformationDetails detailsItem) { if (this.details == null) { - this.details = new ArrayList(); + this.details = new ArrayList(); } this.details.add(detailsItem); return this; @@ -95,11 +95,11 @@ public InlineResponse4042 addDetailsItem(InlineResponse4042Details detailsItem) * @return details **/ @ApiModelProperty(value = "") - public List getDetails() { + public List getDetails() { return details; } - public void setDetails(List details) { + public void setDetails(List details) { this.details = details; } @@ -112,10 +112,10 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse4042 inlineResponse4042 = (InlineResponse4042) o; - return Objects.equals(this.reason, inlineResponse4042.reason) && - Objects.equals(this.message, inlineResponse4042.message) && - Objects.equals(this.details, inlineResponse4042.details); + PtsV2PaymentsPost201Response1ErrorInformation ptsV2PaymentsPost201Response1ErrorInformation = (PtsV2PaymentsPost201Response1ErrorInformation) o; + return Objects.equals(this.reason, ptsV2PaymentsPost201Response1ErrorInformation.reason) && + Objects.equals(this.message, ptsV2PaymentsPost201Response1ErrorInformation.message) && + Objects.equals(this.details, ptsV2PaymentsPost201Response1ErrorInformation.details); } @Override @@ -127,7 +127,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse4042 {\n"); + sb.append("class PtsV2PaymentsPost201Response1ErrorInformation {\n"); if (reason != null) sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); if (message != null) sb.append(" message: ").append(toIndentedString(message)).append("\n"); diff --git a/src/main/java/Model/InlineResponse4042Details.java b/src/main/java/Model/PtsV2PaymentsPost201Response1ErrorInformationDetails.java similarity index 65% rename from src/main/java/Model/InlineResponse4042Details.java rename to src/main/java/Model/PtsV2PaymentsPost201Response1ErrorInformationDetails.java index fe7a6d0f..53ac0651 100644 --- a/src/main/java/Model/InlineResponse4042Details.java +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1ErrorInformationDetails.java @@ -25,44 +25,23 @@ import java.io.IOException; /** - * InlineResponse4042Details + * PtsV2PaymentsPost201Response1ErrorInformationDetails */ -public class InlineResponse4042Details { - @SerializedName("field") - private String field = null; - +public class PtsV2PaymentsPost201Response1ErrorInformationDetails { @SerializedName("reason") private String reason = null; - public InlineResponse4042Details field(String field) { - this.field = field; - return this; - } - - /** - * Get field - * @return field - **/ - @ApiModelProperty(value = "") - public String getField() { - return field; - } - - public void setField(String field) { - this.field = field; - } - - public InlineResponse4042Details reason(String reason) { + public PtsV2PaymentsPost201Response1ErrorInformationDetails reason(String reason) { this.reason = reason; return this; } /** - * Get reason + * Possible reasons for the error. Possible values: - MISSING_FIELD - INVALID_DATA * @return reason **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "Possible reasons for the error. Possible values: - MISSING_FIELD - INVALID_DATA ") public String getReason() { return reason; } @@ -80,23 +59,21 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InlineResponse4042Details inlineResponse4042Details = (InlineResponse4042Details) o; - return Objects.equals(this.field, inlineResponse4042Details.field) && - Objects.equals(this.reason, inlineResponse4042Details.reason); + PtsV2PaymentsPost201Response1ErrorInformationDetails ptsV2PaymentsPost201Response1ErrorInformationDetails = (PtsV2PaymentsPost201Response1ErrorInformationDetails) o; + return Objects.equals(this.reason, ptsV2PaymentsPost201Response1ErrorInformationDetails.reason); } @Override public int hashCode() { - return Objects.hash(field, reason); + return Objects.hash(reason); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse4042Details {\n"); + sb.append("class PtsV2PaymentsPost201Response1ErrorInformationDetails {\n"); - if (field != null) sb.append(" field: ").append(toIndentedString(field)).append("\n"); if (reason != null) sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/Model/PtsV2PaymentsPost201Response1IssuerInformation.java b/src/main/java/Model/PtsV2PaymentsPost201Response1IssuerInformation.java new file mode 100644 index 00000000..45504886 --- /dev/null +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1IssuerInformation.java @@ -0,0 +1,117 @@ +/* + * CyberSource Merged Spec + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ + + +package Model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PtsV2PaymentsPost201Response1IssuerInformation + */ + +public class PtsV2PaymentsPost201Response1IssuerInformation { + @SerializedName("name") + private String name = null; + + @SerializedName("code") + private String code = null; + + public PtsV2PaymentsPost201Response1IssuerInformation name(String name) { + this.name = name; + return this; + } + + /** + * Name of the card issuer provided by the processor. + * @return name + **/ + @ApiModelProperty(value = "Name of the card issuer provided by the processor. ") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public PtsV2PaymentsPost201Response1IssuerInformation code(String code) { + this.code = code; + return this; + } + + /** + * Unique code for card issuer provided by the processor. + * @return code + **/ + @ApiModelProperty(value = "Unique code for card issuer provided by the processor. ") + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PtsV2PaymentsPost201Response1IssuerInformation ptsV2PaymentsPost201Response1IssuerInformation = (PtsV2PaymentsPost201Response1IssuerInformation) o; + return Objects.equals(this.name, ptsV2PaymentsPost201Response1IssuerInformation.name) && + Objects.equals(this.code, ptsV2PaymentsPost201Response1IssuerInformation.code); + } + + @Override + public int hashCode() { + return Objects.hash(name, code); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PtsV2PaymentsPost201Response1IssuerInformation {\n"); + + if (name != null) sb.append(" name: ").append(toIndentedString(name)).append("\n"); + if (code != null) sb.append(" code: ").append(toIndentedString(code)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + // return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformation.java b/src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformation.java index e12c79b3..8869e024 100644 --- a/src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformation.java +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformation.java @@ -15,6 +15,7 @@ import java.util.Objects; import java.util.Arrays; +import Model.PtsV2PaymentsPost201Response1OrderInformationAmountDetails; import Model.PtsV2PaymentsPost201Response1OrderInformationBillTo; import Model.PtsV2PaymentsPost201Response1OrderInformationShipTo; import com.google.gson.TypeAdapter; @@ -37,6 +38,9 @@ public class PtsV2PaymentsPost201Response1OrderInformation { @SerializedName("shipTo") private PtsV2PaymentsPost201Response1OrderInformationShipTo shipTo = null; + @SerializedName("amountDetails") + private PtsV2PaymentsPost201Response1OrderInformationAmountDetails amountDetails = null; + public PtsV2PaymentsPost201Response1OrderInformation billTo(PtsV2PaymentsPost201Response1OrderInformationBillTo billTo) { this.billTo = billTo; return this; @@ -73,6 +77,24 @@ public void setShipTo(PtsV2PaymentsPost201Response1OrderInformationShipTo shipTo this.shipTo = shipTo; } + public PtsV2PaymentsPost201Response1OrderInformation amountDetails(PtsV2PaymentsPost201Response1OrderInformationAmountDetails amountDetails) { + this.amountDetails = amountDetails; + return this; + } + + /** + * Get amountDetails + * @return amountDetails + **/ + @ApiModelProperty(value = "") + public PtsV2PaymentsPost201Response1OrderInformationAmountDetails getAmountDetails() { + return amountDetails; + } + + public void setAmountDetails(PtsV2PaymentsPost201Response1OrderInformationAmountDetails amountDetails) { + this.amountDetails = amountDetails; + } + @Override public boolean equals(java.lang.Object o) { @@ -84,12 +106,13 @@ public boolean equals(java.lang.Object o) { } PtsV2PaymentsPost201Response1OrderInformation ptsV2PaymentsPost201Response1OrderInformation = (PtsV2PaymentsPost201Response1OrderInformation) o; return Objects.equals(this.billTo, ptsV2PaymentsPost201Response1OrderInformation.billTo) && - Objects.equals(this.shipTo, ptsV2PaymentsPost201Response1OrderInformation.shipTo); + Objects.equals(this.shipTo, ptsV2PaymentsPost201Response1OrderInformation.shipTo) && + Objects.equals(this.amountDetails, ptsV2PaymentsPost201Response1OrderInformation.amountDetails); } @Override public int hashCode() { - return Objects.hash(billTo, shipTo); + return Objects.hash(billTo, shipTo, amountDetails); } @@ -100,6 +123,7 @@ public String toString() { if (billTo != null) sb.append(" billTo: ").append(toIndentedString(billTo)).append("\n"); if (shipTo != null) sb.append(" shipTo: ").append(toIndentedString(shipTo)).append("\n"); + if (amountDetails != null) sb.append(" amountDetails: ").append(toIndentedString(amountDetails)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.java b/src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.java new file mode 100644 index 00000000..d4954ba8 --- /dev/null +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.java @@ -0,0 +1,94 @@ +/* + * CyberSource Merged Spec + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ + + +package Model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PtsV2PaymentsPost201Response1OrderInformationAmountDetails + */ + +public class PtsV2PaymentsPost201Response1OrderInformationAmountDetails { + @SerializedName("refundBalance") + private String refundBalance = null; + + public PtsV2PaymentsPost201Response1OrderInformationAmountDetails refundBalance(String refundBalance) { + this.refundBalance = refundBalance; + return this; + } + + /** + * This field will carry the remaning amount which can be refunded. + * @return refundBalance + **/ + @ApiModelProperty(value = "This field will carry the remaning amount which can be refunded. ") + public String getRefundBalance() { + return refundBalance; + } + + public void setRefundBalance(String refundBalance) { + this.refundBalance = refundBalance; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PtsV2PaymentsPost201Response1OrderInformationAmountDetails ptsV2PaymentsPost201Response1OrderInformationAmountDetails = (PtsV2PaymentsPost201Response1OrderInformationAmountDetails) o; + return Objects.equals(this.refundBalance, ptsV2PaymentsPost201Response1OrderInformationAmountDetails.refundBalance); + } + + @Override + public int hashCode() { + return Objects.hash(refundBalance); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PtsV2PaymentsPost201Response1OrderInformationAmountDetails {\n"); + + if (refundBalance != null) sb.append(" refundBalance: ").append(toIndentedString(refundBalance)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + // return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformation.java b/src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformation.java index 5e3acd93..38c654fd 100644 --- a/src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformation.java +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformation.java @@ -16,6 +16,7 @@ import java.util.Objects; import java.util.Arrays; import Model.PtsV2PaymentsPost201Response1PaymentInformationBank; +import Model.PtsV2PaymentsPost201Response1PaymentInformationEWallet; import Model.PtsV2PaymentsPost201Response1PaymentInformationPaymentType; import Model.Ptsv2refreshpaymentstatusidPaymentInformationCustomer; import com.google.gson.TypeAdapter; @@ -35,6 +36,9 @@ public class PtsV2PaymentsPost201Response1PaymentInformation { @SerializedName("paymentType") private PtsV2PaymentsPost201Response1PaymentInformationPaymentType paymentType = null; + @SerializedName("eWallet") + private PtsV2PaymentsPost201Response1PaymentInformationEWallet eWallet = null; + @SerializedName("customer") private Ptsv2refreshpaymentstatusidPaymentInformationCustomer customer = null; @@ -59,6 +63,24 @@ public void setPaymentType(PtsV2PaymentsPost201Response1PaymentInformationPaymen this.paymentType = paymentType; } + public PtsV2PaymentsPost201Response1PaymentInformation eWallet(PtsV2PaymentsPost201Response1PaymentInformationEWallet eWallet) { + this.eWallet = eWallet; + return this; + } + + /** + * Get eWallet + * @return eWallet + **/ + @ApiModelProperty(value = "") + public PtsV2PaymentsPost201Response1PaymentInformationEWallet getEWallet() { + return eWallet; + } + + public void setEWallet(PtsV2PaymentsPost201Response1PaymentInformationEWallet eWallet) { + this.eWallet = eWallet; + } + public PtsV2PaymentsPost201Response1PaymentInformation customer(Ptsv2refreshpaymentstatusidPaymentInformationCustomer customer) { this.customer = customer; return this; @@ -106,13 +128,14 @@ public boolean equals(java.lang.Object o) { } PtsV2PaymentsPost201Response1PaymentInformation ptsV2PaymentsPost201Response1PaymentInformation = (PtsV2PaymentsPost201Response1PaymentInformation) o; return Objects.equals(this.paymentType, ptsV2PaymentsPost201Response1PaymentInformation.paymentType) && + Objects.equals(this.eWallet, ptsV2PaymentsPost201Response1PaymentInformation.eWallet) && Objects.equals(this.customer, ptsV2PaymentsPost201Response1PaymentInformation.customer) && Objects.equals(this.bank, ptsV2PaymentsPost201Response1PaymentInformation.bank); } @Override public int hashCode() { - return Objects.hash(paymentType, customer, bank); + return Objects.hash(paymentType, eWallet, customer, bank); } @@ -122,6 +145,7 @@ public String toString() { sb.append("class PtsV2PaymentsPost201Response1PaymentInformation {\n"); if (paymentType != null) sb.append(" paymentType: ").append(toIndentedString(paymentType)).append("\n"); + if (eWallet != null) sb.append(" eWallet: ").append(toIndentedString(eWallet)).append("\n"); if (customer != null) sb.append(" customer: ").append(toIndentedString(customer)).append("\n"); if (bank != null) sb.append(" bank: ").append(toIndentedString(bank)).append("\n"); sb.append("}"); diff --git a/src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformationEWallet.java b/src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformationEWallet.java new file mode 100644 index 00000000..34621165 --- /dev/null +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1PaymentInformationEWallet.java @@ -0,0 +1,117 @@ +/* + * CyberSource Merged Spec + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ + + +package Model; + +import java.util.Objects; +import java.util.Arrays; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.IOException; + +/** + * PtsV2PaymentsPost201Response1PaymentInformationEWallet + */ + +public class PtsV2PaymentsPost201Response1PaymentInformationEWallet { + @SerializedName("name") + private String name = null; + + @SerializedName("fundingSource") + private String fundingSource = null; + + public PtsV2PaymentsPost201Response1PaymentInformationEWallet name(String name) { + this.name = name; + return this; + } + + /** + * Valid Values: - CreditCard - BankTransfer - MobileTransfer - KakaoMoney - NaverPayPoint + * @return name + **/ + @ApiModelProperty(value = "Valid Values: - CreditCard - BankTransfer - MobileTransfer - KakaoMoney - NaverPayPoint ") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public PtsV2PaymentsPost201Response1PaymentInformationEWallet fundingSource(String fundingSource) { + this.fundingSource = fundingSource; + return this; + } + + /** + * Valid Values: - PAYCO - Kakaopay - NaverPay - SSG Pay - L.Pay - Apple Pay - TOSS Pay - Samsung Pay + * @return fundingSource + **/ + @ApiModelProperty(value = "Valid Values: - PAYCO - Kakaopay - NaverPay - SSG Pay - L.Pay - Apple Pay - TOSS Pay - Samsung Pay ") + public String getFundingSource() { + return fundingSource; + } + + public void setFundingSource(String fundingSource) { + this.fundingSource = fundingSource; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PtsV2PaymentsPost201Response1PaymentInformationEWallet ptsV2PaymentsPost201Response1PaymentInformationEWallet = (PtsV2PaymentsPost201Response1PaymentInformationEWallet) o; + return Objects.equals(this.name, ptsV2PaymentsPost201Response1PaymentInformationEWallet.name) && + Objects.equals(this.fundingSource, ptsV2PaymentsPost201Response1PaymentInformationEWallet.fundingSource); + } + + @Override + public int hashCode() { + return Objects.hash(name, fundingSource); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PtsV2PaymentsPost201Response1PaymentInformationEWallet {\n"); + + if (name != null) sb.append(" name: ").append(toIndentedString(name)).append("\n"); + if (fundingSource != null) sb.append(" fundingSource: ").append(toIndentedString(fundingSource)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + // return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/Model/PtsV2PaymentsPost201Response1ProcessorInformation.java b/src/main/java/Model/PtsV2PaymentsPost201Response1ProcessorInformation.java index 43787406..4c67aef3 100644 --- a/src/main/java/Model/PtsV2PaymentsPost201Response1ProcessorInformation.java +++ b/src/main/java/Model/PtsV2PaymentsPost201Response1ProcessorInformation.java @@ -40,6 +40,12 @@ public class PtsV2PaymentsPost201Response1ProcessorInformation { @SerializedName("rawResponse") private String rawResponse = null; + @SerializedName("rawResponseLocal") + private String rawResponseLocal = null; + + @SerializedName("responseDetails") + private String responseDetails = null; + @SerializedName("responseCode") private String responseCode = null; @@ -103,6 +109,42 @@ public void setRawResponse(String rawResponse) { this.rawResponse = rawResponse; } + public PtsV2PaymentsPost201Response1ProcessorInformation rawResponseLocal(String rawResponseLocal) { + this.rawResponseLocal = rawResponseLocal; + return this; + } + + /** + * This field is set to the value of failure reason returned by the processor in the local language of the processor. + * @return rawResponseLocal + **/ + @ApiModelProperty(value = "This field is set to the value of failure reason returned by the processor in the local language of the processor. ") + public String getRawResponseLocal() { + return rawResponseLocal; + } + + public void setRawResponseLocal(String rawResponseLocal) { + this.rawResponseLocal = rawResponseLocal; + } + + public PtsV2PaymentsPost201Response1ProcessorInformation responseDetails(String responseDetails) { + this.responseDetails = responseDetails; + return this; + } + + /** + * This field might contain information about a decline. + * @return responseDetails + **/ + @ApiModelProperty(value = "This field might contain information about a decline. ") + public String getResponseDetails() { + return responseDetails; + } + + public void setResponseDetails(String responseDetails) { + this.responseDetails = responseDetails; + } + public PtsV2PaymentsPost201Response1ProcessorInformation responseCode(String responseCode) { this.responseCode = responseCode; return this; @@ -170,6 +212,8 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.transactionId, ptsV2PaymentsPost201Response1ProcessorInformation.transactionId) && Objects.equals(this.tradeNumber, ptsV2PaymentsPost201Response1ProcessorInformation.tradeNumber) && Objects.equals(this.rawResponse, ptsV2PaymentsPost201Response1ProcessorInformation.rawResponse) && + Objects.equals(this.rawResponseLocal, ptsV2PaymentsPost201Response1ProcessorInformation.rawResponseLocal) && + Objects.equals(this.responseDetails, ptsV2PaymentsPost201Response1ProcessorInformation.responseDetails) && Objects.equals(this.responseCode, ptsV2PaymentsPost201Response1ProcessorInformation.responseCode) && Objects.equals(this.sellerProtection, ptsV2PaymentsPost201Response1ProcessorInformation.sellerProtection) && Objects.equals(this.avs, ptsV2PaymentsPost201Response1ProcessorInformation.avs); @@ -177,7 +221,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(transactionId, tradeNumber, rawResponse, responseCode, sellerProtection, avs); + return Objects.hash(transactionId, tradeNumber, rawResponse, rawResponseLocal, responseDetails, responseCode, sellerProtection, avs); } @@ -189,6 +233,8 @@ public String toString() { if (transactionId != null) sb.append(" transactionId: ").append(toIndentedString(transactionId)).append("\n"); if (tradeNumber != null) sb.append(" tradeNumber: ").append(toIndentedString(tradeNumber)).append("\n"); if (rawResponse != null) sb.append(" rawResponse: ").append(toIndentedString(rawResponse)).append("\n"); + if (rawResponseLocal != null) sb.append(" rawResponseLocal: ").append(toIndentedString(rawResponseLocal)).append("\n"); + if (responseDetails != null) sb.append(" responseDetails: ").append(toIndentedString(responseDetails)).append("\n"); if (responseCode != null) sb.append(" responseCode: ").append(toIndentedString(responseCode)).append("\n"); if (sellerProtection != null) sb.append(" sellerProtection: ").append(toIndentedString(sellerProtection)).append("\n"); if (avs != null) sb.append(" avs: ").append(toIndentedString(avs)).append("\n"); diff --git a/src/main/java/Model/PtsV2PaymentsRefundPost201Response.java b/src/main/java/Model/PtsV2PaymentsRefundPost201Response.java index b9ca127d..35b6f826 100644 --- a/src/main/java/Model/PtsV2PaymentsRefundPost201Response.java +++ b/src/main/java/Model/PtsV2PaymentsRefundPost201Response.java @@ -16,6 +16,7 @@ import java.util.Objects; import java.util.Arrays; import Model.PtsV2PaymentsCapturesPost201ResponsePointOfSaleInformation; +import Model.PtsV2PaymentsCapturesPost201ResponseProcessingInformation; import Model.PtsV2PaymentsRefundPost201ResponseClientReferenceInformation; import Model.PtsV2PaymentsRefundPost201ResponseLinks; import Model.PtsV2PaymentsRefundPost201ResponseOrderInformation; @@ -56,6 +57,9 @@ public class PtsV2PaymentsRefundPost201Response { @SerializedName("refundAmountDetails") private PtsV2PaymentsRefundPost201ResponseRefundAmountDetails refundAmountDetails = null; + @SerializedName("processingInformation") + private PtsV2PaymentsCapturesPost201ResponseProcessingInformation processingInformation = null; + @SerializedName("processorInformation") private PtsV2PaymentsRefundPost201ResponseProcessorInformation processorInformation = null; @@ -191,6 +195,24 @@ public void setRefundAmountDetails(PtsV2PaymentsRefundPost201ResponseRefundAmoun this.refundAmountDetails = refundAmountDetails; } + public PtsV2PaymentsRefundPost201Response processingInformation(PtsV2PaymentsCapturesPost201ResponseProcessingInformation processingInformation) { + this.processingInformation = processingInformation; + return this; + } + + /** + * Get processingInformation + * @return processingInformation + **/ + @ApiModelProperty(value = "") + public PtsV2PaymentsCapturesPost201ResponseProcessingInformation getProcessingInformation() { + return processingInformation; + } + + public void setProcessingInformation(PtsV2PaymentsCapturesPost201ResponseProcessingInformation processingInformation) { + this.processingInformation = processingInformation; + } + public PtsV2PaymentsRefundPost201Response processorInformation(PtsV2PaymentsRefundPost201ResponseProcessorInformation processorInformation) { this.processorInformation = processorInformation; return this; @@ -262,6 +284,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.reconciliationId, ptsV2PaymentsRefundPost201Response.reconciliationId) && Objects.equals(this.clientReferenceInformation, ptsV2PaymentsRefundPost201Response.clientReferenceInformation) && Objects.equals(this.refundAmountDetails, ptsV2PaymentsRefundPost201Response.refundAmountDetails) && + Objects.equals(this.processingInformation, ptsV2PaymentsRefundPost201Response.processingInformation) && Objects.equals(this.processorInformation, ptsV2PaymentsRefundPost201Response.processorInformation) && Objects.equals(this.orderInformation, ptsV2PaymentsRefundPost201Response.orderInformation) && Objects.equals(this.pointOfSaleInformation, ptsV2PaymentsRefundPost201Response.pointOfSaleInformation); @@ -269,7 +292,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(links, id, submitTimeUtc, status, reconciliationId, clientReferenceInformation, refundAmountDetails, processorInformation, orderInformation, pointOfSaleInformation); + return Objects.hash(links, id, submitTimeUtc, status, reconciliationId, clientReferenceInformation, refundAmountDetails, processingInformation, processorInformation, orderInformation, pointOfSaleInformation); } @@ -285,6 +308,7 @@ public String toString() { if (reconciliationId != null) sb.append(" reconciliationId: ").append(toIndentedString(reconciliationId)).append("\n"); if (clientReferenceInformation != null) sb.append(" clientReferenceInformation: ").append(toIndentedString(clientReferenceInformation)).append("\n"); if (refundAmountDetails != null) sb.append(" refundAmountDetails: ").append(toIndentedString(refundAmountDetails)).append("\n"); + if (processingInformation != null) sb.append(" processingInformation: ").append(toIndentedString(processingInformation)).append("\n"); if (processorInformation != null) sb.append(" processorInformation: ").append(toIndentedString(processorInformation)).append("\n"); if (orderInformation != null) sb.append(" orderInformation: ").append(toIndentedString(orderInformation)).append("\n"); if (pointOfSaleInformation != null) sb.append(" pointOfSaleInformation: ").append(toIndentedString(pointOfSaleInformation)).append("\n"); diff --git a/src/main/java/Model/Ptsv2paymentsProcessingInformation.java b/src/main/java/Model/Ptsv2paymentsProcessingInformation.java index 93733713..f80a824a 100644 --- a/src/main/java/Model/Ptsv2paymentsProcessingInformation.java +++ b/src/main/java/Model/Ptsv2paymentsProcessingInformation.java @@ -890,10 +890,10 @@ public Ptsv2paymentsProcessingInformation purposeOfPayment(String purposeOfPayme } /** - * Possible values: - `16` : High Risk Security Other values can also be accommodated in future for different transactions. Currently this field is only used in OCT, we could not find any existing valid values for the past 30 days in production. Issuer may decline invalid purpose of payment code with response code 93. This field is also applicable for AFT transactions. For list of supported values, please refer to Developer Guide. + * This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide. * @return purposeOfPayment **/ - @ApiModelProperty(value = " Possible values: - `16` : High Risk Security Other values can also be accommodated in future for different transactions. Currently this field is only used in OCT, we could not find any existing valid values for the past 30 days in production. Issuer may decline invalid purpose of payment code with response code 93. This field is also applicable for AFT transactions. For list of supported values, please refer to Developer Guide. ") + @ApiModelProperty(value = "This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide. ") public String getPurposeOfPayment() { return purposeOfPayment; } diff --git a/src/main/java/Model/Ptsv2payoutsProcessingInformation.java b/src/main/java/Model/Ptsv2payoutsProcessingInformation.java index 9a69c2c4..72c7527f 100644 --- a/src/main/java/Model/Ptsv2payoutsProcessingInformation.java +++ b/src/main/java/Model/Ptsv2payoutsProcessingInformation.java @@ -176,10 +176,10 @@ public Ptsv2payoutsProcessingInformation purposeOfPayment(String purposeOfPaymen } /** - * This will send purpose of funds code for original credit transactions (OCTs). + * This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide. * @return purposeOfPayment **/ - @ApiModelProperty(value = "This will send purpose of funds code for original credit transactions (OCTs). ") + @ApiModelProperty(value = "This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide. ") public String getPurposeOfPayment() { return purposeOfPayment; } diff --git a/src/main/java/Model/Ptsv2payoutsRecipientInformation.java b/src/main/java/Model/Ptsv2payoutsRecipientInformation.java index 7ca7b50e..49cf68ec 100644 --- a/src/main/java/Model/Ptsv2payoutsRecipientInformation.java +++ b/src/main/java/Model/Ptsv2payoutsRecipientInformation.java @@ -77,10 +77,10 @@ public Ptsv2payoutsRecipientInformation firstName(String firstName) { } /** - * First name of recipient. characters. * CTV (14) * Paymentech (30) + * First name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. * @return firstName **/ - @ApiModelProperty(value = "First name of recipient. characters. * CTV (14) * Paymentech (30) ") + @ApiModelProperty(value = "First name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. ") public String getFirstName() { return firstName; } @@ -95,10 +95,10 @@ public Ptsv2payoutsRecipientInformation middleName(String middleName) { } /** - * Recipient'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. + * Middle name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. * @return middleName **/ - @ApiModelProperty(value = "Recipient'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. ") + @ApiModelProperty(value = "Middle name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. ") public String getMiddleName() { return middleName; } @@ -113,10 +113,10 @@ public Ptsv2payoutsRecipientInformation lastName(String lastName) { } /** - * Last name of recipient. characters. * CTV (14) * Paymentech (30) + * Last name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. * @return lastName **/ - @ApiModelProperty(value = "Last name of recipient. characters. * CTV (14) * Paymentech (30) ") + @ApiModelProperty(value = "Last name of the recipient. This field is applicable for AFT & OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. ") public String getLastName() { return lastName; } @@ -131,10 +131,10 @@ public Ptsv2payoutsRecipientInformation address1(String address1) { } /** - * Recipient address information. Required only for FDCCompass. + * The street address of the recipient This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. * @return address1 **/ - @ApiModelProperty(value = "Recipient address information. Required only for FDCCompass.") + @ApiModelProperty(value = "The street address of the recipient This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. ") public String getAddress1() { return address1; } @@ -149,10 +149,10 @@ public Ptsv2payoutsRecipientInformation locality(String locality) { } /** - * Recipient city. Required only for FDCCompass. + * The city of the recipient. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. * @return locality **/ - @ApiModelProperty(value = "Recipient city. Required only for FDCCompass.") + @ApiModelProperty(value = "The city of the recipient. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. ") public String getLocality() { return locality; } @@ -167,10 +167,10 @@ public Ptsv2payoutsRecipientInformation administrativeArea(String administrative } /** - * Recipient State. Required only for FDCCompass. + * The state or province of the recipient. This field is applicable for AFT and OCT transactions when the recipient country is US or CA. Else it is optional. Must be a two character value * @return administrativeArea **/ - @ApiModelProperty(value = "Recipient State. Required only for FDCCompass.") + @ApiModelProperty(value = "The state or province of the recipient. This field is applicable for AFT and OCT transactions when the recipient country is US or CA. Else it is optional. Must be a two character value ") public String getAdministrativeArea() { return administrativeArea; } @@ -185,10 +185,10 @@ public Ptsv2payoutsRecipientInformation country(String country) { } /** - * Recipient country code. Required only for FDCCompass. + * The country associated with the address of the recipient. This field is applicable for AFT and OCT transactions. Must be a two character ISO country code. For example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) * @return country **/ - @ApiModelProperty(value = "Recipient country code. Required only for FDCCompass.") + @ApiModelProperty(value = "The country associated with the address of the recipient. This field is applicable for AFT and OCT transactions. Must be a two character ISO country code. For example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) ") public String getCountry() { return country; } diff --git a/src/main/java/Model/Ptsv2payoutsSenderInformation.java b/src/main/java/Model/Ptsv2payoutsSenderInformation.java index acd75097..b872d25f 100644 --- a/src/main/java/Model/Ptsv2payoutsSenderInformation.java +++ b/src/main/java/Model/Ptsv2payoutsSenderInformation.java @@ -129,10 +129,10 @@ public Ptsv2payoutsSenderInformation firstName(String firstName) { } /** - * First name of sender (Optional). * CTV (14) * Paymentech (30) + * First name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor. * @return firstName **/ - @ApiModelProperty(value = "First name of sender (Optional). * CTV (14) * Paymentech (30) ") + @ApiModelProperty(value = "First name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor. ") public String getFirstName() { return firstName; } @@ -165,10 +165,10 @@ public Ptsv2payoutsSenderInformation middleName(String middleName) { } /** - * 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. + * Middle name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. * @return middleName **/ - @ApiModelProperty(value = "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. ") + @ApiModelProperty(value = "Middle name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. ") public String getMiddleName() { return middleName; } @@ -183,10 +183,10 @@ public Ptsv2payoutsSenderInformation lastName(String lastName) { } /** - * Recipient last name (Optional). * CTV (14) * Paymentech (30) + * Last name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. * @return lastName **/ - @ApiModelProperty(value = "Recipient last name (Optional). * CTV (14) * Paymentech (30) ") + @ApiModelProperty(value = "Last name of the sender. This field is applicable for AFT and OCT transactions. Only alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor. ") public String getLastName() { return lastName; } diff --git a/src/main/java/Model/Ptsv2payoutsSenderInformationAccount.java b/src/main/java/Model/Ptsv2payoutsSenderInformationAccount.java index 126847c8..6ba715e7 100644 --- a/src/main/java/Model/Ptsv2payoutsSenderInformationAccount.java +++ b/src/main/java/Model/Ptsv2payoutsSenderInformationAccount.java @@ -59,10 +59,10 @@ public Ptsv2payoutsSenderInformationAccount number(String number) { } /** - * 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. **Funds disbursements** This field is optional. **All other transactions** This field is required when the sender funds the transaction with a financial instrument, for example debit card. Length: * FDCCompass (<= 19) * Paymentech (<= 16) + * 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. **Funds disbursements and OCT transactions** This field is optional. **All other transactions** This field is required when the sender funds the transaction with a financial instrument, for example debit card. Length: * FDCCompass (<= 19) * Paymentech (<= 16) * @return number **/ - @ApiModelProperty(value = "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. **Funds disbursements** This field is optional. **All other transactions** This field is required when the sender funds the transaction with a financial instrument, for example debit card. Length: * FDCCompass (<= 19) * Paymentech (<= 16) ") + @ApiModelProperty(value = "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. **Funds disbursements and OCT transactions** This field is optional. **All other transactions** This field is required when the sender funds the transaction with a financial instrument, for example debit card. Length: * FDCCompass (<= 19) * Paymentech (<= 16) ") public String getNumber() { return number; } diff --git a/src/main/java/Model/ReplayWebhooksRequest.java b/src/main/java/Model/ReplayWebhooksRequest.java deleted file mode 100644 index c7c69c68..00000000 --- a/src/main/java/Model/ReplayWebhooksRequest.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.Nrtfv1webhookswebhookIdreplaysByDeliveryStatus; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * ReplayWebhooksRequest - */ - -public class ReplayWebhooksRequest { - @SerializedName("byTransactionTraceIdentifiers") - private List byTransactionTraceIdentifiers = null; - - @SerializedName("byDeliveryStatus") - private Nrtfv1webhookswebhookIdreplaysByDeliveryStatus byDeliveryStatus = null; - - public ReplayWebhooksRequest byTransactionTraceIdentifiers(List byTransactionTraceIdentifiers) { - this.byTransactionTraceIdentifiers = byTransactionTraceIdentifiers; - return this; - } - - public ReplayWebhooksRequest addByTransactionTraceIdentifiersItem(String byTransactionTraceIdentifiersItem) { - if (this.byTransactionTraceIdentifiers == null) { - this.byTransactionTraceIdentifiers = new ArrayList(); - } - this.byTransactionTraceIdentifiers.add(byTransactionTraceIdentifiersItem); - return this; - } - - /** - * Get byTransactionTraceIdentifiers - * @return byTransactionTraceIdentifiers - **/ - @ApiModelProperty(value = "") - public List getByTransactionTraceIdentifiers() { - return byTransactionTraceIdentifiers; - } - - public void setByTransactionTraceIdentifiers(List byTransactionTraceIdentifiers) { - this.byTransactionTraceIdentifiers = byTransactionTraceIdentifiers; - } - - public ReplayWebhooksRequest byDeliveryStatus(Nrtfv1webhookswebhookIdreplaysByDeliveryStatus byDeliveryStatus) { - this.byDeliveryStatus = byDeliveryStatus; - return this; - } - - /** - * Get byDeliveryStatus - * @return byDeliveryStatus - **/ - @ApiModelProperty(value = "") - public Nrtfv1webhookswebhookIdreplaysByDeliveryStatus getByDeliveryStatus() { - return byDeliveryStatus; - } - - public void setByDeliveryStatus(Nrtfv1webhookswebhookIdreplaysByDeliveryStatus byDeliveryStatus) { - this.byDeliveryStatus = byDeliveryStatus; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ReplayWebhooksRequest replayWebhooksRequest = (ReplayWebhooksRequest) o; - return Objects.equals(this.byTransactionTraceIdentifiers, replayWebhooksRequest.byTransactionTraceIdentifiers) && - Objects.equals(this.byDeliveryStatus, replayWebhooksRequest.byDeliveryStatus); - } - - @Override - public int hashCode() { - return Objects.hash(byTransactionTraceIdentifiers, byDeliveryStatus); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ReplayWebhooksRequest {\n"); - - if (byTransactionTraceIdentifiers != null) sb.append(" byTransactionTraceIdentifiers: ").append(toIndentedString(byTransactionTraceIdentifiers)).append("\n"); - if (byDeliveryStatus != null) sb.append(" byDeliveryStatus: ").append(toIndentedString(byDeliveryStatus)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/main/java/Model/SaveAsymEgressKey.java b/src/main/java/Model/SaveAsymEgressKey.java index fd38e5c1..2ce5ad76 100644 --- a/src/main/java/Model/SaveAsymEgressKey.java +++ b/src/main/java/Model/SaveAsymEgressKey.java @@ -67,7 +67,7 @@ public SaveAsymEgressKey clientRequestAction(String clientRequestAction) { * Client request action. * @return clientRequestAction **/ - @ApiModelProperty(required = true, value = "Client request action. ") + @ApiModelProperty(value = "Client request action. ") public String getClientRequestAction() { return clientRequestAction; } @@ -85,7 +85,7 @@ public SaveAsymEgressKey keyInformation(Kmsegressv2keysasymKeyInformation keyInf * Get keyInformation * @return keyInformation **/ - @ApiModelProperty(required = true, value = "") + @ApiModelProperty(value = "") public Kmsegressv2keysasymKeyInformation getKeyInformation() { return keyInformation; } diff --git a/src/main/java/Model/SaveSymEgressKey.java b/src/main/java/Model/SaveSymEgressKey.java index 25883aad..53de039a 100644 --- a/src/main/java/Model/SaveSymEgressKey.java +++ b/src/main/java/Model/SaveSymEgressKey.java @@ -67,7 +67,7 @@ public SaveSymEgressKey clientRequestAction(String clientRequestAction) { * Client request action. * @return clientRequestAction **/ - @ApiModelProperty(required = true, value = "Client request action. ") + @ApiModelProperty(value = "Client request action. ") public String getClientRequestAction() { return clientRequestAction; } @@ -85,7 +85,7 @@ public SaveSymEgressKey keyInformation(Kmsegressv2keyssymKeyInformation keyInfor * Get keyInformation * @return keyInformation **/ - @ApiModelProperty(required = true, value = "") + @ApiModelProperty(value = "") public Kmsegressv2keyssymKeyInformation getKeyInformation() { return keyInformation; } diff --git a/src/main/java/Model/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.java b/src/main/java/Model/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.java index 3e260867..b34cd39c 100644 --- a/src/main/java/Model/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.java +++ b/src/main/java/Model/TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.java @@ -41,6 +41,9 @@ public class TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation @SerializedName("phoneNumber") private String phoneNumber = null; + @SerializedName("transactionInformation") + private String transactionInformation = null; + public TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation name(String name) { this.name = name; return this; @@ -113,6 +116,24 @@ public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } + public TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation transactionInformation(String transactionInformation) { + this.transactionInformation = transactionInformation; + return this; + } + + /** + * In a Mastercard Transaction, this field contains the unique identifier (Transaction Link ID) for the first transaction in a transaction life cycle. This ID is crucial for maintaining continuity and linking subsequent operations to the original transaction. + * @return transactionInformation + **/ + @ApiModelProperty(value = "In a Mastercard Transaction, this field contains the unique identifier (Transaction Link ID) for the first transaction in a transaction life cycle. This ID is crucial for maintaining continuity and linking subsequent operations to the original transaction. ") + public String getTransactionInformation() { + return transactionInformation; + } + + public void setTransactionInformation(String transactionInformation) { + this.transactionInformation = transactionInformation; + } + @Override public boolean equals(java.lang.Object o) { @@ -126,12 +147,13 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.name, tssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.name) && Objects.equals(this.country, tssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.country) && Objects.equals(this.binLength, tssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.binLength) && - Objects.equals(this.phoneNumber, tssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.phoneNumber); + Objects.equals(this.phoneNumber, tssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.phoneNumber) && + Objects.equals(this.transactionInformation, tssV2TransactionsGet200ResponsePaymentInformationIssuerInformation.transactionInformation); } @Override public int hashCode() { - return Objects.hash(name, country, binLength, phoneNumber); + return Objects.hash(name, country, binLength, phoneNumber, transactionInformation); } @@ -144,6 +166,7 @@ public String toString() { if (country != null) sb.append(" country: ").append(toIndentedString(country)).append("\n"); if (binLength != null) sb.append(" binLength: ").append(toIndentedString(binLength)).append("\n"); if (phoneNumber != null) sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); + if (transactionInformation != null) sb.append(" transactionInformation: ").append(toIndentedString(transactionInformation)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/Model/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.java b/src/main/java/Model/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.java index 857ab14b..922ba92e 100644 --- a/src/main/java/Model/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.java +++ b/src/main/java/Model/TssV2TransactionsPost201ResponseEmbeddedProcessorInformation.java @@ -33,6 +33,9 @@ public class TssV2TransactionsPost201ResponseEmbeddedProcessorInformation { @SerializedName("processor") private TssV2TransactionsGet200ResponseProcessorInformationProcessor processor = null; + @SerializedName("providerTransactionId") + private String providerTransactionId = null; + @SerializedName("approvalCode") private String approvalCode = null; @@ -57,6 +60,24 @@ public void setProcessor(TssV2TransactionsGet200ResponseProcessorInformationProc this.processor = processor; } + public TssV2TransactionsPost201ResponseEmbeddedProcessorInformation providerTransactionId(String providerTransactionId) { + this.providerTransactionId = providerTransactionId; + return this; + } + + /** + * Unique ID [codigo] generated by the processor for real-time payments processed directly by the Iugu processor. + * @return providerTransactionId + **/ + @ApiModelProperty(value = "Unique ID [codigo] generated by the processor for real-time payments processed directly by the Iugu processor.") + public String getProviderTransactionId() { + return providerTransactionId; + } + + public void setProviderTransactionId(String providerTransactionId) { + this.providerTransactionId = providerTransactionId; + } + public TssV2TransactionsPost201ResponseEmbeddedProcessorInformation approvalCode(String approvalCode) { this.approvalCode = approvalCode; return this; @@ -104,13 +125,14 @@ public boolean equals(java.lang.Object o) { } TssV2TransactionsPost201ResponseEmbeddedProcessorInformation tssV2TransactionsPost201ResponseEmbeddedProcessorInformation = (TssV2TransactionsPost201ResponseEmbeddedProcessorInformation) o; return Objects.equals(this.processor, tssV2TransactionsPost201ResponseEmbeddedProcessorInformation.processor) && + Objects.equals(this.providerTransactionId, tssV2TransactionsPost201ResponseEmbeddedProcessorInformation.providerTransactionId) && Objects.equals(this.approvalCode, tssV2TransactionsPost201ResponseEmbeddedProcessorInformation.approvalCode) && Objects.equals(this.retrievalReferenceNumber, tssV2TransactionsPost201ResponseEmbeddedProcessorInformation.retrievalReferenceNumber); } @Override public int hashCode() { - return Objects.hash(processor, approvalCode, retrievalReferenceNumber); + return Objects.hash(processor, providerTransactionId, approvalCode, retrievalReferenceNumber); } @@ -120,6 +142,7 @@ public String toString() { sb.append("class TssV2TransactionsPost201ResponseEmbeddedProcessorInformation {\n"); if (processor != null) sb.append(" processor: ").append(toIndentedString(processor)).append("\n"); + if (providerTransactionId != null) sb.append(" providerTransactionId: ").append(toIndentedString(providerTransactionId)).append("\n"); if (approvalCode != null) sb.append(" approvalCode: ").append(toIndentedString(approvalCode)).append("\n"); if (retrievalReferenceNumber != null) sb.append(" retrievalReferenceNumber: ").append(toIndentedString(retrievalReferenceNumber)).append("\n"); sb.append("}"); diff --git a/src/main/java/Model/UpdateWebhookRequest.java b/src/main/java/Model/UpdateWebhookRequest.java deleted file mode 100644 index bb652b18..00000000 --- a/src/main/java/Model/UpdateWebhookRequest.java +++ /dev/null @@ -1,369 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Model; - -import java.util.Objects; -import java.util.Arrays; -import Model.Notificationsubscriptionsv1webhooksNotificationScope; -import Model.Notificationsubscriptionsv1webhooksRetryPolicy; -import Model.Notificationsubscriptionsv1webhooksSecurityPolicy; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; -import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * UpdateWebhookRequest - */ - -public class UpdateWebhookRequest { - @SerializedName("name") - private String name = null; - - @SerializedName("description") - private String description = null; - - @SerializedName("organizationId") - private String organizationId = null; - - @SerializedName("productId") - private String productId = null; - - @SerializedName("eventTypes") - private List eventTypes = null; - - @SerializedName("webhookUrl") - private String webhookUrl = null; - - @SerializedName("healthCheckUrl") - private String healthCheckUrl = null; - - @SerializedName("status") - private String status = "INACTIVE"; - - @SerializedName("notificationScope") - private Notificationsubscriptionsv1webhooksNotificationScope notificationScope = null; - - @SerializedName("retryPolicy") - private Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy = null; - - @SerializedName("securityPolicy") - private Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy = null; - - @SerializedName("additionalAttributes") - private List> additionalAttributes = null; - - public UpdateWebhookRequest name(String name) { - this.name = name; - return this; - } - - /** - * Client friendly webhook name. - * @return name - **/ - @ApiModelProperty(value = "Client friendly webhook name.") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public UpdateWebhookRequest description(String description) { - this.description = description; - return this; - } - - /** - * Client friendly webhook description.\\ - * @return description - **/ - @ApiModelProperty(value = "Client friendly webhook description.\\") - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public UpdateWebhookRequest organizationId(String organizationId) { - this.organizationId = organizationId; - return this; - } - - /** - * Organization Id. - * @return organizationId - **/ - @ApiModelProperty(value = "Organization Id.") - public String getOrganizationId() { - return organizationId; - } - - public void setOrganizationId(String organizationId) { - this.organizationId = organizationId; - } - - public UpdateWebhookRequest productId(String productId) { - this.productId = productId; - return this; - } - - /** - * The product you are receiving a webhook for. - * @return productId - **/ - @ApiModelProperty(value = "The product you are receiving a webhook for.") - public String getProductId() { - return productId; - } - - public void setProductId(String productId) { - this.productId = productId; - } - - public UpdateWebhookRequest eventTypes(List eventTypes) { - this.eventTypes = eventTypes; - return this; - } - - public UpdateWebhookRequest addEventTypesItem(String eventTypesItem) { - if (this.eventTypes == null) { - this.eventTypes = new ArrayList(); - } - this.eventTypes.add(eventTypesItem); - return this; - } - - /** - * Array of the different events for a given product id. - * @return eventTypes - **/ - @ApiModelProperty(value = "Array of the different events for a given product id.") - public List getEventTypes() { - return eventTypes; - } - - public void setEventTypes(List eventTypes) { - this.eventTypes = eventTypes; - } - - public UpdateWebhookRequest webhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; - return this; - } - - /** - * The client's endpoint (URL) to receive webhooks. - * @return webhookUrl - **/ - @ApiModelProperty(value = "The client's endpoint (URL) to receive webhooks.") - public String getWebhookUrl() { - return webhookUrl; - } - - public void setWebhookUrl(String webhookUrl) { - this.webhookUrl = webhookUrl; - } - - public UpdateWebhookRequest healthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; - return this; - } - - /** - * The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. - * @return healthCheckUrl - **/ - @ApiModelProperty(value = "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.") - public String getHealthCheckUrl() { - return healthCheckUrl; - } - - public void setHealthCheckUrl(String healthCheckUrl) { - this.healthCheckUrl = healthCheckUrl; - } - - public UpdateWebhookRequest status(String status) { - this.status = status; - return this; - } - - /** - * Webhook status. - * @return status - **/ - @ApiModelProperty(value = "Webhook status.") - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public UpdateWebhookRequest notificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; - return this; - } - - /** - * Get notificationScope - * @return notificationScope - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksNotificationScope getNotificationScope() { - return notificationScope; - } - - public void setNotificationScope(Notificationsubscriptionsv1webhooksNotificationScope notificationScope) { - this.notificationScope = notificationScope; - } - - public UpdateWebhookRequest retryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; - return this; - } - - /** - * Get retryPolicy - * @return retryPolicy - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksRetryPolicy getRetryPolicy() { - return retryPolicy; - } - - public void setRetryPolicy(Notificationsubscriptionsv1webhooksRetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; - } - - public UpdateWebhookRequest securityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; - return this; - } - - /** - * Get securityPolicy - * @return securityPolicy - **/ - @ApiModelProperty(value = "") - public Notificationsubscriptionsv1webhooksSecurityPolicy getSecurityPolicy() { - return securityPolicy; - } - - public void setSecurityPolicy(Notificationsubscriptionsv1webhooksSecurityPolicy securityPolicy) { - this.securityPolicy = securityPolicy; - } - - public UpdateWebhookRequest additionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; - return this; - } - - public UpdateWebhookRequest addAdditionalAttributesItem(Map additionalAttributesItem) { - if (this.additionalAttributes == null) { - this.additionalAttributes = new ArrayList>(); - } - this.additionalAttributes.add(additionalAttributesItem); - return this; - } - - /** - * Additional, free form configuration data. - * @return additionalAttributes - **/ - @ApiModelProperty(value = "Additional, free form configuration data.") - public List> getAdditionalAttributes() { - return additionalAttributes; - } - - public void setAdditionalAttributes(List> additionalAttributes) { - this.additionalAttributes = additionalAttributes; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - UpdateWebhookRequest updateWebhookRequest = (UpdateWebhookRequest) o; - return Objects.equals(this.name, updateWebhookRequest.name) && - Objects.equals(this.description, updateWebhookRequest.description) && - Objects.equals(this.organizationId, updateWebhookRequest.organizationId) && - Objects.equals(this.productId, updateWebhookRequest.productId) && - Objects.equals(this.eventTypes, updateWebhookRequest.eventTypes) && - Objects.equals(this.webhookUrl, updateWebhookRequest.webhookUrl) && - Objects.equals(this.healthCheckUrl, updateWebhookRequest.healthCheckUrl) && - Objects.equals(this.status, updateWebhookRequest.status) && - Objects.equals(this.notificationScope, updateWebhookRequest.notificationScope) && - Objects.equals(this.retryPolicy, updateWebhookRequest.retryPolicy) && - Objects.equals(this.securityPolicy, updateWebhookRequest.securityPolicy) && - Objects.equals(this.additionalAttributes, updateWebhookRequest.additionalAttributes); - } - - @Override - public int hashCode() { - return Objects.hash(name, description, organizationId, productId, eventTypes, webhookUrl, healthCheckUrl, status, notificationScope, retryPolicy, securityPolicy, additionalAttributes); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class UpdateWebhookRequest {\n"); - - if (name != null) sb.append(" name: ").append(toIndentedString(name)).append("\n"); - if (description != null) sb.append(" description: ").append(toIndentedString(description)).append("\n"); - if (organizationId != null) sb.append(" organizationId: ").append(toIndentedString(organizationId)).append("\n"); - if (productId != null) sb.append(" productId: ").append(toIndentedString(productId)).append("\n"); - if (eventTypes != null) sb.append(" eventTypes: ").append(toIndentedString(eventTypes)).append("\n"); - if (webhookUrl != null) sb.append(" webhookUrl: ").append(toIndentedString(webhookUrl)).append("\n"); - if (healthCheckUrl != null) sb.append(" healthCheckUrl: ").append(toIndentedString(healthCheckUrl)).append("\n"); - if (status != null) sb.append(" status: ").append(toIndentedString(status)).append("\n"); - if (notificationScope != null) sb.append(" notificationScope: ").append(toIndentedString(notificationScope)).append("\n"); - if (retryPolicy != null) sb.append(" retryPolicy: ").append(toIndentedString(retryPolicy)).append("\n"); - if (securityPolicy != null) sb.append(" securityPolicy: ").append(toIndentedString(securityPolicy)).append("\n"); - if (additionalAttributes != null) sb.append(" additionalAttributes: ").append(toIndentedString(additionalAttributes)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - // return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/src/test/java/Api/BatchesApiTest.java b/src/test/java/Api/BatchesApiTest.java index 629373a5..1486f368 100644 --- a/src/test/java/Api/BatchesApiTest.java +++ b/src/test/java/Api/BatchesApiTest.java @@ -14,9 +14,9 @@ package Api; import Model.Body; -import Model.InlineResponse2005; -import Model.InlineResponse2006; -import Model.InlineResponse2007; +import Model.InlineResponse2002; +import Model.InlineResponse2003; +import Model.InlineResponse2004; import Model.InlineResponse202; import Model.InlineResponse401; import org.junit.Test; @@ -48,7 +48,7 @@ public class BatchesApiTest { @Test public void getBatchReportTest() throws Exception { String batchId = null; - InlineResponse2007 response = api.getBatchReport(batchId); + InlineResponse2004 response = api.getBatchReport(batchId); // TODO: test validations } @@ -64,7 +64,7 @@ public void getBatchReportTest() throws Exception { @Test public void getBatchStatusTest() throws Exception { String batchId = null; - InlineResponse2006 response = api.getBatchStatus(batchId); + InlineResponse2003 response = api.getBatchStatus(batchId); // TODO: test validations } @@ -83,7 +83,7 @@ public void getBatchesListTest() throws Exception { Long limit = null; String fromDate = null; String toDate = null; - InlineResponse2005 response = api.getBatchesList(offset, limit, fromDate, toDate); + InlineResponse2002 response = api.getBatchesList(offset, limit, fromDate, toDate); // TODO: test validations } diff --git a/src/test/java/Api/CreateNewWebhooksApiTest.java b/src/test/java/Api/CreateNewWebhooksApiTest.java index 084128d9..c67c2b4f 100644 --- a/src/test/java/Api/CreateNewWebhooksApiTest.java +++ b/src/test/java/Api/CreateNewWebhooksApiTest.java @@ -13,10 +13,7 @@ package Api; -import Model.CreateWebhookRequest; -import Model.InlineResponse2002; import Model.InlineResponse2013; -import Model.InlineResponse2014; import Model.SaveSymEgressKey; import org.junit.Test; import org.junit.Ignore; @@ -36,42 +33,10 @@ public class CreateNewWebhooksApiTest { private final CreateNewWebhooksApi api = new CreateNewWebhooksApi(); - /** - * Create a Webhook - * - * 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. You 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. - * - * @throws Exception - * if the Api call fails - */ - @Test - public void createWebhookSubscriptionTest() throws Exception { - CreateWebhookRequest createWebhookRequest = null; - InlineResponse2014 response = api.createWebhookSubscription(createWebhookRequest); - - // TODO: test validations - } - - /** - * Find Products You Can Subscribe To - * - * 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. - * - * @throws Exception - * if the Api call fails - */ - @Test - public void findProductsToSubscribeTest() throws Exception { - String organizationId = null; - List response = api.findProductsToSubscribe(organizationId); - - // TODO: test validations - } - /** * Create Webhook Security Keys * - * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select 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. + * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature. Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remember to save the key in the API response, so that you can use it to validate messages later. * * @throws Exception * if the Api call fails diff --git a/src/test/java/Api/ManageWebhooksApiTest.java b/src/test/java/Api/ManageWebhooksApiTest.java index b3ec7091..0d196729 100644 --- a/src/test/java/Api/ManageWebhooksApiTest.java +++ b/src/test/java/Api/ManageWebhooksApiTest.java @@ -13,12 +13,9 @@ package Api; -import Model.InlineResponse2003; -import Model.InlineResponse2004; +import Model.InlineResponse2014; import Model.InlineResponse2015; -import Model.InlineResponse4042; import Model.SaveAsymEgressKey; -import Model.UpdateWebhookRequest; import org.junit.Test; import org.junit.Ignore; @@ -38,51 +35,17 @@ public class ManageWebhooksApiTest { /** - * Delete a Webhook Subscription + * Test a Webhook Configuration * - * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications. + * Test the webhook configuration by sending a sample webhook. Calling this endpoint sends a sample webhook to the endpoint identified in the user's subscription. It will contain sample values for the product & eventType based on values present in your subscription along with a sample message in the payload. Based on the webhook response users can make any necessary modifications or rest assured knowing their setup is configured correctly. * * @throws Exception * if the Api call fails */ @Test - public void deleteWebhookSubscriptionTest() throws Exception { + public void notificationSubscriptionsV1WebhooksWebhookIdPostTest() throws Exception { String webhookId = null; - api.deleteWebhookSubscription(webhookId); - - // TODO: test validations - } - - /** - * Get Details On a Single Webhook - * - * Retrieve the details of a specific webhook by supplying the webhook ID in the path. - * - * @throws Exception - * if the Api call fails - */ - @Test - public void getWebhookSubscriptionByIdTest() throws Exception { - String webhookId = null; - InlineResponse2004 response = api.getWebhookSubscriptionById(webhookId); - - // TODO: test validations - } - - /** - * Get Details On All Created Webhooks - * - * Retrieve a list of all previously created webhooks. - * - * @throws Exception - * if the Api call fails - */ - @Test - public void getWebhookSubscriptionsByOrgTest() throws Exception { - String organizationId = null; - String productId = null; - String eventType = null; - List response = api.getWebhookSubscriptionsByOrg(organizationId, productId, eventType); + InlineResponse2014 response = api.notificationSubscriptionsV1WebhooksWebhookIdPost(webhookId); // TODO: test validations } @@ -106,21 +69,4 @@ public void saveAsymEgressKeyTest() throws Exception { // TODO: test validations } - /** - * Update a Webhook Subscription - * - * Update the webhook subscription using PATCH. - * - * @throws Exception - * if the Api call fails - */ - @Test - public void updateWebhookSubscriptionTest() throws Exception { - String webhookId = null; - UpdateWebhookRequest updateWebhookRequest = null; - api.updateWebhookSubscription(webhookId, updateWebhookRequest); - - // TODO: test validations - } - } diff --git a/src/test/java/Api/ReplayWebhooksApiTest.java b/src/test/java/Api/ReplayWebhooksApiTest.java deleted file mode 100644 index 72e471a5..00000000 --- a/src/test/java/Api/ReplayWebhooksApiTest.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * CyberSource Merged Spec - * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - * - * OpenAPI spec version: 0.0.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package Api; - -import Model.ReplayWebhooksRequest; -import org.junit.Test; -import org.junit.Ignore; - - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * API tests for ReplayWebhooksApi - */ -@Ignore -public class ReplayWebhooksApiTest { - - private final ReplayWebhooksApi api = new ReplayWebhooksApi(); - - - /** - * Replay Previous Webhooks - * - * Initiate a webhook replay request to replay transactions that happened in the past. Cannot execute more than 1 replay request at a time. While one request is processing, you will not be allowed to execute another replay. The 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. - * - * @throws Exception - * if the Api call fails - */ - @Test - public void replayPreviousWebhooksTest() throws Exception { - String webhookId = null; - ReplayWebhooksRequest replayWebhooksRequest = null; - api.replayPreviousWebhooks(webhookId, replayWebhooksRequest); - - // TODO: test validations - } - -} diff --git a/src/test/java/Api/TransactionBatchesApiTest.java b/src/test/java/Api/TransactionBatchesApiTest.java index bff400e5..ee142391 100644 --- a/src/test/java/Api/TransactionBatchesApiTest.java +++ b/src/test/java/Api/TransactionBatchesApiTest.java @@ -14,7 +14,9 @@ package Api; import org.joda.time.DateTime; +import java.io.File; import org.joda.time.LocalDate; +import Model.Model400UploadBatchFileResponse; import Model.PtsV1TransactionBatchesGet200Response; import Model.PtsV1TransactionBatchesGet400Response; import Model.PtsV1TransactionBatchesGet500Response; @@ -88,4 +90,20 @@ public void getTransactionBatchesTest() throws Exception { // TODO: test validations } + /** + * Upload a Batch File + * + * This endpoint enables the upload of a batch file containing transactions for processing. + * + * @throws Exception + * if the Api call fails + */ + @Test + public void uploadTransactionBatchTest() throws Exception { + File file = null; + api.uploadTransactionBatch(file); + + // TODO: test validations + } + } From 18b0f2a9b510d038c130eb7a9ac004c4e3e987c9 Mon Sep 17 00:00:00 2001 From: gaubansa Date: Sun, 30 Mar 2025 02:59:52 +0530 Subject: [PATCH 3/8] adding code for multipart/form-data content type in sdk for batch upload api --- src/main/java/Invokers/ApiClient.java | 65 +++++++++++++++------------ 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a/src/main/java/Invokers/ApiClient.java b/src/main/java/Invokers/ApiClient.java index 16548d11..4faa660e 100644 --- a/src/main/java/Invokers/ApiClient.java +++ b/src/main/java/Invokers/ApiClient.java @@ -57,6 +57,7 @@ import okhttp3.internal.http.HttpMethod; import okhttp3.logging.HttpLoggingInterceptor; import okhttp3.logging.HttpLoggingInterceptor.Level; +import okio.Buffer; import okio.BufferedSink; import okio.Okio; import org.bouncycastle.jce.provider.BouncyCastleProvider; @@ -1339,8 +1340,15 @@ public Call buildCall(String path, String method, List queryParams, Object } } } + + String contentType = headerParams.get("Content-Type"); + // ensuring a default content type + if (contentType == null) { + contentType = "application/json"; + } + RequestBody requestbody = createRequestBody(method, body, formParams, contentType); - callAuthenticationHeader(method, path, body, queryParams, requestHeaderMap); + callAuthenticationHeader(method, path, requestbody, queryParams, requestHeaderMap); if (merchantConfig.isEnableClientCert()) { addClientCertToKeyStore(); @@ -1357,17 +1365,27 @@ public Call buildCall(String path, String method, List queryParams, Object logger.info("Request Header Parameters:\n{}", new PrettyPrintingMap(headerParams)); - Request request = buildRequest(path, method, queryParams, body, headerParams, formParams, authNames, + Request request = buildRequest(path, method, queryParams, requestbody, headerParams, formParams, authNames, progressRequestListener); return httpClient.newCall(request); } + + private String getRequestContentSendOverNetwork(RequestBody requestBody) throws IOException { + if(requestBody!=null) { + Buffer buffer = new Buffer(); + requestBody.writeTo(buffer); + String payload = buffer.readUtf8(); + return payload; + } + return null; + } /* * Purpose : This function calling the Authentication and making an Auth Header * */ - public void callAuthenticationHeader(String method, String path, Object body, List queryParams, Map requestHeaderMap) { + public void callAuthenticationHeader(String method, String path, RequestBody reqBody, List queryParams, Map requestHeaderMap) { try { String requestTarget = null; @@ -1399,14 +1417,7 @@ public void callAuthenticationHeader(String method, String path, Object body, Li Authorization authorization = new Authorization(); - String requestBody = null; - if ((method.equalsIgnoreCase("POST") || method.equalsIgnoreCase("PUT") || - method.equalsIgnoreCase("PATCH")) - && body.equals("{}")) { - requestBody = "{}"; - } else { - requestBody = json.serialize(body); - } + String requestBody = getRequestContentSendOverNetwork(reqBody); logger.debug("HTTP Request Body:\n" + requestBody); boolean isMerchantDetails = merchantConfig.validateMerchantDetails(method); @@ -1443,7 +1454,7 @@ public void callAuthenticationHeader(String method, String path, Object body, Li requestHeaderMap.put("v-c-client-id", "cybs-rest-sdk-java-" + versionInfo); } - } catch (ConfigException e) { + } catch (ConfigException | IOException e) { logger.error(e.getMessage()); } @@ -1465,7 +1476,7 @@ public void callAuthenticationHeader(String method, String path, Object body, Li * @throws ApiException If fail to serialize the request body object */ @SuppressWarnings({ "unchecked" }) - public Request buildRequest(String path, String method, List queryParams, Object body, + public Request buildRequest(String path, String method, List queryParams, RequestBody reqBody, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { updateParamsForAuth(authNames, queryParams, headerParams); @@ -1474,12 +1485,20 @@ public Request buildRequest(String path, String method, List queryParams, final Request.Builder reqBuilder = new Request.Builder().url(url); processHeaderParams(headerParams, reqBuilder); - String contentType = headerParams.get("Content-Type"); - // ensuring a default content type - if (contentType == null) { - contentType = "application/json"; + Request request = null; + + if (progressRequestListener != null && reqBody != null) { + ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener); + request = reqBuilder.method(method, progressRequestBody).build(); + } else { + request = reqBuilder.method(method, reqBody).build(); } + return request; + } + + private RequestBody createRequestBody(String method, Object body, Map formParams, + String contentType) throws ApiException { RequestBody reqBody; if (!HttpMethod.permitsRequestBody(method)) { reqBody = null; @@ -1506,17 +1525,7 @@ public Request buildRequest(String path, String method, List queryParams, reqBody = serialize(body, contentType); } } - - Request request = null; - - if (progressRequestListener != null && reqBody != null) { - ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener); - request = reqBuilder.method(method, progressRequestBody).build(); - } else { - request = reqBuilder.method(method, reqBody).build(); - } - - return request; + return reqBody; } /** From 9425c92e455b7e36ed9bc720824441f9e9777e27 Mon Sep 17 00:00:00 2001 From: gaubansa Date: Sun, 30 Mar 2025 03:10:36 +0530 Subject: [PATCH 4/8] adding changes for multipart form data in mustache file --- .../libraries/okhttp-gson/ApiClient.mustache | 67 +++++++++++-------- src/main/java/Invokers/ApiClient.java | 4 +- 2 files changed, 40 insertions(+), 31 deletions(-) diff --git a/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache b/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache index 16548d11..04c4b10c 100644 --- a/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache +++ b/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache @@ -57,6 +57,7 @@ import okhttp3.Route; import okhttp3.internal.http.HttpMethod; import okhttp3.logging.HttpLoggingInterceptor; import okhttp3.logging.HttpLoggingInterceptor.Level; +import okio.Buffer; import okio.BufferedSink; import okio.Okio; import org.bouncycastle.jce.provider.BouncyCastleProvider; @@ -1339,8 +1340,15 @@ public class ApiClient { } } } - - callAuthenticationHeader(method, path, body, queryParams, requestHeaderMap); + + String contentType = headerParams.get("Content-Type"); + // ensuring a default content type + if (contentType == null) { + contentType = "application/json"; + } + RequestBody requestbody = createRequestBody(method, body, formParams, contentType); + + callAuthenticationHeader(method, path, requestbody, queryParams, requestHeaderMap); if (merchantConfig.isEnableClientCert()) { addClientCertToKeyStore(); @@ -1357,17 +1365,27 @@ public class ApiClient { logger.info("Request Header Parameters:\n{}", new PrettyPrintingMap(headerParams)); - Request request = buildRequest(path, method, queryParams, body, headerParams, formParams, authNames, + Request request = buildRequest(path, method, queryParams, requestbody, headerParams, formParams, authNames, progressRequestListener); return httpClient.newCall(request); } + + private String getRequestContentSendOverNetwork(RequestBody requestBody) throws IOException { + if(requestBody!=null) { + Buffer buffer = new Buffer(); + requestBody.writeTo(buffer); + String payload = buffer.readUtf8(); + return payload; + } + return null; + } /* * Purpose : This function calling the Authentication and making an Auth Header * */ - public void callAuthenticationHeader(String method, String path, Object body, List queryParams, Map requestHeaderMap) { + public void callAuthenticationHeader(String method, String path, RequestBody reqBody, List queryParams, Map requestHeaderMap) { try { String requestTarget = null; @@ -1399,14 +1417,7 @@ public class ApiClient { Authorization authorization = new Authorization(); - String requestBody = null; - if ((method.equalsIgnoreCase("POST") || method.equalsIgnoreCase("PUT") || - method.equalsIgnoreCase("PATCH")) - && body.equals("{}")) { - requestBody = "{}"; - } else { - requestBody = json.serialize(body); - } + String requestBody = getRequestContentSendOverNetwork(reqBody); logger.debug("HTTP Request Body:\n" + requestBody); boolean isMerchantDetails = merchantConfig.validateMerchantDetails(method); @@ -1443,7 +1454,7 @@ public class ApiClient { requestHeaderMap.put("v-c-client-id", "cybs-rest-sdk-java-" + versionInfo); } - } catch (ConfigException e) { + } catch (ConfigException | IOException e) { logger.error(e.getMessage()); } @@ -1465,7 +1476,7 @@ public class ApiClient { * @throws ApiException If fail to serialize the request body object */ @SuppressWarnings({ "unchecked" }) - public Request buildRequest(String path, String method, List queryParams, Object body, + public Request buildRequest(String path, String method, List queryParams, RequestBody reqBody, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { updateParamsForAuth(authNames, queryParams, headerParams); @@ -1474,12 +1485,20 @@ public class ApiClient { final Request.Builder reqBuilder = new Request.Builder().url(url); processHeaderParams(headerParams, reqBuilder); - String contentType = headerParams.get("Content-Type"); - // ensuring a default content type - if (contentType == null) { - contentType = "application/json"; + Request request = null; + + if (progressRequestListener != null && reqBody != null) { + ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener); + request = reqBuilder.method(method, progressRequestBody).build(); + } else { + request = reqBuilder.method(method, reqBody).build(); } + return request; + } + + private RequestBody createRequestBody(String method, Object body, Map formParams, + String contentType) throws ApiException { RequestBody reqBody; if (!HttpMethod.permitsRequestBody(method)) { reqBody = null; @@ -1506,17 +1525,7 @@ public class ApiClient { reqBody = serialize(body, contentType); } } - - Request request = null; - - if (progressRequestListener != null && reqBody != null) { - ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener); - request = reqBuilder.method(method, progressRequestBody).build(); - } else { - request = reqBuilder.method(method, reqBody).build(); - } - - return request; + return reqBody; } /** diff --git a/src/main/java/Invokers/ApiClient.java b/src/main/java/Invokers/ApiClient.java index 4faa660e..04c4b10c 100644 --- a/src/main/java/Invokers/ApiClient.java +++ b/src/main/java/Invokers/ApiClient.java @@ -1347,7 +1347,7 @@ public Call buildCall(String path, String method, List queryParams, Object contentType = "application/json"; } RequestBody requestbody = createRequestBody(method, body, formParams, contentType); - + callAuthenticationHeader(method, path, requestbody, queryParams, requestHeaderMap); if (merchantConfig.isEnableClientCert()) { @@ -1496,7 +1496,7 @@ public Request buildRequest(String path, String method, List queryParams, return request; } - + private RequestBody createRequestBody(String method, Object body, Map formParams, String contentType) throws ApiException { RequestBody reqBody; From 308a8b77885dc8cccac3ef53aa840e7a164d9bd6 Mon Sep 17 00:00:00 2001 From: gaubansa Date: Tue, 1 Apr 2025 10:42:42 +0530 Subject: [PATCH 5/8] updating the function which is deprecated --- src/main/java/Invokers/ApiClient.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/Invokers/ApiClient.java b/src/main/java/Invokers/ApiClient.java index 04c4b10c..2823f55a 100644 --- a/src/main/java/Invokers/ApiClient.java +++ b/src/main/java/Invokers/ApiClient.java @@ -1091,10 +1091,10 @@ public T deserialize(Response response, Type returnType) throws ApiException public RequestBody serialize(Object obj, String contentType) throws ApiException { if (obj instanceof byte[]) { // Binary (byte array) body parameter support. - return RequestBody.create(MediaType.parse(contentType), (byte[]) obj); + return RequestBody.create((byte[]) obj, MediaType.parse(contentType)); } else if (obj instanceof File) { // File body parameter support. - return RequestBody.create(MediaType.parse(contentType), (File) obj); + return RequestBody.create((File) obj, MediaType.parse(contentType)); } else if (isJsonMime(contentType)) { String content; if (obj != null) { @@ -1102,7 +1102,7 @@ public RequestBody serialize(Object obj, String contentType) throws ApiException } else { content = null; } - return RequestBody.create(MediaType.parse(contentType), content); + return RequestBody.create(content, MediaType.parse(contentType)); } else { logger.error("ApiException : Content type \"" + contentType + "\" is not supported"); throw new ApiException("Content type \"" + contentType + "\" is not supported"); @@ -1516,7 +1516,7 @@ private RequestBody createRequestBody(String method, Object body, Map formParams) { Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\"; filename=\"" + file.getName() + "\""); MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file)); - mpBuilder.addPart(partHeaders, RequestBody.create(mediaType, file)); + mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } else { Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(null, parameterToString(param.getValue()))); + mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); } } return mpBuilder.build(); From 1d8cd8bed751d5ab3b2991dada7ff1615002587e Mon Sep 17 00:00:00 2001 From: gaubansa Date: Tue, 1 Apr 2025 13:52:18 +0530 Subject: [PATCH 6/8] changes added in mustache for updating deprecated function --- .../libraries/okhttp-gson/ApiClient.mustache | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache b/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache index 04c4b10c..2823f55a 100644 --- a/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache +++ b/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache @@ -1091,10 +1091,10 @@ public class ApiClient { public RequestBody serialize(Object obj, String contentType) throws ApiException { if (obj instanceof byte[]) { // Binary (byte array) body parameter support. - return RequestBody.create(MediaType.parse(contentType), (byte[]) obj); + return RequestBody.create((byte[]) obj, MediaType.parse(contentType)); } else if (obj instanceof File) { // File body parameter support. - return RequestBody.create(MediaType.parse(contentType), (File) obj); + return RequestBody.create((File) obj, MediaType.parse(contentType)); } else if (isJsonMime(contentType)) { String content; if (obj != null) { @@ -1102,7 +1102,7 @@ public class ApiClient { } else { content = null; } - return RequestBody.create(MediaType.parse(contentType), content); + return RequestBody.create(content, MediaType.parse(contentType)); } else { logger.error("ApiException : Content type \"" + contentType + "\" is not supported"); throw new ApiException("Content type \"" + contentType + "\" is not supported"); @@ -1516,7 +1516,7 @@ public class ApiClient { reqBody = null; } else { // use an empty request body (for POST, PUT and PATCH) - reqBody = RequestBody.create(MediaType.parse(contentType), ""); + reqBody = RequestBody.create("",MediaType.parse(contentType)); } } else { if (body.equals("{}")) { @@ -1636,10 +1636,10 @@ public class ApiClient { Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\"; filename=\"" + file.getName() + "\""); MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file)); - mpBuilder.addPart(partHeaders, RequestBody.create(mediaType, file)); + mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } else { Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(null, parameterToString(param.getValue()))); + mpBuilder.addPart(partHeaders, RequestBody.create(parameterToString(param.getValue()), null)); } } return mpBuilder.build(); From 87365cb5fec0a241d67ab3e0d05efa061715214e Mon Sep 17 00:00:00 2001 From: gaubansa Date: Tue, 1 Apr 2025 14:11:21 +0530 Subject: [PATCH 7/8] fixing doc generation warnings --- .../libraries/okhttp-gson/ApiClient.mustache | 3 +-- .../libraries/okhttp-gson/ApiResponse.mustache | 4 +++- src/main/java/Invokers/ApiClient.java | 3 +-- src/main/java/Invokers/ApiResponse.java | 4 +++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache b/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache index 2823f55a..b7d6a6bb 100644 --- a/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache +++ b/generator/cybersource-java-template/libraries/okhttp-gson/ApiClient.mustache @@ -517,7 +517,6 @@ public class ApiClient { *

* When lenientDatetimeFormat is enabled, the following ISO 8601 datetime * formats are supported: - *

*

    *
  • 2015-08-16T08:20:05Z
  • *
  • 2015-8-16T8:20:05Z
  • @@ -1467,7 +1466,7 @@ public class ApiClient { * @param method The request method, one of "GET", "HEAD", * "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" * @param queryParams The query parameters - * @param body The request body object + * @param reqBody The request body object * @param headerParams The header parameters * @param formParams The form parameters * @param authNames The authentications to apply diff --git a/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache b/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache index ac923a40..f1b59e74 100644 --- a/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache +++ b/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache @@ -19,6 +19,7 @@ public class ApiResponse { /** * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response + * @param message The status message of HTTP response */ public ApiResponse(int statusCode, Map> headers, String message) { this(statusCode, headers, message, null); @@ -27,7 +28,8 @@ public class ApiResponse { /** * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response - * @param data The object deserialized from response bod + * @param message The status message of HTTP response + * @param data The object deserialized from response body */ public ApiResponse(int statusCode, Map> headers, String message, T data) { this.statusCode = statusCode; diff --git a/src/main/java/Invokers/ApiClient.java b/src/main/java/Invokers/ApiClient.java index 2823f55a..b7d6a6bb 100644 --- a/src/main/java/Invokers/ApiClient.java +++ b/src/main/java/Invokers/ApiClient.java @@ -517,7 +517,6 @@ public Date parseDate(String str) { *

    * When lenientDatetimeFormat is enabled, the following ISO 8601 datetime * formats are supported: - *

    *

      *
    • 2015-08-16T08:20:05Z
    • *
    • 2015-8-16T8:20:05Z
    • @@ -1467,7 +1466,7 @@ public void callAuthenticationHeader(String method, String path, RequestBody req * @param method The request method, one of "GET", "HEAD", * "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" * @param queryParams The query parameters - * @param body The request body object + * @param reqBody The request body object * @param headerParams The header parameters * @param formParams The form parameters * @param authNames The authentications to apply diff --git a/src/main/java/Invokers/ApiResponse.java b/src/main/java/Invokers/ApiResponse.java index de9e19ef..7485a506 100644 --- a/src/main/java/Invokers/ApiResponse.java +++ b/src/main/java/Invokers/ApiResponse.java @@ -30,6 +30,7 @@ public class ApiResponse { /** * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response + * @param message The status message of HTTP response */ public ApiResponse(int statusCode, Map> headers, String message) { this(statusCode, headers, message, null); @@ -38,7 +39,8 @@ public ApiResponse(int statusCode, Map> headers, String mes /** * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response - * @param data The object deserialized from response bod + * @param message The status message of HTTP response + * @param data The object deserialized from response body */ public ApiResponse(int statusCode, Map> headers, String message, T data) { this.statusCode = statusCode; From 5acc7d7db0ece267a513a9c6bd0c239d0e792e1a Mon Sep 17 00:00:00 2001 From: gaubansa Date: Tue, 1 Apr 2025 14:15:58 +0530 Subject: [PATCH 8/8] indentation fix --- .../libraries/okhttp-gson/ApiResponse.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache b/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache index f1b59e74..a8afac28 100644 --- a/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache +++ b/generator/cybersource-java-template/libraries/okhttp-gson/ApiResponse.mustache @@ -19,7 +19,7 @@ public class ApiResponse { /** * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response - * @param message The status message of HTTP response + * @param message The status message of HTTP response */ public ApiResponse(int statusCode, Map> headers, String message) { this(statusCode, headers, message, null); @@ -28,7 +28,7 @@ public class ApiResponse { /** * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response - * @param message The status message of HTTP response + * @param message The status message of HTTP response * @param data The object deserialized from response body */ public ApiResponse(int statusCode, Map> headers, String message, T data) {