diff --git a/CyberSource/__init__.py b/CyberSource/__init__.py
index af1150b1..9023d5a1 100644
--- a/CyberSource/__init__.py
+++ b/CyberSource/__init__.py
@@ -91,6 +91,7 @@
from .models.create_credit_request import CreateCreditRequest
from .models.create_invoice_request import CreateInvoiceRequest
from .models.create_order_request import CreateOrderRequest
+from .models.create_payment_link_request import CreatePaymentLinkRequest
from .models.create_payment_request import CreatePaymentRequest
from .models.create_plan_request import CreatePlanRequest
from .models.create_plan_response import CreatePlanResponse
@@ -100,9 +101,11 @@
from .models.create_session_req import CreateSessionReq
from .models.create_session_request import CreateSessionRequest
from .models.create_subscription_request import CreateSubscriptionRequest
+from .models.create_subscription_request1 import CreateSubscriptionRequest1
from .models.create_subscription_response import CreateSubscriptionResponse
from .models.create_subscription_response_links import CreateSubscriptionResponseLinks
from .models.create_subscription_response_subscription_information import CreateSubscriptionResponseSubscriptionInformation
+from .models.create_webhook import CreateWebhook
from .models.delete_plan_response import DeletePlanResponse
from .models.dm_config import DmConfig
from .models.dm_config_organization import DmConfigOrganization
@@ -167,34 +170,46 @@
from .models.get_plan_response import GetPlanResponse
from .models.get_subscription_code_response import GetSubscriptionCodeResponse
from .models.get_subscription_response import GetSubscriptionResponse
+from .models.get_subscription_response1 import GetSubscriptionResponse1
+from .models.get_subscription_response1_buyer_information import GetSubscriptionResponse1BuyerInformation
+from .models.get_subscription_response1_links import GetSubscriptionResponse1Links
+from .models.get_subscription_response1_payment_instrument import GetSubscriptionResponse1PaymentInstrument
+from .models.get_subscription_response1_payment_instrument_bank_account import GetSubscriptionResponse1PaymentInstrumentBankAccount
+from .models.get_subscription_response1_payment_instrument_buyer_information import GetSubscriptionResponse1PaymentInstrumentBuyerInformation
+from .models.get_subscription_response1_payment_instrument_card import GetSubscriptionResponse1PaymentInstrumentCard
+from .models.get_subscription_response1_shipping_address import GetSubscriptionResponse1ShippingAddress
from .models.increment_auth_request import IncrementAuthRequest
from .models.inline_response200 import InlineResponse200
from .models.inline_response2001 import InlineResponse2001
-from .models.inline_response2001_integration_information import InlineResponse2001IntegrationInformation
-from .models.inline_response2001_integration_information_tenant_configurations import InlineResponse2001IntegrationInformationTenantConfigurations
+from .models.inline_response2001_embedded import InlineResponse2001Embedded
+from .models.inline_response2001_embedded_capture import InlineResponse2001EmbeddedCapture
+from .models.inline_response2001_embedded_capture_links import InlineResponse2001EmbeddedCaptureLinks
+from .models.inline_response2001_embedded_capture_links_self import InlineResponse2001EmbeddedCaptureLinksSelf
+from .models.inline_response2001_embedded_reversal import InlineResponse2001EmbeddedReversal
+from .models.inline_response2001_embedded_reversal_links import InlineResponse2001EmbeddedReversalLinks
+from .models.inline_response2001_embedded_reversal_links_self import InlineResponse2001EmbeddedReversalLinksSelf
from .models.inline_response2002 import InlineResponse2002
-from .models.inline_response2002_embedded import InlineResponse2002Embedded
-from .models.inline_response2002_embedded_batches import InlineResponse2002EmbeddedBatches
-from .models.inline_response2002_embedded_links import InlineResponse2002EmbeddedLinks
-from .models.inline_response2002_embedded_links_reports import InlineResponse2002EmbeddedLinksReports
-from .models.inline_response2002_embedded_totals import InlineResponse2002EmbeddedTotals
-from .models.inline_response2002_links import InlineResponse2002Links
+from .models.inline_response2002_integration_information import InlineResponse2002IntegrationInformation
+from .models.inline_response2002_integration_information_tenant_configurations import InlineResponse2002IntegrationInformationTenantConfigurations
from .models.inline_response2003 import InlineResponse2003
-from .models.inline_response2003_billing import InlineResponse2003Billing
-from .models.inline_response2003_links import InlineResponse2003Links
-from .models.inline_response2003_links_report import InlineResponse2003LinksReport
from .models.inline_response2004 import InlineResponse2004
-from .models.inline_response2004_records import InlineResponse2004Records
-from .models.inline_response2004_response_record import InlineResponse2004ResponseRecord
-from .models.inline_response2004_response_record_additional_updates import InlineResponse2004ResponseRecordAdditionalUpdates
-from .models.inline_response2004_source_record import InlineResponse2004SourceRecord
-from .models.inline_response200_embedded import InlineResponse200Embedded
-from .models.inline_response200_embedded_capture import InlineResponse200EmbeddedCapture
-from .models.inline_response200_embedded_capture_links import InlineResponse200EmbeddedCaptureLinks
-from .models.inline_response200_embedded_capture_links_self import InlineResponse200EmbeddedCaptureLinksSelf
-from .models.inline_response200_embedded_reversal import InlineResponse200EmbeddedReversal
-from .models.inline_response200_embedded_reversal_links import InlineResponse200EmbeddedReversalLinks
-from .models.inline_response200_embedded_reversal_links_self import InlineResponse200EmbeddedReversalLinksSelf
+from .models.inline_response2005 import InlineResponse2005
+from .models.inline_response2005_embedded import InlineResponse2005Embedded
+from .models.inline_response2005_embedded_batches import InlineResponse2005EmbeddedBatches
+from .models.inline_response2005_embedded_links import InlineResponse2005EmbeddedLinks
+from .models.inline_response2005_embedded_links_reports import InlineResponse2005EmbeddedLinksReports
+from .models.inline_response2005_embedded_totals import InlineResponse2005EmbeddedTotals
+from .models.inline_response2005_links import InlineResponse2005Links
+from .models.inline_response2006 import InlineResponse2006
+from .models.inline_response2006_billing import InlineResponse2006Billing
+from .models.inline_response2006_links import InlineResponse2006Links
+from .models.inline_response2006_links_report import InlineResponse2006LinksReport
+from .models.inline_response2007 import InlineResponse2007
+from .models.inline_response2007_records import InlineResponse2007Records
+from .models.inline_response2007_response_record import InlineResponse2007ResponseRecord
+from .models.inline_response2007_response_record_additional_updates import InlineResponse2007ResponseRecordAdditionalUpdates
+from .models.inline_response2007_source_record import InlineResponse2007SourceRecord
+from .models.inline_response200_content import InlineResponse200Content
from .models.inline_response201 import InlineResponse201
from .models.inline_response2011 import InlineResponse2011
from .models.inline_response2011_payout_information import InlineResponse2011PayoutInformation
@@ -220,9 +235,10 @@
from .models.inline_response2013_key_information_error_information import InlineResponse2013KeyInformationErrorInformation
from .models.inline_response2013_key_information_error_information_details import InlineResponse2013KeyInformationErrorInformationDetails
from .models.inline_response2014 import InlineResponse2014
-from .models.inline_response2014_payloads import InlineResponse2014Payloads
-from .models.inline_response2014_payloads_test_payload import InlineResponse2014PayloadsTestPayload
from .models.inline_response2015 import InlineResponse2015
+from .models.inline_response2015_payloads import InlineResponse2015Payloads
+from .models.inline_response2015_payloads_test_payload import InlineResponse2015PayloadsTestPayload
+from .models.inline_response2016 import InlineResponse2016
from .models.inline_response202 import InlineResponse202
from .models.inline_response202_links import InlineResponse202Links
from .models.inline_response202_links_status import InlineResponse202LinksStatus
@@ -233,9 +249,10 @@
from .models.inline_response4003 import InlineResponse4003
from .models.inline_response4004 import InlineResponse4004
from .models.inline_response4005 import InlineResponse4005
-from .models.inline_response4005_fields import InlineResponse4005Fields
from .models.inline_response4006 import InlineResponse4006
-from .models.inline_response4006_details import InlineResponse4006Details
+from .models.inline_response4006_fields import InlineResponse4006Fields
+from .models.inline_response4007 import InlineResponse4007
+from .models.inline_response4007_details import InlineResponse4007Details
from .models.inline_response400_details import InlineResponse400Details
from .models.inline_response400_errors import InlineResponse400Errors
from .models.inline_response401 import InlineResponse401
@@ -247,6 +264,8 @@
from .models.inline_response403_errors import InlineResponse403Errors
from .models.inline_response404 import InlineResponse404
from .models.inline_response4041 import InlineResponse4041
+from .models.inline_response4042 import InlineResponse4042
+from .models.inline_response4042_details import InlineResponse4042Details
from .models.inline_response409 import InlineResponse409
from .models.inline_response409_errors import InlineResponse409Errors
from .models.inline_response410 import InlineResponse410
@@ -283,6 +302,7 @@
from .models.invoicing_v2_invoices_all_get400_response import InvoicingV2InvoicesAllGet400Response
from .models.invoicing_v2_invoices_all_get404_response import InvoicingV2InvoicesAllGet404Response
from .models.invoicing_v2_invoices_all_get502_response import InvoicingV2InvoicesAllGet502Response
+from .models.invoicing_v2_invoices_cancel200_response import InvoicingV2InvoicesCancel200Response
from .models.invoicing_v2_invoices_get200_response import InvoicingV2InvoicesGet200Response
from .models.invoicing_v2_invoices_get200_response_invoice_history import InvoicingV2InvoicesGet200ResponseInvoiceHistory
from .models.invoicing_v2_invoices_get200_response_transaction_details import InvoicingV2InvoicesGet200ResponseTransactionDetails
@@ -291,7 +311,11 @@
from .models.invoicing_v2_invoices_post201_response_order_information import InvoicingV2InvoicesPost201ResponseOrderInformation
from .models.invoicing_v2_invoices_post201_response_order_information_amount_details import InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails
from .models.invoicing_v2_invoices_post202_response import InvoicingV2InvoicesPost202Response
+from .models.invoicing_v2_invoices_put200_response import InvoicingV2InvoicesPut200Response
+from .models.invoicing_v2_invoices_send200_response import InvoicingV2InvoicesSend200Response
from .models.invoicingv2invoice_settings_invoice_settings_information import Invoicingv2invoiceSettingsInvoiceSettingsInformation
+from .models.invoicingv2invoices_client_reference_information import Invoicingv2invoicesClientReferenceInformation
+from .models.invoicingv2invoices_client_reference_information_partner import Invoicingv2invoicesClientReferenceInformationPartner
from .models.invoicingv2invoices_customer_information import Invoicingv2invoicesCustomerInformation
from .models.invoicingv2invoices_customer_information_company import Invoicingv2invoicesCustomerInformationCompany
from .models.invoicingv2invoices_invoice_information import Invoicingv2invoicesInvoiceInformation
@@ -300,7 +324,16 @@
from .models.invoicingv2invoices_order_information_amount_details_freight import Invoicingv2invoicesOrderInformationAmountDetailsFreight
from .models.invoicingv2invoices_order_information_amount_details_tax_details import Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails
from .models.invoicingv2invoices_order_information_line_items import Invoicingv2invoicesOrderInformationLineItems
+from .models.invoicingv2invoices_processing_information import Invoicingv2invoicesProcessingInformation
from .models.invoicingv2invoicesid_invoice_information import Invoicingv2invoicesidInvoiceInformation
+from .models.iplv2paymentlinks_order_information import Iplv2paymentlinksOrderInformation
+from .models.iplv2paymentlinks_order_information_amount_details import Iplv2paymentlinksOrderInformationAmountDetails
+from .models.iplv2paymentlinks_order_information_line_items import Iplv2paymentlinksOrderInformationLineItems
+from .models.iplv2paymentlinks_processing_information import Iplv2paymentlinksProcessingInformation
+from .models.iplv2paymentlinks_purchase_information import Iplv2paymentlinksPurchaseInformation
+from .models.iplv2paymentlinksid_order_information import Iplv2paymentlinksidOrderInformation
+from .models.iplv2paymentlinksid_processing_information import Iplv2paymentlinksidProcessingInformation
+from .models.iplv2paymentlinksid_purchase_information import Iplv2paymentlinksidPurchaseInformation
from .models.kmsegressv2keysasym_client_reference_information import Kmsegressv2keysasymClientReferenceInformation
from .models.kmsegressv2keysasym_key_information import Kmsegressv2keysasymKeyInformation
from .models.kmsegressv2keyssym_client_reference_information import Kmsegressv2keyssymClientReferenceInformation
@@ -315,6 +348,15 @@
from .models.network_token_services_enablement import NetworkTokenServicesEnablement
from .models.network_token_services_enablement_mastercard_digital_enablement_service import NetworkTokenServicesEnablementMastercardDigitalEnablementService
from .models.network_token_services_enablement_visa_token_service import NetworkTokenServicesEnablementVisaTokenService
+from .models.notificationsubscriptionsv2productsorganization_id_event_types import Notificationsubscriptionsv2productsorganizationIdEventTypes
+from .models.notificationsubscriptionsv2webhooks_products import Notificationsubscriptionsv2webhooksProducts
+from .models.notificationsubscriptionsv2webhooks_products1 import Notificationsubscriptionsv2webhooksProducts1
+from .models.notificationsubscriptionsv2webhooks_retry_policy import Notificationsubscriptionsv2webhooksRetryPolicy
+from .models.notificationsubscriptionsv2webhooks_security_policy import Notificationsubscriptionsv2webhooksSecurityPolicy
+from .models.notificationsubscriptionsv2webhooks_security_policy1 import Notificationsubscriptionsv2webhooksSecurityPolicy1
+from .models.notificationsubscriptionsv2webhooks_security_policy1_config import Notificationsubscriptionsv2webhooksSecurityPolicy1Config
+from .models.notificationsubscriptionsv2webhooks_security_policy1_config_additional_config import Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig
+from .models.notificationsubscriptionsv2webhooks_security_policy_config import Notificationsubscriptionsv2webhooksSecurityPolicyConfig
from .models.oct_create_payment_request import OctCreatePaymentRequest
from .models.order_payment_request import OrderPaymentRequest
from .models.patch_customer_payment_instrument_request import PatchCustomerPaymentInstrumentRequest
@@ -386,6 +428,20 @@
from .models.payments_products_virtual_terminal import PaymentsProductsVirtualTerminal
from .models.payments_products_virtual_terminal_configuration_information import PaymentsProductsVirtualTerminalConfigurationInformation
from .models.payments_strong_auth_issuer_information import PaymentsStrongAuthIssuerInformation
+from .models.pbl_payment_links_all_get200_response import PblPaymentLinksAllGet200Response
+from .models.pbl_payment_links_all_get200_response_order_information import PblPaymentLinksAllGet200ResponseOrderInformation
+from .models.pbl_payment_links_all_get200_response_order_information_amount_details import PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+from .models.pbl_payment_links_all_get200_response_order_information_line_items import PblPaymentLinksAllGet200ResponseOrderInformationLineItems
+from .models.pbl_payment_links_all_get200_response_processing_information import PblPaymentLinksAllGet200ResponseProcessingInformation
+from .models.pbl_payment_links_all_get200_response_purchase_information import PblPaymentLinksAllGet200ResponsePurchaseInformation
+from .models.pbl_payment_links_all_get200_response_sdk_links import PblPaymentLinksAllGet200ResponseSdkLinks
+from .models.pbl_payment_links_all_get400_response import PblPaymentLinksAllGet400Response
+from .models.pbl_payment_links_all_get404_response import PblPaymentLinksAllGet404Response
+from .models.pbl_payment_links_get200_response import PblPaymentLinksGet200Response
+from .models.pbl_payment_links_post201_response import PblPaymentLinksPost201Response
+from .models.pbl_payment_links_post201_response_links import PblPaymentLinksPost201ResponseLinks
+from .models.pbl_payment_links_post201_response_order_information import PblPaymentLinksPost201ResponseOrderInformation
+from .models.pbl_payment_links_post201_response_purchase_information import PblPaymentLinksPost201ResponsePurchaseInformation
from .models.post_customer_payment_instrument_request import PostCustomerPaymentInstrumentRequest
from .models.post_customer_request import PostCustomerRequest
from .models.post_customer_shipping_address_request import PostCustomerShippingAddressRequest
@@ -1224,6 +1280,7 @@
from .models.tmsv2customers_metadata import Tmsv2customersMetadata
from .models.tmsv2customers_object_information import Tmsv2customersObjectInformation
from .models.token_permissions import TokenPermissions
+from .models.tokenizedcard_request import TokenizedcardRequest
from .models.tss_v2_get_emv_tags200_response import TssV2GetEmvTags200Response
from .models.tss_v2_get_emv_tags200_response_emv_tag_breakdown_list import TssV2GetEmvTags200ResponseEmvTagBreakdownList
from .models.tss_v2_post_emv_tags200_response import TssV2PostEmvTags200Response
@@ -1319,12 +1376,16 @@
from .models.ums_v1_users_get200_response_users import UmsV1UsersGet200ResponseUsers
from .models.update_invoice_request import UpdateInvoiceRequest
from .models.update_order_request import UpdateOrderRequest
+from .models.update_payment_link_request import UpdatePaymentLinkRequest
from .models.update_plan_request import UpdatePlanRequest
from .models.update_plan_response import UpdatePlanResponse
from .models.update_plan_response_plan_information import UpdatePlanResponsePlanInformation
+from .models.update_status import UpdateStatus
from .models.update_subscription import UpdateSubscription
from .models.update_subscription_response import UpdateSubscriptionResponse
+from .models.update_webhook import UpdateWebhook
from .models.upv1capturecontexts_capture_mandate import Upv1capturecontextsCaptureMandate
+from .models.upv1capturecontexts_complete_mandate import Upv1capturecontextsCompleteMandate
from .models.upv1capturecontexts_order_information import Upv1capturecontextsOrderInformation
from .models.upv1capturecontexts_order_information_amount_details import Upv1capturecontextsOrderInformationAmountDetails
from .models.upv1capturecontexts_order_information_bill_to import Upv1capturecontextsOrderInformationBillTo
@@ -1398,6 +1459,8 @@
from .api.flex_api_api import FlexAPIApi
from .api.instrument_identifier_api import InstrumentIdentifierApi
from .api.interchange_clearing_level_details_api import InterchangeClearingLevelDetailsApi
+from .api.invoice_settings_api import InvoiceSettingsApi
+from .api.invoices_api import InvoicesApi
from .api.manage_webhooks_api import ManageWebhooksApi
from .api.merchant_boarding_api import MerchantBoardingApi
from .api.microform_integration_api import MicroformIntegrationApi
@@ -1406,6 +1469,7 @@
from .api.payer_authentication_api import PayerAuthenticationApi
from .api.payment_batch_summaries_api import PaymentBatchSummariesApi
from .api.payment_instrument_api import PaymentInstrumentApi
+from .api.payment_links_api import PaymentLinksApi
from .api.payouts_api import PayoutsApi
from .api.plans_api import PlansApi
from .api.purchase_and_refund_details_api import PurchaseAndRefundDetailsApi
@@ -1419,7 +1483,9 @@
from .api.search_transactions_api import SearchTransactionsApi
from .api.secure_file_share_api import SecureFileShareApi
from .api.subscriptions_api import SubscriptionsApi
+from .api.subscriptions_follow_ons_api import SubscriptionsFollowOnsApi
from .api.token_api import TokenApi
+from .api.tokenized_card_api import TokenizedCardApi
from .api.transaction_batches_api import TransactionBatchesApi
from .api.transaction_details_api import TransactionDetailsApi
from .api.transient_token_data_api import TransientTokenDataApi
@@ -1430,8 +1496,6 @@
from .api.billing_agreements_api import BillingAgreementsApi
from .api.capture_api import CaptureApi
from .api.credit_api import CreditApi
-from .api.invoice_settings_api import InvoiceSettingsApi
-from .api.invoices_api import InvoicesApi
from .api.orders_api import OrdersApi
from .api.payments_api import PaymentsApi
from .api.refund_api import RefundApi
diff --git a/CyberSource/api/__init__.py b/CyberSource/api/__init__.py
index 3ec4e03f..4b8f583c 100644
--- a/CyberSource/api/__init__.py
+++ b/CyberSource/api/__init__.py
@@ -18,6 +18,8 @@
from .flex_api_api import FlexAPIApi
from .instrument_identifier_api import InstrumentIdentifierApi
from .interchange_clearing_level_details_api import InterchangeClearingLevelDetailsApi
+from .invoice_settings_api import InvoiceSettingsApi
+from .invoices_api import InvoicesApi
from .manage_webhooks_api import ManageWebhooksApi
from .merchant_boarding_api import MerchantBoardingApi
from .microform_integration_api import MicroformIntegrationApi
@@ -26,6 +28,7 @@
from .payer_authentication_api import PayerAuthenticationApi
from .payment_batch_summaries_api import PaymentBatchSummariesApi
from .payment_instrument_api import PaymentInstrumentApi
+from .payment_links_api import PaymentLinksApi
from .payouts_api import PayoutsApi
from .plans_api import PlansApi
from .purchase_and_refund_details_api import PurchaseAndRefundDetailsApi
@@ -39,7 +42,9 @@
from .search_transactions_api import SearchTransactionsApi
from .secure_file_share_api import SecureFileShareApi
from .subscriptions_api import SubscriptionsApi
+from .subscriptions_follow_ons_api import SubscriptionsFollowOnsApi
from .token_api import TokenApi
+from .tokenized_card_api import TokenizedCardApi
from .transaction_batches_api import TransactionBatchesApi
from .transaction_details_api import TransactionDetailsApi
from .transient_token_data_api import TransientTokenDataApi
@@ -50,8 +55,6 @@
from .billing_agreements_api import BillingAgreementsApi
from .capture_api import CaptureApi
from .credit_api import CreditApi
-from .invoice_settings_api import InvoiceSettingsApi
-from .invoices_api import InvoicesApi
from .orders_api import OrdersApi
from .payments_api import PaymentsApi
from .refund_api import RefundApi
diff --git a/CyberSource/api/batches_api.py b/CyberSource/api/batches_api.py
index 75ffcd1c..7bdf9d93 100644
--- a/CyberSource/api/batches_api.py
+++ b/CyberSource/api/batches_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -62,7 +63,7 @@ def get_batch_report(self, batch_id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str batch_id: Unique identification number assigned to the submitted request. (required)
- :return: InlineResponse2004
+ :return: InlineResponse2007
If the method is called asynchronously,
returns the request thread.
"""
@@ -92,7 +93,7 @@ def get_batch_report_with_http_info(self, batch_id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str batch_id: Unique identification number assigned to the submitted request. (required)
- :return: InlineResponse2004
+ :return: InlineResponse2007
If the method is called asynchronously,
returns the request thread.
"""
@@ -133,23 +134,25 @@ def get_batch_report_with_http_info(self, batch_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_batch_report,get_batch_report_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -160,7 +163,7 @@ def get_batch_report_with_http_info(self, batch_id, **kwargs):
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InlineResponse2004',
+ response_type='InlineResponse2007',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -183,7 +186,7 @@ def get_batch_status(self, batch_id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str batch_id: Unique identification number assigned to the submitted request. (required)
- :return: InlineResponse2003
+ :return: InlineResponse2006
If the method is called asynchronously,
returns the request thread.
"""
@@ -213,7 +216,7 @@ def get_batch_status_with_http_info(self, batch_id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str batch_id: Unique identification number assigned to the submitted request. (required)
- :return: InlineResponse2003
+ :return: InlineResponse2006
If the method is called asynchronously,
returns the request thread.
"""
@@ -254,23 +257,25 @@ def get_batch_status_with_http_info(self, batch_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_batch_status,get_batch_status_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -281,7 +286,7 @@ def get_batch_status_with_http_info(self, batch_id, **kwargs):
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InlineResponse2003',
+ response_type='InlineResponse2006',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -307,7 +312,7 @@ def get_batches_list(self, **kwargs):
:param int limit: The maximum number that can be returned in the array starting from the offset record in zero-based dataset.
:param str from_date: ISO-8601 format: yyyyMMddTHHmmssZ
:param str to_date: ISO-8601 format: yyyyMMddTHHmmssZ
- :return: InlineResponse2002
+ :return: InlineResponse2005
If the method is called asynchronously,
returns the request thread.
"""
@@ -340,7 +345,7 @@ def get_batches_list_with_http_info(self, **kwargs):
:param int limit: The maximum number that can be returned in the array starting from the offset record in zero-based dataset.
:param str from_date: ISO-8601 format: yyyyMMddTHHmmssZ
:param str to_date: ISO-8601 format: yyyyMMddTHHmmssZ
- :return: InlineResponse2002
+ :return: InlineResponse2005
If the method is called asynchronously,
returns the request thread.
"""
@@ -381,23 +386,25 @@ def get_batches_list_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_batches_list,get_batches_list_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -408,7 +415,7 @@ def get_batches_list_with_http_info(self, **kwargs):
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InlineResponse2002',
+ response_type='InlineResponse2005',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -419,7 +426,7 @@ def get_batches_list_with_http_info(self, **kwargs):
def post_batch(self, body, **kwargs):
"""
Create a Batch
- **Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted: - **oneOff** batch containing tokens id for Visa or MasterCard card numbers. - **amexRegistration** batch containing tokens id for Amex card numbers. A batch id will be returned on a successful response which can be used to get the batch status and the batch report.
+ **Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted: - **oneOff** batch containing tokens id for Visa or MasterCard card numbers. - **amexRegistration** batch containing tokens id for Amex card numbers. A batch id will be returned on a successful response which can be used to get the batch status and the batch report. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -449,7 +456,7 @@ def post_batch(self, body, **kwargs):
def post_batch_with_http_info(self, body, **kwargs):
"""
Create a Batch
- **Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted: - **oneOff** batch containing tokens id for Visa or MasterCard card numbers. - **amexRegistration** batch containing tokens id for Amex card numbers. A batch id will be returned on a successful response which can be used to get the batch status and the batch report.
+ **Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted: - **oneOff** batch containing tokens id for Visa or MasterCard card numbers. - **amexRegistration** batch containing tokens id for Amex card numbers. A batch id will be returned on a successful response which can be used to get the batch status and the batch report. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -499,26 +506,24 @@ def post_batch_with_http_info(self, body, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'body' in params:
body_params = params['body']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'body', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_batch,post_batch_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/billing_agreements_api.py b/CyberSource/api/billing_agreements_api.py
index d05fdab7..2696b56e 100644
--- a/CyberSource/api/billing_agreements_api.py
+++ b/CyberSource/api/billing_agreements_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -140,26 +141,24 @@ def billing_agreements_de_registration_with_http_info(self, modify_billing_agree
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'modify_billing_agreement' in params:
body_params = params['modify_billing_agreement']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'modify_billing_agreement', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "billing_agreements_de_registration,billing_agreements_de_registration_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -271,26 +270,24 @@ def billing_agreements_intimation_with_http_info(self, intimate_billing_agreemen
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'intimate_billing_agreement' in params:
body_params = params['intimate_billing_agreement']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'intimate_billing_agreement', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "billing_agreements_intimation,billing_agreements_intimation_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -392,26 +389,24 @@ def billing_agreements_registration_with_http_info(self, create_billing_agreemen
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_billing_agreement' in params:
body_params = params['create_billing_agreement']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_billing_agreement', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "billing_agreements_registration,billing_agreements_registration_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/bin_lookup_api.py b/CyberSource/api/bin_lookup_api.py
index 020bc768..c9c84259 100644
--- a/CyberSource/api/bin_lookup_api.py
+++ b/CyberSource/api/bin_lookup_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -133,26 +134,24 @@ def get_account_info_with_http_info(self, create_bin_lookup_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_bin_lookup_request' in params:
body_params = params['create_bin_lookup_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_bin_lookup_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_account_info,get_account_info_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/capture_api.py b/CyberSource/api/capture_api.py
index 85b0d317..f537af3e 100644
--- a/CyberSource/api/capture_api.py
+++ b/CyberSource/api/capture_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -140,26 +141,24 @@ def capture_payment_with_http_info(self, capture_payment_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'capture_payment_request' in params:
body_params = params['capture_payment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'capture_payment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "capture_payment,capture_payment_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/chargeback_details_api.py b/CyberSource/api/chargeback_details_api.py
index d800277b..c3d9177a 100644
--- a/CyberSource/api/chargeback_details_api.py
+++ b/CyberSource/api/chargeback_details_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def get_chargeback_details_with_http_info(self, start_time, end_time, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_chargeback_details,get_chargeback_details_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/chargeback_summaries_api.py b/CyberSource/api/chargeback_summaries_api.py
index 0c4c1b8e..4961ba10 100644
--- a/CyberSource/api/chargeback_summaries_api.py
+++ b/CyberSource/api/chargeback_summaries_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def get_chargeback_summaries_with_http_info(self, start_time, end_time, **kwargs
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_chargeback_summaries,get_chargeback_summaries_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/conversion_details_api.py b/CyberSource/api/conversion_details_api.py
index 8ccfb69d..b7f213bd 100644
--- a/CyberSource/api/conversion_details_api.py
+++ b/CyberSource/api/conversion_details_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def get_conversion_detail_with_http_info(self, start_time, end_time, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_conversion_detail,get_conversion_detail_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/create_new_webhooks_api.py b/CyberSource/api/create_new_webhooks_api.py
index aab36b4a..76634d68 100644
--- a/CyberSource/api/create_new_webhooks_api.py
+++ b/CyberSource/api/create_new_webhooks_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -47,6 +48,243 @@ def __init__(self, merchant_config, api_client=None):
+ def find_products_to_subscribe(self, organization_id, **kwargs):
+ """
+ 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.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.find_products_to_subscribe(organization_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str organization_id: The Organization Identifier. (required)
+ :return: list[InlineResponse2003]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `find_products_to_subscribe` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.find_products_to_subscribe_with_http_info(organization_id, **kwargs)
+ else:
+ (data) = self.find_products_to_subscribe_with_http_info(organization_id, **kwargs)
+ return data
+
+ def find_products_to_subscribe_with_http_info(self, organization_id, **kwargs):
+ """
+ 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.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.find_products_to_subscribe_with_http_info(organization_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str organization_id: The Organization Identifier. (required)
+ :return: list[InlineResponse2003]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['organization_id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method find_products_to_subscribe" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'organization_id' is set
+ if ('organization_id' not in params) or (params['organization_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `organization_id` when calling `find_products_to_subscribe`")
+ raise ValueError("Missing the required parameter `organization_id` when calling `find_products_to_subscribe`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'organization_id' in params:
+ path_params['organizationId'] = params['organization_id']
+ organizationId=organization_id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "find_products_to_subscribe,find_products_to_subscribe_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/notification-subscriptions/v2/products/{organizationId}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[InlineResponse2003]',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def notification_subscriptions_v2_webhooks_post(self, **kwargs):
+ """
+ Create a New Webhook Subscription
+ Create a new webhook subscription. Before creating a webhook, ensure that a signature key has been created. For the example \"Create Webhook using oAuth with Client Credentials\" - for clients who have more than one oAuth Provider and have different client secrets that they would like to config for a given webhook, they may do so by overriding the keyId inside security config of webhook subscription. See the Developer Center examples section titled \"Webhook Security - Create or Store Egress Symmetric Key - Store oAuth Credentials For Symmetric Key\" to store these oAuth credentials that CYBS will need for oAuth. For JWT authentication, attach your oAuth details to the webhook subscription. See the example \"Create Webhook using oAuth with JWT\"
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.notification_subscriptions_v2_webhooks_post(callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param CreateWebhook create_webhook: The webhook payload
+ :return: InlineResponse2014
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `notification_subscriptions_v2_webhooks_post` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.notification_subscriptions_v2_webhooks_post_with_http_info(**kwargs)
+ else:
+ (data) = self.notification_subscriptions_v2_webhooks_post_with_http_info(**kwargs)
+ return data
+
+ def notification_subscriptions_v2_webhooks_post_with_http_info(self, **kwargs):
+ """
+ Create a New Webhook Subscription
+ Create a new webhook subscription. Before creating a webhook, ensure that a signature key has been created. For the example \"Create Webhook using oAuth with Client Credentials\" - for clients who have more than one oAuth Provider and have different client secrets that they would like to config for a given webhook, they may do so by overriding the keyId inside security config of webhook subscription. See the Developer Center examples section titled \"Webhook Security - Create or Store Egress Symmetric Key - Store oAuth Credentials For Symmetric Key\" to store these oAuth credentials that CYBS will need for oAuth. For JWT authentication, attach your oAuth details to the webhook subscription. See the example \"Create Webhook using oAuth with JWT\"
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.notification_subscriptions_v2_webhooks_post_with_http_info(callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param CreateWebhook create_webhook: The webhook payload
+ :return: InlineResponse2014
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['create_webhook']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method notification_subscriptions_v2_webhooks_post" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'create_webhook' in params:
+ body_params = params['create_webhook']
+
+ sdkTracker = SdkTracker()
+ body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_webhook', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
+ body_params = process_body(body_params)
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "notification_subscriptions_v2_webhooks_post,notification_subscriptions_v2_webhooks_post_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/notification-subscriptions/v2/webhooks', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='InlineResponse2014',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
def save_sym_egress_key(self, v_c_sender_organization_id, v_c_permissions, **kwargs):
"""
Create Webhook Security Keys
@@ -68,9 +306,6 @@ def save_sym_egress_key(self, v_c_sender_organization_id, v_c_permissions, **kwa
:return: InlineResponse2013
If the method is called asynchronously,
returns the request thread.
-
- 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.
"""
if self.api_client.mconfig.log_config.enable_log:
@@ -150,26 +385,24 @@ def save_sym_egress_key_with_http_info(self, v_c_sender_organization_id, v_c_per
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'save_sym_egress_key' in params:
body_params = params['save_sym_egress_key']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'save_sym_egress_key', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "save_sym_egress_key,save_sym_egress_key_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/credit_api.py b/CyberSource/api/credit_api.py
index 0760c3ce..d2ccd77c 100644
--- a/CyberSource/api/credit_api.py
+++ b/CyberSource/api/credit_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def create_credit_with_http_info(self, create_credit_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_credit_request' in params:
body_params = params['create_credit_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_credit_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_credit,create_credit_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/customer_api.py b/CyberSource/api/customer_api.py
index 981daa2f..2952ead8 100644
--- a/CyberSource/api/customer_api.py
+++ b/CyberSource/api/customer_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -137,23 +138,25 @@ def delete_customer_with_http_info(self, customer_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'DELETE' in ('POST'):
body_params = '{}'
-
- if 'DELETE' == GlobalLabelParameters.POST or 'DELETE' == GlobalLabelParameters.PUT or 'DELETE' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_customer,delete_customer_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -262,23 +265,25 @@ def get_customer_with_http_info(self, customer_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_customer,get_customer_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -398,26 +403,24 @@ def patch_customer_with_http_info(self, customer_id, patch_customer_request, **k
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'patch_customer_request' in params:
body_params = params['patch_customer_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'patch_customer_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "patch_customer,patch_customer_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -439,7 +442,7 @@ def patch_customer_with_http_info(self, customer_id, patch_customer_request, **k
def post_customer(self, post_customer_request, **kwargs):
"""
Create a Customer
- | | | | | --- | --- | --- | |**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).
+ | | | | | --- | --- | --- | |**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). The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -470,7 +473,7 @@ def post_customer(self, post_customer_request, **kwargs):
def post_customer_with_http_info(self, post_customer_request, **kwargs):
"""
Create a Customer
- | | | | | --- | --- | --- | |**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).
+ | | | | | --- | --- | --- | |**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). The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -523,26 +526,24 @@ def post_customer_with_http_info(self, post_customer_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'post_customer_request' in params:
body_params = params['post_customer_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_customer_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_customer,post_customer_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/customer_payment_instrument_api.py b/CyberSource/api/customer_payment_instrument_api.py
index 59941161..37be2b2b 100644
--- a/CyberSource/api/customer_payment_instrument_api.py
+++ b/CyberSource/api/customer_payment_instrument_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -147,23 +148,25 @@ def delete_customer_payment_instrument_with_http_info(self, customer_id, payment
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'DELETE' in ('POST'):
body_params = '{}'
-
- if 'DELETE' == GlobalLabelParameters.POST or 'DELETE' == GlobalLabelParameters.PUT or 'DELETE' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_customer_payment_instrument,delete_customer_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -282,23 +285,25 @@ def get_customer_payment_instrument_with_http_info(self, customer_id, payment_in
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_customer_payment_instrument,get_customer_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -415,23 +420,25 @@ def get_customer_payment_instruments_list_with_http_info(self, customer_id, **kw
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_customer_payment_instruments_list,get_customer_payment_instruments_list_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -561,26 +568,24 @@ def patch_customers_payment_instrument_with_http_info(self, customer_id, payment
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'patch_customer_payment_instrument_request' in params:
body_params = params['patch_customer_payment_instrument_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'patch_customer_payment_instrument_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "patch_customers_payment_instrument,patch_customers_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -696,26 +701,24 @@ def post_customer_payment_instrument_with_http_info(self, customer_id, post_cust
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'post_customer_payment_instrument_request' in params:
body_params = params['post_customer_payment_instrument_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_customer_payment_instrument_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_customer_payment_instrument,post_customer_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/customer_shipping_address_api.py b/CyberSource/api/customer_shipping_address_api.py
index 443d9d1b..c524482d 100644
--- a/CyberSource/api/customer_shipping_address_api.py
+++ b/CyberSource/api/customer_shipping_address_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -147,23 +148,25 @@ def delete_customer_shipping_address_with_http_info(self, customer_id, shipping_
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'DELETE' in ('POST'):
body_params = '{}'
-
- if 'DELETE' == GlobalLabelParameters.POST or 'DELETE' == GlobalLabelParameters.PUT or 'DELETE' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_customer_shipping_address,delete_customer_shipping_address_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -282,23 +285,25 @@ def get_customer_shipping_address_with_http_info(self, customer_id, shipping_add
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_customer_shipping_address,get_customer_shipping_address_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -415,23 +420,25 @@ def get_customer_shipping_addresses_list_with_http_info(self, customer_id, **kwa
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_customer_shipping_addresses_list,get_customer_shipping_addresses_list_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -561,26 +568,24 @@ def patch_customers_shipping_address_with_http_info(self, customer_id, shipping_
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'patch_customer_shipping_address_request' in params:
body_params = params['patch_customer_shipping_address_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'patch_customer_shipping_address_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "patch_customers_shipping_address,patch_customers_shipping_address_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -696,26 +701,24 @@ def post_customer_shipping_address_with_http_info(self, customer_id, post_custom
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'post_customer_shipping_address_request' in params:
body_params = params['post_customer_shipping_address_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_customer_shipping_address_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_customer_shipping_address,post_customer_shipping_address_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/decision_manager_api.py b/CyberSource/api/decision_manager_api.py
index b3c86214..8dbd5353 100644
--- a/CyberSource/api/decision_manager_api.py
+++ b/CyberSource/api/decision_manager_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -63,7 +64,7 @@ def action_decision_manager_case(self, id, case_management_actions_request, **kw
for asynchronous request. (optional)
:param str id: An unique identification number generated by Cybersource to identify the submitted request. (required)
:param CaseManagementActionsRequest case_management_actions_request: (required)
- :return: InlineResponse200
+ :return: InlineResponse2001
If the method is called asynchronously,
returns the request thread.
"""
@@ -94,7 +95,7 @@ def action_decision_manager_case_with_http_info(self, id, case_management_action
for asynchronous request. (optional)
:param str id: An unique identification number generated by Cybersource to identify the submitted request. (required)
:param CaseManagementActionsRequest case_management_actions_request: (required)
- :return: InlineResponse200
+ :return: InlineResponse2001
If the method is called asynchronously,
returns the request thread.
"""
@@ -140,26 +141,24 @@ def action_decision_manager_case_with_http_info(self, id, case_management_action
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
+
body_params = None
if 'case_management_actions_request' in params:
body_params = params['case_management_actions_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'case_management_actions_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "action_decision_manager_case,action_decision_manager_case_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
-
# Authentication setting
auth_settings = []
@@ -170,7 +169,7 @@ def action_decision_manager_case_with_http_info(self, id, case_management_action
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InlineResponse200',
+ response_type='InlineResponse2001',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -271,26 +270,24 @@ def add_negative_with_http_info(self, type, add_negative_list_request, **kwargs)
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'add_negative_list_request' in params:
body_params = params['add_negative_list_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'add_negative_list_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "add_negative,add_negative_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -402,26 +399,24 @@ def comment_decision_manager_case_with_http_info(self, id, case_management_comme
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
+
body_params = None
if 'case_management_comments_request' in params:
body_params = params['case_management_comments_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'case_management_comments_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "comment_decision_manager_case,comment_decision_manager_case_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
-
# Authentication setting
auth_settings = []
@@ -523,26 +518,24 @@ def create_bundled_decision_manager_case_with_http_info(self, create_bundled_dec
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_bundled_decision_manager_case_request' in params:
body_params = params['create_bundled_decision_manager_case_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_bundled_decision_manager_case_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_bundled_decision_manager_case,create_bundled_decision_manager_case_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -654,26 +647,24 @@ def fraud_update_with_http_info(self, id, fraud_marking_action_request, **kwargs
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'fraud_marking_action_request' in params:
body_params = params['fraud_marking_action_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'fraud_marking_action_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "fraud_update,fraud_update_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/download_dtd_api.py b/CyberSource/api/download_dtd_api.py
index 094f0e8f..96dbf71f 100644
--- a/CyberSource/api/download_dtd_api.py
+++ b/CyberSource/api/download_dtd_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -133,23 +134,25 @@ def get_dtdv2_with_http_info(self, report_definition_name_version, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/xml-dtd'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_dtdv2,get_dtdv2_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/xml-dtd'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/download_xsd_api.py b/CyberSource/api/download_xsd_api.py
index 7f05d3d6..955fc215 100644
--- a/CyberSource/api/download_xsd_api.py
+++ b/CyberSource/api/download_xsd_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -133,23 +134,25 @@ def get_xsdv2_with_http_info(self, report_definition_name_version, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['text/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_xsdv2,get_xsdv2_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['text/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/emv_tag_details_api.py b/CyberSource/api/emv_tag_details_api.py
index c4eff6d9..cdb3a551 100644
--- a/CyberSource/api/emv_tag_details_api.py
+++ b/CyberSource/api/emv_tag_details_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -122,23 +123,25 @@ def get_emv_tags_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_emv_tags,get_emv_tags_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -240,26 +243,24 @@ def parse_emv_tags_with_http_info(self, body, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'body' in params:
body_params = params['body']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'body', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "parse_emv_tags,parse_emv_tags_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/flex_api_api.py b/CyberSource/api/flex_api_api.py
index 2e1b8bdb..e1188a21 100644
--- a/CyberSource/api/flex_api_api.py
+++ b/CyberSource/api/flex_api_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def generate_flex_api_capture_context_with_http_info(self, generate_flex_api_cap
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/jwt'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'generate_flex_api_capture_context_request' in params:
body_params = params['generate_flex_api_capture_context_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'generate_flex_api_capture_context_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "generate_flex_api_capture_context,generate_flex_api_capture_context_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/jwt'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/instrument_identifier_api.py b/CyberSource/api/instrument_identifier_api.py
index 40a3656c..d40f73db 100644
--- a/CyberSource/api/instrument_identifier_api.py
+++ b/CyberSource/api/instrument_identifier_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -137,23 +138,25 @@ def delete_instrument_identifier_with_http_info(self, instrument_identifier_id,
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'DELETE' in ('POST'):
body_params = '{}'
-
- if 'DELETE' == GlobalLabelParameters.POST or 'DELETE' == GlobalLabelParameters.PUT or 'DELETE' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_instrument_identifier,delete_instrument_identifier_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -266,23 +269,25 @@ def get_instrument_identifier_with_http_info(self, instrument_identifier_id, **k
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_instrument_identifier,get_instrument_identifier_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -403,23 +408,25 @@ def get_instrument_identifier_payment_instruments_list_with_http_info(self, inst
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_instrument_identifier_payment_instruments_list,get_instrument_identifier_payment_instruments_list_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -543,26 +550,24 @@ def patch_instrument_identifier_with_http_info(self, instrument_identifier_id, p
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'patch_instrument_identifier_request' in params:
body_params = params['patch_instrument_identifier_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'patch_instrument_identifier_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "patch_instrument_identifier,patch_instrument_identifier_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -672,26 +677,24 @@ def post_instrument_identifier_with_http_info(self, post_instrument_identifier_r
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'post_instrument_identifier_request' in params:
body_params = params['post_instrument_identifier_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_instrument_identifier_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_instrument_identifier,post_instrument_identifier_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -807,26 +810,24 @@ def post_instrument_identifier_enrollment_with_http_info(self, instrument_identi
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'post_instrument_identifier_enrollment_request' in params:
body_params = params['post_instrument_identifier_enrollment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_instrument_identifier_enrollment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_instrument_identifier_enrollment,post_instrument_identifier_enrollment_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/interchange_clearing_level_details_api.py b/CyberSource/api/interchange_clearing_level_details_api.py
index 239e93ad..59c5e801 100644
--- a/CyberSource/api/interchange_clearing_level_details_api.py
+++ b/CyberSource/api/interchange_clearing_level_details_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def get_interchange_clearing_level_details_with_http_info(self, start_time, end_
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_interchange_clearing_level_details,get_interchange_clearing_level_details_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/invoice_settings_api.py b/CyberSource/api/invoice_settings_api.py
index 8d689075..474e370c 100644
--- a/CyberSource/api/invoice_settings_api.py
+++ b/CyberSource/api/invoice_settings_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -122,23 +123,25 @@ def get_invoice_settings_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_invoice_settings,get_invoice_settings_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -240,26 +243,24 @@ def update_invoice_settings_with_http_info(self, invoice_settings_request, **kwa
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'invoice_settings_request' in params:
body_params = params['invoice_settings_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'invoice_settings_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PUT' == GlobalLabelParameters.POST or 'PUT' == GlobalLabelParameters.PUT or 'PUT' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "update_invoice_settings,update_invoice_settings_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/invoices_api.py b/CyberSource/api/invoices_api.py
index 96576be4..00fcb070 100644
--- a/CyberSource/api/invoices_api.py
+++ b/CyberSource/api/invoices_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -50,7 +51,7 @@ def __init__(self, merchant_config, api_client=None):
def create_invoice(self, create_invoice_request, **kwargs):
"""
Create a New Invoice
- 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.
+ 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. The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -80,7 +81,7 @@ def create_invoice(self, create_invoice_request, **kwargs):
def create_invoice_with_http_info(self, create_invoice_request, **kwargs):
"""
Create a New Invoice
- 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.
+ 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. The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -130,26 +131,24 @@ def create_invoice_with_http_info(self, create_invoice_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_invoice_request' in params:
body_params = params['create_invoice_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_invoice_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_invoice,create_invoice_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -184,7 +183,7 @@ def get_all_invoices(self, offset, limit, **kwargs):
for asynchronous request. (optional)
:param int offset: Page offset number. (required)
:param int limit: Maximum number of items you would like returned. (required)
- :param str status: The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+ :param str status: The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED
:return: InvoicingV2InvoicesAllGet200Response
If the method is called asynchronously,
returns the request thread.
@@ -216,7 +215,7 @@ def get_all_invoices_with_http_info(self, offset, limit, **kwargs):
for asynchronous request. (optional)
:param int offset: Page offset number. (required)
:param int limit: Maximum number of items you would like returned. (required)
- :param str status: The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+ :param str status: The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED
:return: InvoicingV2InvoicesAllGet200Response
If the method is called asynchronously,
returns the request thread.
@@ -266,23 +265,25 @@ def get_all_invoices_with_http_info(self, offset, limit, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_all_invoices,get_all_invoices_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -387,23 +388,25 @@ def get_invoice_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_invoice,get_invoice_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -437,7 +440,7 @@ def perform_cancel_action(self, id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str id: The invoice number. (required)
- :return: InvoicingV2InvoicesPost201Response
+ :return: InvoicingV2InvoicesCancel200Response
If the method is called asynchronously,
returns the request thread.
"""
@@ -467,7 +470,7 @@ def perform_cancel_action_with_http_info(self, id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str id: The invoice number. (required)
- :return: InvoicingV2InvoicesPost201Response
+ :return: InvoicingV2InvoicesCancel200Response
If the method is called asynchronously,
returns the request thread.
"""
@@ -508,23 +511,25 @@ def perform_cancel_action_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "perform_cancel_action,perform_cancel_action_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -535,7 +540,7 @@ def perform_cancel_action_with_http_info(self, id, **kwargs):
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InvoicingV2InvoicesPost201Response',
+ response_type='InvoicingV2InvoicesCancel200Response',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -558,7 +563,7 @@ def perform_send_action(self, id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str id: The invoice number. (required)
- :return: InvoicingV2InvoicesPost201Response
+ :return: InvoicingV2InvoicesSend200Response
If the method is called asynchronously,
returns the request thread.
"""
@@ -588,7 +593,7 @@ def perform_send_action_with_http_info(self, id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str id: The invoice number. (required)
- :return: InvoicingV2InvoicesPost201Response
+ :return: InvoicingV2InvoicesSend200Response
If the method is called asynchronously,
returns the request thread.
"""
@@ -629,23 +634,25 @@ def perform_send_action_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "perform_send_action,perform_send_action_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -656,7 +663,7 @@ def perform_send_action_with_http_info(self, id, **kwargs):
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InvoicingV2InvoicesPost201Response',
+ response_type='InvoicingV2InvoicesSend200Response',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -680,7 +687,7 @@ def update_invoice(self, id, update_invoice_request, **kwargs):
for asynchronous request. (optional)
:param str id: The invoice number. (required)
:param UpdateInvoiceRequest update_invoice_request: Updating the invoice does not resend the invoice automatically. You must resend the invoice separately. (required)
- :return: InvoicingV2InvoicesPost201Response
+ :return: InvoicingV2InvoicesPut200Response
If the method is called asynchronously,
returns the request thread.
"""
@@ -711,7 +718,7 @@ def update_invoice_with_http_info(self, id, update_invoice_request, **kwargs):
for asynchronous request. (optional)
:param str id: The invoice number. (required)
:param UpdateInvoiceRequest update_invoice_request: Updating the invoice does not resend the invoice automatically. You must resend the invoice separately. (required)
- :return: InvoicingV2InvoicesPost201Response
+ :return: InvoicingV2InvoicesPut200Response
If the method is called asynchronously,
returns the request thread.
"""
@@ -757,26 +764,24 @@ def update_invoice_with_http_info(self, id, update_invoice_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'update_invoice_request' in params:
body_params = params['update_invoice_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'update_invoice_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PUT' == GlobalLabelParameters.POST or 'PUT' == GlobalLabelParameters.PUT or 'PUT' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "update_invoice,update_invoice_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -787,7 +792,7 @@ def update_invoice_with_http_info(self, id, update_invoice_request, **kwargs):
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InvoicingV2InvoicesPost201Response',
+ response_type='InvoicingV2InvoicesPut200Response',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
diff --git a/CyberSource/api/manage_webhooks_api.py b/CyberSource/api/manage_webhooks_api.py
index 2902fc9e..0dea1628 100644
--- a/CyberSource/api/manage_webhooks_api.py
+++ b/CyberSource/api/manage_webhooks_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -47,6 +48,382 @@ def __init__(self, merchant_config, api_client=None):
+ def delete_webhook_subscription(self, webhook_id, **kwargs):
+ """
+ Delete a Webhook Subscription
+ Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.delete_webhook_subscription(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The webhook identifier. (required)
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `delete_webhook_subscription` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.delete_webhook_subscription_with_http_info(webhook_id, **kwargs)
+ else:
+ (data) = self.delete_webhook_subscription_with_http_info(webhook_id, **kwargs)
+ return data
+
+ def delete_webhook_subscription_with_http_info(self, webhook_id, **kwargs):
+ """
+ Delete a Webhook Subscription
+ Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.delete_webhook_subscription_with_http_info(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The webhook identifier. (required)
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['webhook_id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_webhook_subscription" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'webhook_id' is set
+ if ('webhook_id' not in params) or (params['webhook_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `webhook_id` when calling `delete_webhook_subscription`")
+ raise ValueError("Missing the required parameter `webhook_id` when calling `delete_webhook_subscription`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'webhook_id' in params:
+ path_params['webhookId'] = params['webhook_id']
+ webhookId=webhook_id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'DELETE' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_webhook_subscription,delete_webhook_subscription_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/notification-subscriptions/v2/webhooks/{webhookId}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type=None,
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_webhook_subscription_by_id(self, webhook_id, **kwargs):
+ """
+ Get Details On a Single Webhook
+ Retrieve the details of a specific webhook by supplying the webhook ID in the path.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_webhook_subscription_by_id(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The webhook Identifier (required)
+ :return: InlineResponse2014
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `get_webhook_subscription_by_id` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.get_webhook_subscription_by_id_with_http_info(webhook_id, **kwargs)
+ else:
+ (data) = self.get_webhook_subscription_by_id_with_http_info(webhook_id, **kwargs)
+ return data
+
+ def get_webhook_subscription_by_id_with_http_info(self, webhook_id, **kwargs):
+ """
+ Get Details On a Single Webhook
+ Retrieve the details of a specific webhook by supplying the webhook ID in the path.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_webhook_subscription_by_id_with_http_info(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The webhook Identifier (required)
+ :return: InlineResponse2014
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['webhook_id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_webhook_subscription_by_id" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'webhook_id' is set
+ if ('webhook_id' not in params) or (params['webhook_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `webhook_id` when calling `get_webhook_subscription_by_id`")
+ raise ValueError("Missing the required parameter `webhook_id` when calling `get_webhook_subscription_by_id`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'webhook_id' in params:
+ path_params['webhookId'] = params['webhook_id']
+ webhookId=webhook_id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_webhook_subscription_by_id,get_webhook_subscription_by_id_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/notification-subscriptions/v2/webhooks/{webhookId}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='InlineResponse2014',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_webhook_subscriptions_by_org(self, organization_id, **kwargs):
+ """
+ Get Details On All Created Webhooks
+ Retrieve a list of all previously created webhooks.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_webhook_subscriptions_by_org(organization_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str organization_id: The Organization Identifier. (required)
+ :param str product_id: The Product Identifier.
+ :param str event_type: The Event Type.
+ :return: list[InlineResponse2004]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `get_webhook_subscriptions_by_org` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.get_webhook_subscriptions_by_org_with_http_info(organization_id, **kwargs)
+ else:
+ (data) = self.get_webhook_subscriptions_by_org_with_http_info(organization_id, **kwargs)
+ return data
+
+ def get_webhook_subscriptions_by_org_with_http_info(self, organization_id, **kwargs):
+ """
+ Get Details On All Created Webhooks
+ Retrieve a list of all previously created webhooks.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_webhook_subscriptions_by_org_with_http_info(organization_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str organization_id: The Organization Identifier. (required)
+ :param str product_id: The Product Identifier.
+ :param str event_type: The Event Type.
+ :return: list[InlineResponse2004]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['organization_id', 'product_id', 'event_type']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_webhook_subscriptions_by_org" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'organization_id' is set
+ if ('organization_id' not in params) or (params['organization_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `organization_id` when calling `get_webhook_subscriptions_by_org`")
+ raise ValueError("Missing the required parameter `organization_id` when calling `get_webhook_subscriptions_by_org`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'organization_id' in params:
+ query_params.append(('organizationId', params['organization_id']))
+ if 'product_id' in params:
+ query_params.append(('productId', params['product_id']))
+ if 'event_type' in params:
+ query_params.append(('eventType', params['event_type']))
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_webhook_subscriptions_by_org,get_webhook_subscriptions_by_org_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/notification-subscriptions/v2/webhooks', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[InlineResponse2004]',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
def notification_subscriptions_v1_webhooks_webhook_id_post(self, webhook_id, **kwargs):
"""
Test a Webhook Configuration
@@ -62,12 +439,9 @@ def notification_subscriptions_v1_webhooks_webhook_id_post(self, webhook_id, **k
:param callback function: The callback function
for asynchronous request. (optional)
:param str webhook_id: The Webhook Identifier. (required)
- :return: InlineResponse2014
+ :return: InlineResponse2015
If the method is called asynchronously,
returns the request thread.
-
- 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.
"""
if self.api_client.mconfig.log_config.enable_log:
@@ -95,7 +469,7 @@ def notification_subscriptions_v1_webhooks_webhook_id_post_with_http_info(self,
:param callback function: The callback function
for asynchronous request. (optional)
:param str webhook_id: The Webhook Identifier. (required)
- :return: InlineResponse2014
+ :return: InlineResponse2015
If the method is called asynchronously,
returns the request thread.
"""
@@ -136,34 +510,284 @@ def notification_subscriptions_v1_webhooks_webhook_id_post_with_http_info(self,
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "notification_subscriptions_v1_webhooks_webhook_id_post,notification_subscriptions_v1_webhooks_webhook_id_post_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/notification-subscriptions/v1/webhooks/{webhookId}', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='InlineResponse2015',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def notification_subscriptions_v2_webhooks_webhook_id_patch(self, webhook_id, **kwargs):
+ """
+ Update a Webhook Subscription
+ Update a Webhook Subscription.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.notification_subscriptions_v2_webhooks_webhook_id_patch(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The Webhook Identifier. (required)
+ :param UpdateWebhook update_webhook: The webhook payload or changes to apply.
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `notification_subscriptions_v2_webhooks_webhook_id_patch` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info(webhook_id, **kwargs)
+ else:
+ (data) = self.notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info(webhook_id, **kwargs)
+ return data
+
+ def notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info(self, webhook_id, **kwargs):
+ """
+ Update a Webhook Subscription
+ Update a Webhook Subscription.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The Webhook Identifier. (required)
+ :param UpdateWebhook update_webhook: The webhook payload or changes to apply.
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['webhook_id', 'update_webhook']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method notification_subscriptions_v2_webhooks_webhook_id_patch" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'webhook_id' is set
+ if ('webhook_id' not in params) or (params['webhook_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `webhook_id` when calling `notification_subscriptions_v2_webhooks_webhook_id_patch`")
+ raise ValueError("Missing the required parameter `webhook_id` when calling `notification_subscriptions_v2_webhooks_webhook_id_patch`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'webhook_id' in params:
+ path_params['webhookId'] = params['webhook_id']
+ webhookId=webhook_id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
+ body_params = None
+ if 'update_webhook' in params:
+ body_params = params['update_webhook']
+
+ sdkTracker = SdkTracker()
+ body_params = sdkTracker.insert_developer_id_tracker(body_params, 'update_webhook', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
- if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "notification_subscriptions_v1_webhooks_webhook_id_post,notification_subscriptions_v1_webhooks_webhook_id_post_with_http_info"):
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "notification_subscriptions_v2_webhooks_webhook_id_patch,notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/notification-subscriptions/v2/webhooks/{webhookId}', 'PATCH',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type=None,
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def notification_subscriptions_v2_webhooks_webhook_id_status_put(self, webhook_id, **kwargs):
+ """
+ Update a Webhook Status
+ Users can update the status of a webhook subscription by calling this endpoint. The webhookId parameter in the URL path identifies the specific webhook subscription to be updated. The request body accepts the values ACTIVE or INACTIVE. If the subscription is set to INACTIVE, webhooks will not be delivered until the subscription is activated again.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.notification_subscriptions_v2_webhooks_webhook_id_status_put(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The Webhook Identifier. (required)
+ :param UpdateStatus update_status: The status that the subscription should be updated to.
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `notification_subscriptions_v2_webhooks_webhook_id_status_put` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.notification_subscriptions_v2_webhooks_webhook_id_status_put_with_http_info(webhook_id, **kwargs)
+ else:
+ (data) = self.notification_subscriptions_v2_webhooks_webhook_id_status_put_with_http_info(webhook_id, **kwargs)
+ return data
+
+ def notification_subscriptions_v2_webhooks_webhook_id_status_put_with_http_info(self, webhook_id, **kwargs):
+ """
+ Update a Webhook Status
+ Users can update the status of a webhook subscription by calling this endpoint. The webhookId parameter in the URL path identifies the specific webhook subscription to be updated. The request body accepts the values ACTIVE or INACTIVE. If the subscription is set to INACTIVE, webhooks will not be delivered until the subscription is activated again.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.notification_subscriptions_v2_webhooks_webhook_id_status_put_with_http_info(webhook_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str webhook_id: The Webhook Identifier. (required)
+ :param UpdateStatus update_status: The status that the subscription should be updated to.
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['webhook_id', 'update_status']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method notification_subscriptions_v2_webhooks_webhook_id_status_put" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'webhook_id' is set
+ if ('webhook_id' not in params) or (params['webhook_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `webhook_id` when calling `notification_subscriptions_v2_webhooks_webhook_id_status_put`")
+ raise ValueError("Missing the required parameter `webhook_id` when calling `notification_subscriptions_v2_webhooks_webhook_id_status_put`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'webhook_id' in params:
+ path_params['webhookId'] = params['webhook_id']
+ webhookId=webhook_id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+ body_params = None
+ if 'update_status' in params:
+ body_params = params['update_status']
+
+ sdkTracker = SdkTracker()
+ body_params = sdkTracker.insert_developer_id_tracker(body_params, 'update_status', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
+ body_params = process_body(body_params)
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "notification_subscriptions_v2_webhooks_webhook_id_status_put,notification_subscriptions_v2_webhooks_webhook_id_status_put_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
# Authentication setting
auth_settings = []
- return self.api_client.call_api(f'/notification-subscriptions/v1/webhooks/{webhookId}', 'POST',
+ return self.api_client.call_api(f'/notification-subscriptions/v2/webhooks/{webhookId}/status', 'PUT',
path_params,
query_params,
header_params,
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InlineResponse2014',
+ response_type=None,
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -189,12 +813,9 @@ def save_asym_egress_key(self, v_c_sender_organization_id, v_c_permissions, save
:param str v_c_permissions: Encoded user permissions returned by the CGK, for the entity user who initiated the boarding (required)
:param SaveAsymEgressKey save_asym_egress_key: Provide egress Asymmetric key information to save (create or store) (required)
:param str v_c_correlation_id: A globally unique id associated with your request
- :return: InlineResponse2015
+ :return: InlineResponse2016
If the method is called asynchronously,
returns the request thread.
-
- 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.
"""
if self.api_client.mconfig.log_config.enable_log:
@@ -225,7 +846,7 @@ def save_asym_egress_key_with_http_info(self, v_c_sender_organization_id, v_c_pe
:param str v_c_permissions: Encoded user permissions returned by the CGK, for the entity user who initiated the boarding (required)
:param SaveAsymEgressKey save_asym_egress_key: Provide egress Asymmetric key information to save (create or store) (required)
:param str v_c_correlation_id: A globally unique id associated with your request
- :return: InlineResponse2015
+ :return: InlineResponse2016
If the method is called asynchronously,
returns the request thread.
"""
@@ -279,26 +900,24 @@ def save_asym_egress_key_with_http_info(self, v_c_sender_organization_id, v_c_pe
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'save_asym_egress_key' in params:
body_params = params['save_asym_egress_key']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'save_asym_egress_key', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "save_asym_egress_key,save_asym_egress_key_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -309,7 +928,7 @@ def save_asym_egress_key_with_http_info(self, v_c_sender_organization_id, v_c_pe
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InlineResponse2015',
+ response_type='InlineResponse2016',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
diff --git a/CyberSource/api/merchant_boarding_api.py b/CyberSource/api/merchant_boarding_api.py
index 5c514ee5..92a19318 100644
--- a/CyberSource/api/merchant_boarding_api.py
+++ b/CyberSource/api/merchant_boarding_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -62,7 +63,7 @@ def get_registration(self, registration_id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str registration_id: Identifies the boarding registration to be updated (required)
- :return: InlineResponse2001
+ :return: InlineResponse2002
If the method is called asynchronously,
returns the request thread.
"""
@@ -92,7 +93,7 @@ def get_registration_with_http_info(self, registration_id, **kwargs):
:param callback function: The callback function
for asynchronous request. (optional)
:param str registration_id: Identifies the boarding registration to be updated (required)
- :return: InlineResponse2001
+ :return: InlineResponse2002
If the method is called asynchronously,
returns the request thread.
"""
@@ -133,23 +134,25 @@ def get_registration_with_http_info(self, registration_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_registration,get_registration_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
-
# Authentication setting
auth_settings = []
@@ -160,7 +163,7 @@ def get_registration_with_http_info(self, registration_id, **kwargs):
body=body_params,
post_params=form_params,
files=local_var_files,
- response_type='InlineResponse2001',
+ response_type='InlineResponse2002',
auth_settings=auth_settings,
callback=params.get('callback'),
_return_http_data_only=params.get('_return_http_data_only'),
@@ -171,7 +174,7 @@ def get_registration_with_http_info(self, registration_id, **kwargs):
def post_registration(self, post_registration_body, **kwargs):
"""
Create a boarding registration
- Create a registration to board merchant If you have Card Processing product enabled in your boarding request, select payment processor from Configuration -> Sample Request. You may unselect attributes from the Request Builder tree which you do not need in the request. For VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request. e.g. replace VPC with <your vpc processor>
+ Boarding Product is specifically for resellers who onboard merchants to resell their services to merchants and help integrate REST API into their systems. The Boarding API is designed to simplify and streamline the onboarding process of merchants by enabling administrators and developers to: 1. Enable and Configure Products: The API helps in adding new products to an existing organization and configuring them to suit specific needs. 2. Update Merchant Information: The API allows for updating an organization's information efficiently. 3. Manage Payment Integration: It provides templates for secure payment integration and management.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -202,7 +205,7 @@ def post_registration(self, post_registration_body, **kwargs):
def post_registration_with_http_info(self, post_registration_body, **kwargs):
"""
Create a boarding registration
- Create a registration to board merchant If you have Card Processing product enabled in your boarding request, select payment processor from Configuration -> Sample Request. You may unselect attributes from the Request Builder tree which you do not need in the request. For VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request. e.g. replace VPC with <your vpc processor>
+ Boarding Product is specifically for resellers who onboard merchants to resell their services to merchants and help integrate REST API into their systems. The Boarding API is designed to simplify and streamline the onboarding process of merchants by enabling administrators and developers to: 1. Enable and Configure Products: The API helps in adding new products to an existing organization and configuring them to suit specific needs. 2. Update Merchant Information: The API allows for updating an organization's information efficiently. 3. Manage Payment Integration: It provides templates for secure payment integration and management.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -255,26 +258,24 @@ def post_registration_with_http_info(self, post_registration_body, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
+
body_params = None
if 'post_registration_body' in params:
body_params = params['post_registration_body']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_registration_body', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_registration,post_registration_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/microform_integration_api.py b/CyberSource/api/microform_integration_api.py
index 421777d3..95079508 100644
--- a/CyberSource/api/microform_integration_api.py
+++ b/CyberSource/api/microform_integration_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -50,7 +51,7 @@ def __init__(self, merchant_config, api_client=None):
def generate_capture_context(self, generate_capture_context_request, **kwargs):
"""
Generate Capture Context
- 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.
+ 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. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -80,7 +81,7 @@ def generate_capture_context(self, generate_capture_context_request, **kwargs):
def generate_capture_context_with_http_info(self, generate_capture_context_request, **kwargs):
"""
Generate Capture Context
- 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.
+ 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. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -130,26 +131,24 @@ def generate_capture_context_with_http_info(self, generate_capture_context_reque
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/jwt'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'generate_capture_context_request' in params:
body_params = params['generate_capture_context_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'generate_capture_context_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "generate_capture_context,generate_capture_context_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/jwt'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/net_fundings_api.py b/CyberSource/api/net_fundings_api.py
index db7881bb..76c0cfd2 100644
--- a/CyberSource/api/net_fundings_api.py
+++ b/CyberSource/api/net_fundings_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -149,23 +150,25 @@ def get_net_funding_details_with_http_info(self, start_time, end_time, **kwargs)
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_net_funding_details,get_net_funding_details_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/notification_of_changes_api.py b/CyberSource/api/notification_of_changes_api.py
index 81fd84a8..14375d1a 100644
--- a/CyberSource/api/notification_of_changes_api.py
+++ b/CyberSource/api/notification_of_changes_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -141,23 +142,25 @@ def get_notification_of_change_report_with_http_info(self, start_time, end_time,
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'text/csv', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_notification_of_change_report,get_notification_of_change_report_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'text/csv', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/orders_api.py b/CyberSource/api/orders_api.py
index 112bc63d..1d994d14 100644
--- a/CyberSource/api/orders_api.py
+++ b/CyberSource/api/orders_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def create_order_with_http_info(self, create_order_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_order_request' in params:
body_params = params['create_order_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_order_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_order,create_order_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -261,26 +260,24 @@ def update_order_with_http_info(self, id, update_order_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'update_order_request' in params:
body_params = params['update_order_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'update_order_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "update_order,update_order_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/payer_authentication_api.py b/CyberSource/api/payer_authentication_api.py
index fce491fe..3f1c3e51 100644
--- a/CyberSource/api/payer_authentication_api.py
+++ b/CyberSource/api/payer_authentication_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def check_payer_auth_enrollment_with_http_info(self, check_payer_auth_enrollment
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'check_payer_auth_enrollment_request' in params:
body_params = params['check_payer_auth_enrollment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'check_payer_auth_enrollment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "check_payer_auth_enrollment,check_payer_auth_enrollment_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -171,7 +170,7 @@ def check_payer_auth_enrollment_with_http_info(self, check_payer_auth_enrollment
def payer_auth_setup(self, payer_auth_setup_request, **kwargs):
"""
Setup Payer Auth
- 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.
+ A new service for Merchants to get reference_id for Digital Wallets to use in place of BIN number in Cardinal. Set up file while authenticating with Cardinal. This service should be called by Merchant when payment instrument chosen or changes. This service has to be called before enrollment check. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -201,7 +200,7 @@ def payer_auth_setup(self, payer_auth_setup_request, **kwargs):
def payer_auth_setup_with_http_info(self, payer_auth_setup_request, **kwargs):
"""
Setup Payer Auth
- 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.
+ A new service for Merchants to get reference_id for Digital Wallets to use in place of BIN number in Cardinal. Set up file while authenticating with Cardinal. This service should be called by Merchant when payment instrument chosen or changes. This service has to be called before enrollment check. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -251,26 +250,24 @@ def payer_auth_setup_with_http_info(self, payer_auth_setup_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'payer_auth_setup_request' in params:
body_params = params['payer_auth_setup_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'payer_auth_setup_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "payer_auth_setup,payer_auth_setup_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -372,26 +369,24 @@ def validate_authentication_results_with_http_info(self, validate_request, **kwa
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'validate_request' in params:
body_params = params['validate_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'validate_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "validate_authentication_results,validate_authentication_results_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/payment_batch_summaries_api.py b/CyberSource/api/payment_batch_summaries_api.py
index 9ccec274..c6b63c8c 100644
--- a/CyberSource/api/payment_batch_summaries_api.py
+++ b/CyberSource/api/payment_batch_summaries_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -157,23 +158,25 @@ def get_payment_batch_summary_with_http_info(self, start_time, end_time, **kwarg
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'text/csv', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_payment_batch_summary,get_payment_batch_summary_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'text/csv', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/payment_instrument_api.py b/CyberSource/api/payment_instrument_api.py
index 1b286f3c..01421314 100644
--- a/CyberSource/api/payment_instrument_api.py
+++ b/CyberSource/api/payment_instrument_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -137,23 +138,25 @@ def delete_payment_instrument_with_http_info(self, payment_instrument_id, **kwar
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'DELETE' in ('POST'):
body_params = '{}'
-
- if 'DELETE' == GlobalLabelParameters.POST or 'DELETE' == GlobalLabelParameters.PUT or 'DELETE' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_payment_instrument,delete_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -266,23 +269,25 @@ def get_payment_instrument_with_http_info(self, payment_instrument_id, **kwargs)
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_payment_instrument,get_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -406,26 +411,24 @@ def patch_payment_instrument_with_http_info(self, payment_instrument_id, patch_p
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'patch_payment_instrument_request' in params:
body_params = params['patch_payment_instrument_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'patch_payment_instrument_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "patch_payment_instrument,patch_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -535,26 +538,24 @@ def post_payment_instrument_with_http_info(self, post_payment_instrument_request
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'post_payment_instrument_request' in params:
body_params = params['post_payment_instrument_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_payment_instrument_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_payment_instrument,post_payment_instrument_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/payment_links_api.py b/CyberSource/api/payment_links_api.py
new file mode 100644
index 00000000..48d2d1d9
--- /dev/null
+++ b/CyberSource/api/payment_links_api.py
@@ -0,0 +1,555 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import sys
+import os
+import re
+
+# python 2 and python 3 compatibility library
+from six import iteritems
+
+from ..configuration import Configuration
+from ..api_client import ApiClient
+import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
+from authenticationsdk.util.MLEUtility import MLEUtility
+from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
+from authenticationsdk.util.Utility import process_body
+
+from ..utilities.tracking.sdk_tracker import SdkTracker
+class PaymentLinksApi(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ """
+
+ def __init__(self, merchant_config, api_client=None):
+ config = Configuration()
+ if api_client:
+ self.api_client = api_client
+ else:
+ if not config.api_client:
+ config.api_client = ApiClient()
+ self.api_client = config.api_client
+ self.api_client.set_configuration(merchant_config)
+ self.logger = LogFactory.setup_logger(self.__class__.__name__, self.api_client.mconfig.log_config)
+
+
+
+ def create_payment_link(self, create_payment_link_request, **kwargs):
+ """
+ Create a Payment Link
+ Create a new payment link.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.create_payment_link(create_payment_link_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param CreatePaymentLinkRequest create_payment_link_request: (required)
+ :return: PblPaymentLinksPost201Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `create_payment_link` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.create_payment_link_with_http_info(create_payment_link_request, **kwargs)
+ else:
+ (data) = self.create_payment_link_with_http_info(create_payment_link_request, **kwargs)
+ return data
+
+ def create_payment_link_with_http_info(self, create_payment_link_request, **kwargs):
+ """
+ Create a Payment Link
+ Create a new payment link.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.create_payment_link_with_http_info(create_payment_link_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param CreatePaymentLinkRequest create_payment_link_request: (required)
+ :return: PblPaymentLinksPost201Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['create_payment_link_request']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_payment_link" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'create_payment_link_request' is set
+ if ('create_payment_link_request' not in params) or (params['create_payment_link_request'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `create_payment_link_request` when calling `create_payment_link`")
+ raise ValueError("Missing the required parameter `create_payment_link_request` when calling `create_payment_link`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'create_payment_link_request' in params:
+ body_params = params['create_payment_link_request']
+
+ sdkTracker = SdkTracker()
+ body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_payment_link_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
+ body_params = process_body(body_params)
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_payment_link,create_payment_link_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/ipl/v2/payment-links', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='PblPaymentLinksPost201Response',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_all_payment_links(self, offset, limit, **kwargs):
+ """
+ Get a List of Payment Links
+ Provides a (filtered) list of payment links that have been created in your account. You can filter the list based on the following status types: - ACTIVE - INACTIVE
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_all_payment_links(offset, limit, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param int offset: Page offset number. (required)
+ :param int limit: Maximum number of items you would like returned. Maximum limit: 1000 (required)
+ :param str status: The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+ :return: PblPaymentLinksAllGet200Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `get_all_payment_links` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.get_all_payment_links_with_http_info(offset, limit, **kwargs)
+ else:
+ (data) = self.get_all_payment_links_with_http_info(offset, limit, **kwargs)
+ return data
+
+ def get_all_payment_links_with_http_info(self, offset, limit, **kwargs):
+ """
+ Get a List of Payment Links
+ Provides a (filtered) list of payment links that have been created in your account. You can filter the list based on the following status types: - ACTIVE - INACTIVE
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_all_payment_links_with_http_info(offset, limit, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param int offset: Page offset number. (required)
+ :param int limit: Maximum number of items you would like returned. Maximum limit: 1000 (required)
+ :param str status: The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+ :return: PblPaymentLinksAllGet200Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['offset', 'limit', 'status']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_all_payment_links" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'offset' is set
+ if ('offset' not in params) or (params['offset'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `offset` when calling `get_all_payment_links`")
+ raise ValueError("Missing the required parameter `offset` when calling `get_all_payment_links`")
+ # verify the required parameter 'limit' is set
+ if ('limit' not in params) or (params['limit'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `limit` when calling `get_all_payment_links`")
+ raise ValueError("Missing the required parameter `limit` when calling `get_all_payment_links`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+ if 'offset' in params:
+ query_params.append(('offset', params['offset']))
+ if 'limit' in params:
+ query_params.append(('limit', params['limit']))
+ if 'status' in params:
+ query_params.append(('status', params['status']))
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_all_payment_links,get_all_payment_links_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/ipl/v2/payment-links', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='PblPaymentLinksAllGet200Response',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_payment_link(self, id, **kwargs):
+ """
+ Get Payment Link Details
+ You can retrieve details of a specific payment link. For each payment transaction you can use the Transaction Details API to get more details on the payment transaction.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_payment_link(id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str id: The purchase number. (required)
+ :return: PblPaymentLinksGet200Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `get_payment_link` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.get_payment_link_with_http_info(id, **kwargs)
+ else:
+ (data) = self.get_payment_link_with_http_info(id, **kwargs)
+ return data
+
+ def get_payment_link_with_http_info(self, id, **kwargs):
+ """
+ Get Payment Link Details
+ You can retrieve details of a specific payment link. For each payment transaction you can use the Transaction Details API to get more details on the payment transaction.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_payment_link_with_http_info(id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str id: The purchase number. (required)
+ :return: PblPaymentLinksGet200Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_payment_link" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'id' is set
+ if ('id' not in params) or (params['id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `id` when calling `get_payment_link`")
+ raise ValueError("Missing the required parameter `id` when calling `get_payment_link`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'id' in params:
+ path_params['id'] = params['id']
+ id=id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_payment_link,get_payment_link_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/ipl/v2/payment-links/{id}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='PblPaymentLinksGet200Response',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def update_payment_link(self, id, update_payment_link_request, **kwargs):
+ """
+ Update a Payment Link
+ You can update all information except the payment link number until any payment is received for a payment link.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.update_payment_link(id, update_payment_link_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str id: The purchase number. (required)
+ :param UpdatePaymentLinkRequest update_payment_link_request: Updating the purchase or donation link does not resend the link automatically. You must resend the purchase or donation link separately. (required)
+ :return: PblPaymentLinksPost201Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `update_payment_link` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.update_payment_link_with_http_info(id, update_payment_link_request, **kwargs)
+ else:
+ (data) = self.update_payment_link_with_http_info(id, update_payment_link_request, **kwargs)
+ return data
+
+ def update_payment_link_with_http_info(self, id, update_payment_link_request, **kwargs):
+ """
+ Update a Payment Link
+ You can update all information except the payment link number until any payment is received for a payment link.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.update_payment_link_with_http_info(id, update_payment_link_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str id: The purchase number. (required)
+ :param UpdatePaymentLinkRequest update_payment_link_request: Updating the purchase or donation link does not resend the link automatically. You must resend the purchase or donation link separately. (required)
+ :return: PblPaymentLinksPost201Response
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['id', 'update_payment_link_request']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method update_payment_link" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'id' is set
+ if ('id' not in params) or (params['id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `id` when calling `update_payment_link`")
+ raise ValueError("Missing the required parameter `id` when calling `update_payment_link`")
+ # verify the required parameter 'update_payment_link_request' is set
+ if ('update_payment_link_request' not in params) or (params['update_payment_link_request'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `update_payment_link_request` when calling `update_payment_link`")
+ raise ValueError("Missing the required parameter `update_payment_link_request` when calling `update_payment_link`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'id' in params:
+ path_params['id'] = params['id']
+ id=id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'update_payment_link_request' in params:
+ body_params = params['update_payment_link_request']
+
+ sdkTracker = SdkTracker()
+ body_params = sdkTracker.insert_developer_id_tracker(body_params, 'update_payment_link_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
+ body_params = process_body(body_params)
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "update_payment_link,update_payment_link_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/ipl/v2/payment-links/{id}', 'PATCH',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='PblPaymentLinksPost201Response',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
diff --git a/CyberSource/api/payments_api.py b/CyberSource/api/payments_api.py
index b421022b..45b3d69a 100644
--- a/CyberSource/api/payments_api.py
+++ b/CyberSource/api/payments_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -140,26 +141,24 @@ def create_order_request_with_http_info(self, order_payment_request, id, **kwarg
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'order_payment_request' in params:
body_params = params['order_payment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'order_payment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_order_request,create_order_request_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -261,26 +260,24 @@ def create_payment_with_http_info(self, create_payment_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_payment_request' in params:
body_params = params['create_payment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_payment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_payment,create_payment_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -382,26 +379,24 @@ def create_session_request_with_http_info(self, create_session_req, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_session_req' in params:
body_params = params['create_session_req']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_session_req', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_session_request,create_session_request_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -513,26 +508,24 @@ def increment_auth_with_http_info(self, id, increment_auth_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'increment_auth_request' in params:
body_params = params['increment_auth_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'increment_auth_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "increment_auth,increment_auth_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -644,26 +637,24 @@ def refresh_payment_status_with_http_info(self, id, refresh_payment_status_reque
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'refresh_payment_status_request' in params:
body_params = params['refresh_payment_status_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'refresh_payment_status_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "refresh_payment_status,refresh_payment_status_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -775,26 +766,24 @@ def update_session_req_with_http_info(self, create_session_request, id, **kwargs
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_session_request' in params:
body_params = params['create_session_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_session_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "update_session_req,update_session_req_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/payouts_api.py b/CyberSource/api/payouts_api.py
index b5afc074..07e2445b 100644
--- a/CyberSource/api/payouts_api.py
+++ b/CyberSource/api/payouts_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -50,7 +51,7 @@ def __init__(self, merchant_config, api_client=None):
def oct_create_payment(self, oct_create_payment_request, **kwargs):
"""
Process a Payout
- Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT).
+ Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT). The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -80,7 +81,7 @@ def oct_create_payment(self, oct_create_payment_request, **kwargs):
def oct_create_payment_with_http_info(self, oct_create_payment_request, **kwargs):
"""
Process a Payout
- Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT).
+ Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT). The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -130,26 +131,24 @@ def oct_create_payment_with_http_info(self, oct_create_payment_request, **kwargs
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'oct_create_payment_request' in params:
body_params = params['oct_create_payment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'oct_create_payment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "oct_create_payment,oct_create_payment_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/plans_api.py b/CyberSource/api/plans_api.py
index 890c8430..3db85285 100644
--- a/CyberSource/api/plans_api.py
+++ b/CyberSource/api/plans_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -133,23 +134,25 @@ def activate_plan_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "activate_plan,activate_plan_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -171,7 +174,7 @@ def activate_plan_with_http_info(self, id, **kwargs):
def create_plan(self, create_plan_request, **kwargs):
"""
Create a Plan
- 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 *Token Management* (*TMS*). The three key elements of *Cybersource* Recurring Billing are: -  **Token**: stores customer billing, shipping, and payment details. -  **Plan**: stores the billing schedule. -  **Subscription**: combines the token and plan, and defines the subscription start date, name, and description. The APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management)
+ 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 *Token Management* (*TMS*). The three key elements of *Cybersource* Recurring Billing are: -  **Token**: stores customer billing, shipping, and payment details. -  **Plan**: stores the billing schedule. -  **Subscription**: combines the token and plan, and defines the subscription start date, name, and description. The APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management) The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -201,7 +204,7 @@ def create_plan(self, create_plan_request, **kwargs):
def create_plan_with_http_info(self, create_plan_request, **kwargs):
"""
Create a Plan
- 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 *Token Management* (*TMS*). The three key elements of *Cybersource* Recurring Billing are: -  **Token**: stores customer billing, shipping, and payment details. -  **Plan**: stores the billing schedule. -  **Subscription**: combines the token and plan, and defines the subscription start date, name, and description. The APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management)
+ 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 *Token Management* (*TMS*). The three key elements of *Cybersource* Recurring Billing are: -  **Token**: stores customer billing, shipping, and payment details. -  **Plan**: stores the billing schedule. -  **Subscription**: combines the token and plan, and defines the subscription start date, name, and description. The APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management) The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -251,26 +254,24 @@ def create_plan_with_http_info(self, create_plan_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_plan_request' in params:
body_params = params['create_plan_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_plan_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_plan,create_plan_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -375,23 +376,25 @@ def deactivate_plan_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "deactivate_plan,deactivate_plan_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -496,23 +499,25 @@ def delete_plan_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'DELETE' in ('POST'):
body_params = '{}'
-
- if 'DELETE' == GlobalLabelParameters.POST or 'DELETE' == GlobalLabelParameters.PUT or 'DELETE' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_plan,delete_plan_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -617,23 +622,25 @@ def get_plan_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_plan,get_plan_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -727,23 +734,25 @@ def get_plan_code_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_plan_code,get_plan_code_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -858,23 +867,25 @@ def get_plans_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_plans,get_plans_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -986,26 +997,24 @@ def update_plan_with_http_info(self, id, update_plan_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'update_plan_request' in params:
body_params = params['update_plan_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'update_plan_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "update_plan,update_plan_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/purchase_and_refund_details_api.py b/CyberSource/api/purchase_and_refund_details_api.py
index 458a7aa3..32db6cfb 100644
--- a/CyberSource/api/purchase_and_refund_details_api.py
+++ b/CyberSource/api/purchase_and_refund_details_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -165,23 +166,25 @@ def get_purchase_and_refund_details_with_http_info(self, start_time, end_time, *
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml', 'text/csv'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_purchase_and_refund_details,get_purchase_and_refund_details_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml', 'text/csv'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/push_funds_api.py b/CyberSource/api/push_funds_api.py
index a4283a1e..208fd018 100644
--- a/CyberSource/api/push_funds_api.py
+++ b/CyberSource/api/push_funds_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -184,26 +185,24 @@ def create_push_funds_transfer_with_http_info(self, push_funds_request, content_
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'push_funds_request' in params:
body_params = params['push_funds_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'push_funds_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_push_funds_transfer,create_push_funds_transfer_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/refund_api.py b/CyberSource/api/refund_api.py
index 30a28be4..bef40923 100644
--- a/CyberSource/api/refund_api.py
+++ b/CyberSource/api/refund_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -140,26 +141,24 @@ def refund_capture_with_http_info(self, refund_capture_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'refund_capture_request' in params:
body_params = params['refund_capture_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'refund_capture_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "refund_capture,refund_capture_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -271,26 +270,24 @@ def refund_payment_with_http_info(self, refund_payment_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'refund_payment_request' in params:
body_params = params['refund_payment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'refund_payment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "refund_payment,refund_payment_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/report_definitions_api.py b/CyberSource/api/report_definitions_api.py
index fff617e2..e10a878c 100644
--- a/CyberSource/api/report_definitions_api.py
+++ b/CyberSource/api/report_definitions_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def get_resource_info_by_report_definition_with_http_info(self, report_definitio
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_resource_info_by_report_definition,get_resource_info_by_report_definition_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -264,23 +267,25 @@ def get_resource_v2_info_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_resource_v2_info,get_resource_v2_info_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/report_downloads_api.py b/CyberSource/api/report_downloads_api.py
index 2852d2c0..624a77b7 100644
--- a/CyberSource/api/report_downloads_api.py
+++ b/CyberSource/api/report_downloads_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def download_report_with_http_info(self, report_date, report_name, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/xml', 'text/csv'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "download_report,download_report_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/xml', 'text/csv'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/report_subscriptions_api.py b/CyberSource/api/report_subscriptions_api.py
index 5ba94d37..a2b449c2 100644
--- a/CyberSource/api/report_subscriptions_api.py
+++ b/CyberSource/api/report_subscriptions_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -134,26 +135,24 @@ def create_standard_or_classic_subscription_with_http_info(self, predefined_subs
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'predefined_subscription_request_bean' in params:
body_params = params['predefined_subscription_request_bean']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'predefined_subscription_request_bean', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PUT' == GlobalLabelParameters.POST or 'PUT' == GlobalLabelParameters.PUT or 'PUT' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_standard_or_classic_subscription,create_standard_or_classic_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -259,26 +258,24 @@ def create_subscription_with_http_info(self, create_report_subscription_request,
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
+
body_params = None
if 'create_report_subscription_request' in params:
body_params = params['create_report_subscription_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_report_subscription_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PUT' == GlobalLabelParameters.POST or 'PUT' == GlobalLabelParameters.PUT or 'PUT' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_subscription,create_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
-
# Authentication setting
auth_settings = []
@@ -387,23 +384,25 @@ def delete_subscription_with_http_info(self, report_name, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'DELETE' in ('POST'):
body_params = '{}'
-
- if 'DELETE' == GlobalLabelParameters.POST or 'DELETE' == GlobalLabelParameters.PUT or 'DELETE' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_subscription,delete_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -502,23 +501,25 @@ def get_all_subscriptions_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_all_subscriptions,get_all_subscriptions_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -627,23 +628,25 @@ def get_subscription_with_http_info(self, report_name, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_subscription,get_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/reports_api.py b/CyberSource/api/reports_api.py
index 36e10ba8..120d5ec2 100644
--- a/CyberSource/api/reports_api.py
+++ b/CyberSource/api/reports_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -134,26 +135,24 @@ def create_report_with_http_info(self, create_adhoc_report_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
+
body_params = None
if 'create_adhoc_report_request' in params:
body_params = params['create_adhoc_report_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_adhoc_report_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_report,create_report_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
-
# Authentication setting
auth_settings = []
@@ -262,23 +261,25 @@ def get_report_by_report_id_with_http_info(self, report_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_report_by_report_id,get_report_by_report_id_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -424,23 +425,25 @@ def search_reports_with_http_info(self, start_time, end_time, time_query_type, *
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "search_reports,search_reports_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/retrieval_details_api.py b/CyberSource/api/retrieval_details_api.py
index 6b09f910..7922a3f7 100644
--- a/CyberSource/api/retrieval_details_api.py
+++ b/CyberSource/api/retrieval_details_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def get_retrieval_details_with_http_info(self, start_time, end_time, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_retrieval_details,get_retrieval_details_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/retrieval_summaries_api.py b/CyberSource/api/retrieval_summaries_api.py
index 945b3035..aa15de46 100644
--- a/CyberSource/api/retrieval_summaries_api.py
+++ b/CyberSource/api/retrieval_summaries_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -145,23 +146,25 @@ def get_retrieval_summary_with_http_info(self, start_time, end_time, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_retrieval_summary,get_retrieval_summary_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json', 'application/xml'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/reversal_api.py b/CyberSource/api/reversal_api.py
index d9bac785..addb1e42 100644
--- a/CyberSource/api/reversal_api.py
+++ b/CyberSource/api/reversal_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -140,26 +141,24 @@ def auth_reversal_with_http_info(self, id, auth_reversal_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'auth_reversal_request' in params:
body_params = params['auth_reversal_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'auth_reversal_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "auth_reversal,auth_reversal_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -261,26 +260,24 @@ def mit_reversal_with_http_info(self, mit_reversal_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'mit_reversal_request' in params:
body_params = params['mit_reversal_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'mit_reversal_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "mit_reversal,mit_reversal_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/search_transactions_api.py b/CyberSource/api/search_transactions_api.py
index 18cc3d0d..bd1409e9 100644
--- a/CyberSource/api/search_transactions_api.py
+++ b/CyberSource/api/search_transactions_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def create_search_with_http_info(self, create_search_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_search_request' in params:
body_params = params['create_search_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_search_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_search,create_search_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -254,23 +253,25 @@ def get_search_with_http_info(self, search_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['*/*'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_search,get_search_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['*/*'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/secure_file_share_api.py b/CyberSource/api/secure_file_share_api.py
index 4e1cd656..61248b8d 100644
--- a/CyberSource/api/secure_file_share_api.py
+++ b/CyberSource/api/secure_file_share_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -137,23 +138,25 @@ def get_file_with_http_info(self, file_id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/xml', 'text/csv', 'application/pdf'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['*/*;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_file,get_file_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/xml', 'text/csv', 'application/pdf'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['*/*;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -274,23 +277,25 @@ def get_file_detail_with_http_info(self, start_date, end_date, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['*/*;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_file_detail,get_file_detail_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['*/*;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/subscriptions_api.py b/CyberSource/api/subscriptions_api.py
index 225717d1..459df47a 100644
--- a/CyberSource/api/subscriptions_api.py
+++ b/CyberSource/api/subscriptions_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -133,23 +134,25 @@ def activate_subscription_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "activate_subscription,activate_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -254,23 +257,25 @@ def cancel_subscription_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "cancel_subscription,cancel_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -372,26 +377,24 @@ def create_subscription_with_http_info(self, create_subscription_request, **kwar
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'create_subscription_request' in params:
body_params = params['create_subscription_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_subscription_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_subscription,create_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -502,23 +505,25 @@ def get_all_subscriptions_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_all_subscriptions,get_all_subscriptions_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -623,23 +628,25 @@ def get_subscription_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_subscription,get_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -733,23 +740,25 @@ def get_subscription_code_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_subscription_code,get_subscription_code_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -854,23 +863,25 @@ def suspend_subscription_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "suspend_subscription,suspend_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -982,26 +993,24 @@ def update_subscription_with_http_info(self, id, update_subscription, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'update_subscription' in params:
body_params = params['update_subscription']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'update_subscription', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "update_subscription,update_subscription_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/subscriptions_follow_ons_api.py b/CyberSource/api/subscriptions_follow_ons_api.py
new file mode 100644
index 00000000..67be5fb7
--- /dev/null
+++ b/CyberSource/api/subscriptions_follow_ons_api.py
@@ -0,0 +1,301 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import sys
+import os
+import re
+
+# python 2 and python 3 compatibility library
+from six import iteritems
+
+from ..configuration import Configuration
+from ..api_client import ApiClient
+import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
+from authenticationsdk.util.MLEUtility import MLEUtility
+from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
+from authenticationsdk.util.Utility import process_body
+
+from ..utilities.tracking.sdk_tracker import SdkTracker
+class SubscriptionsFollowOnsApi(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ """
+
+ def __init__(self, merchant_config, api_client=None):
+ config = Configuration()
+ if api_client:
+ self.api_client = api_client
+ else:
+ if not config.api_client:
+ config.api_client = ApiClient()
+ self.api_client = config.api_client
+ self.api_client.set_configuration(merchant_config)
+ self.logger = LogFactory.setup_logger(self.__class__.__name__, self.api_client.mconfig.log_config)
+
+
+
+ def create_follow_on_subscription(self, request_id, create_subscription_request, **kwargs):
+ """
+ Create a Follow-On Subscription
+ Create a new Subscription based on the Request Id of an existing successful Transaction.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.create_follow_on_subscription(request_id, create_subscription_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str request_id: Request Id of an existing successful Transaction (required)
+ :param CreateSubscriptionRequest1 create_subscription_request: (required)
+ :return: CreateSubscriptionResponse
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `create_follow_on_subscription` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.create_follow_on_subscription_with_http_info(request_id, create_subscription_request, **kwargs)
+ else:
+ (data) = self.create_follow_on_subscription_with_http_info(request_id, create_subscription_request, **kwargs)
+ return data
+
+ def create_follow_on_subscription_with_http_info(self, request_id, create_subscription_request, **kwargs):
+ """
+ Create a Follow-On Subscription
+ Create a new Subscription based on the Request Id of an existing successful Transaction.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.create_follow_on_subscription_with_http_info(request_id, create_subscription_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str request_id: Request Id of an existing successful Transaction (required)
+ :param CreateSubscriptionRequest1 create_subscription_request: (required)
+ :return: CreateSubscriptionResponse
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['request_id', 'create_subscription_request']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method create_follow_on_subscription" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'request_id' is set
+ if ('request_id' not in params) or (params['request_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `request_id` when calling `create_follow_on_subscription`")
+ raise ValueError("Missing the required parameter `request_id` when calling `create_follow_on_subscription`")
+ # verify the required parameter 'create_subscription_request' is set
+ if ('create_subscription_request' not in params) or (params['create_subscription_request'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `create_subscription_request` when calling `create_follow_on_subscription`")
+ raise ValueError("Missing the required parameter `create_subscription_request` when calling `create_follow_on_subscription`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'request_id' in params:
+ path_params['requestId'] = params['request_id']
+ requestId=request_id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'create_subscription_request' in params:
+ body_params = params['create_subscription_request']
+
+ sdkTracker = SdkTracker()
+ body_params = sdkTracker.insert_developer_id_tracker(body_params, 'create_subscription_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
+ body_params = process_body(body_params)
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "create_follow_on_subscription,create_follow_on_subscription_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/rbs/v1/subscriptions/follow-ons/{requestId}', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='CreateSubscriptionResponse',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_follow_on_subscription(self, request_id, **kwargs):
+ """
+ Get a Follow-On Subscription
+ Get details of the Subscription being created based on the Request Id of an existing successful Transaction.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_follow_on_subscription(request_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str request_id: Request Id of an existing successful Transaction (required)
+ :return: GetSubscriptionResponse1
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `get_follow_on_subscription` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.get_follow_on_subscription_with_http_info(request_id, **kwargs)
+ else:
+ (data) = self.get_follow_on_subscription_with_http_info(request_id, **kwargs)
+ return data
+
+ def get_follow_on_subscription_with_http_info(self, request_id, **kwargs):
+ """
+ Get a Follow-On Subscription
+ Get details of the Subscription being created based on the Request Id of an existing successful Transaction.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_follow_on_subscription_with_http_info(request_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str request_id: Request Id of an existing successful Transaction (required)
+ :return: GetSubscriptionResponse1
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['request_id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_follow_on_subscription" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'request_id' is set
+ if ('request_id' not in params) or (params['request_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `request_id` when calling `get_follow_on_subscription`")
+ raise ValueError("Missing the required parameter `request_id` when calling `get_follow_on_subscription`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'request_id' in params:
+ path_params['requestId'] = params['request_id']
+ requestId=request_id
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/hal+json', 'application/json;charset=utf-8', 'application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_follow_on_subscription,get_follow_on_subscription_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/rbs/v1/subscriptions/follow-ons/{requestId}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='GetSubscriptionResponse1',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
diff --git a/CyberSource/api/taxes_api.py b/CyberSource/api/taxes_api.py
index 8d1a3c6f..5a058ba7 100644
--- a/CyberSource/api/taxes_api.py
+++ b/CyberSource/api/taxes_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -50,7 +51,7 @@ def __init__(self, merchant_config, api_client=None):
def calculate_tax(self, tax_request, **kwargs):
"""
Calculate Taxes
- The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation 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).
+ The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation 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). The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -80,7 +81,7 @@ def calculate_tax(self, tax_request, **kwargs):
def calculate_tax_with_http_info(self, tax_request, **kwargs):
"""
Calculate Taxes
- The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation 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).
+ The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation 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). The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please define a `callback` function
to be invoked when receiving the response.
@@ -130,26 +131,24 @@ def calculate_tax_with_http_info(self, tax_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'tax_request' in params:
body_params = params['tax_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'tax_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "calculate_tax,calculate_tax_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -261,26 +260,24 @@ def void_tax_with_http_info(self, void_tax_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'void_tax_request' in params:
body_params = params['void_tax_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'void_tax_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'PATCH' == GlobalLabelParameters.POST or 'PATCH' == GlobalLabelParameters.PUT or 'PATCH' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "void_tax,void_tax_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/token_api.py b/CyberSource/api/token_api.py
index 0389a80f..c2a5a22f 100644
--- a/CyberSource/api/token_api.py
+++ b/CyberSource/api/token_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -47,6 +48,149 @@ def __init__(self, merchant_config, api_client=None):
+ def get_card_art_asset(self, instrument_identifier_id, token_provider, asset_type, **kwargs):
+ """
+ Retrieve Card Art
+ Retrieves Card Art for a specific Instrument Identifier. The Card Art is a visual representation of the cardholder's payment card. Card Art is only available if a Network Token is successfully provisioned.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_card_art_asset(instrument_identifier_id, token_provider, asset_type, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str instrument_identifier_id: The Id of an Instrument Identifier. (required)
+ :param str token_provider: The token provider. (required)
+ :param str asset_type: The type of asset. (required)
+ :return: InlineResponse200
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `get_card_art_asset` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.get_card_art_asset_with_http_info(instrument_identifier_id, token_provider, asset_type, **kwargs)
+ else:
+ (data) = self.get_card_art_asset_with_http_info(instrument_identifier_id, token_provider, asset_type, **kwargs)
+ return data
+
+ def get_card_art_asset_with_http_info(self, instrument_identifier_id, token_provider, asset_type, **kwargs):
+ """
+ Retrieve Card Art
+ Retrieves Card Art for a specific Instrument Identifier. The Card Art is a visual representation of the cardholder's payment card. Card Art is only available if a Network Token is successfully provisioned.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_card_art_asset_with_http_info(instrument_identifier_id, token_provider, asset_type, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str instrument_identifier_id: The Id of an Instrument Identifier. (required)
+ :param str token_provider: The token provider. (required)
+ :param str asset_type: The type of asset. (required)
+ :return: InlineResponse200
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['instrument_identifier_id', 'token_provider', 'asset_type']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_card_art_asset" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'instrument_identifier_id' is set
+ if ('instrument_identifier_id' not in params) or (params['instrument_identifier_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `instrument_identifier_id` when calling `get_card_art_asset`")
+ raise ValueError("Missing the required parameter `instrument_identifier_id` when calling `get_card_art_asset`")
+ # verify the required parameter 'token_provider' is set
+ if ('token_provider' not in params) or (params['token_provider'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `token_provider` when calling `get_card_art_asset`")
+ raise ValueError("Missing the required parameter `token_provider` when calling `get_card_art_asset`")
+ # verify the required parameter 'asset_type' is set
+ if ('asset_type' not in params) or (params['asset_type'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `asset_type` when calling `get_card_art_asset`")
+ raise ValueError("Missing the required parameter `asset_type` when calling `get_card_art_asset`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'instrument_identifier_id' in params:
+ path_params['instrumentIdentifierId'] = params['instrument_identifier_id']
+ instrumentIdentifierId=instrument_identifier_id
+ if 'token_provider' in params:
+ path_params['tokenProvider'] = params['token_provider']
+ tokenProvider=token_provider
+ if 'asset_type' in params:
+ path_params['assetType'] = params['asset_type']
+ assetType=asset_type
+
+ query_params = []
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_card_art_asset,get_card_art_asset_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/tms/v2/tokens/{instrumentIdentifierId}/{tokenProvider}/assets/{assetType}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='InlineResponse200',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
def post_token_payment_credentials(self, token_id, post_payment_credentials_request, **kwargs):
"""
Generate Payment Credentials for a TMS Token
@@ -144,26 +288,24 @@ def post_token_payment_credentials_with_http_info(self, token_id, post_payment_c
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/jose;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'post_payment_credentials_request' in params:
body_params = params['post_payment_credentials_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'post_payment_credentials_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_token_payment_credentials,post_token_payment_credentials_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/jose;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/tokenized_card_api.py b/CyberSource/api/tokenized_card_api.py
new file mode 100644
index 00000000..a47b693b
--- /dev/null
+++ b/CyberSource/api/tokenized_card_api.py
@@ -0,0 +1,426 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import sys
+import os
+import re
+
+# python 2 and python 3 compatibility library
+from six import iteritems
+
+from ..configuration import Configuration
+from ..api_client import ApiClient
+import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
+from authenticationsdk.util.MLEUtility import MLEUtility
+from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
+from authenticationsdk.util.Utility import process_body
+
+from ..utilities.tracking.sdk_tracker import SdkTracker
+class TokenizedCardApi(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ """
+
+ def __init__(self, merchant_config, api_client=None):
+ config = Configuration()
+ if api_client:
+ self.api_client = api_client
+ else:
+ if not config.api_client:
+ config.api_client = ApiClient()
+ self.api_client = config.api_client
+ self.api_client.set_configuration(merchant_config)
+ self.logger = LogFactory.setup_logger(self.__class__.__name__, self.api_client.mconfig.log_config)
+
+
+
+ def delete_tokenized_card(self, tokenized_card_id, **kwargs):
+ """
+ Delete a Tokenized Card
+ | | | | | --- | --- | --- | | The Network Token will attempt to be deleted from the card association and if successful the corresponding TMS Network Token will be deleted.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.delete_tokenized_card(tokenized_card_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str tokenized_card_id: The Id of a tokenized card. (required)
+ :param str profile_id: The Id of a profile containing user specific TMS configuration.
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `delete_tokenized_card` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.delete_tokenized_card_with_http_info(tokenized_card_id, **kwargs)
+ else:
+ (data) = self.delete_tokenized_card_with_http_info(tokenized_card_id, **kwargs)
+ return data
+
+ def delete_tokenized_card_with_http_info(self, tokenized_card_id, **kwargs):
+ """
+ Delete a Tokenized Card
+ | | | | | --- | --- | --- | | The Network Token will attempt to be deleted from the card association and if successful the corresponding TMS Network Token will be deleted.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.delete_tokenized_card_with_http_info(tokenized_card_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str tokenized_card_id: The Id of a tokenized card. (required)
+ :param str profile_id: The Id of a profile containing user specific TMS configuration.
+ :return: None
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['tokenized_card_id', 'profile_id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method delete_tokenized_card" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'tokenized_card_id' is set
+ if ('tokenized_card_id' not in params) or (params['tokenized_card_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `tokenized_card_id` when calling `delete_tokenized_card`")
+ raise ValueError("Missing the required parameter `tokenized_card_id` when calling `delete_tokenized_card`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'tokenized_card_id' in params:
+ path_params['tokenizedCardId'] = params['tokenized_card_id']
+ tokenizedCardId=tokenized_card_id
+
+ query_params = []
+
+ header_params = {}
+ if 'profile_id' in params:
+ header_params['profile-id'] = params['profile_id']
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'DELETE' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "delete_tokenized_card,delete_tokenized_card_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/tms/v2/tokenized-cards/{tokenizedCardId}', 'DELETE',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type=None,
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def get_tokenized_card(self, tokenized_card_id, **kwargs):
+ """
+ Retrieve a Tokenized Card
+ | | | | | --- | --- | --- | |**Tokenized Cards**
A Tokenized Card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_tokenized_card(tokenized_card_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str tokenized_card_id: The Id of a tokenized card. (required)
+ :param str profile_id: The Id of a profile containing user specific TMS configuration.
+ :return: TokenizedcardRequest
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `get_tokenized_card` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.get_tokenized_card_with_http_info(tokenized_card_id, **kwargs)
+ else:
+ (data) = self.get_tokenized_card_with_http_info(tokenized_card_id, **kwargs)
+ return data
+
+ def get_tokenized_card_with_http_info(self, tokenized_card_id, **kwargs):
+ """
+ Retrieve a Tokenized Card
+ | | | | | --- | --- | --- | |**Tokenized Cards**
A Tokenized Card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_tokenized_card_with_http_info(tokenized_card_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str tokenized_card_id: The Id of a tokenized card. (required)
+ :param str profile_id: The Id of a profile containing user specific TMS configuration.
+ :return: TokenizedcardRequest
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['tokenized_card_id', 'profile_id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_tokenized_card" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'tokenized_card_id' is set
+ if ('tokenized_card_id' not in params) or (params['tokenized_card_id'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `tokenized_card_id` when calling `get_tokenized_card`")
+ raise ValueError("Missing the required parameter `tokenized_card_id` when calling `get_tokenized_card`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+ if 'tokenized_card_id' in params:
+ path_params['tokenizedCardId'] = params['tokenized_card_id']
+ tokenizedCardId=tokenized_card_id
+
+ query_params = []
+
+ header_params = {}
+ if 'profile_id' in params:
+ header_params['profile-id'] = params['profile_id']
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'GET' in ('POST'):
+ body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_tokenized_card,get_tokenized_card_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/tms/v2/tokenized-cards/{tokenizedCardId}', 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='TokenizedcardRequest',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
+
+ def post_tokenized_card(self, tokenizedcard_request, **kwargs):
+ """
+ Create a Tokenized Card
+ | | | | | --- | --- | --- | |**Tokenized cards**
A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.post_tokenized_card(tokenizedcard_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param TokenizedcardRequest tokenizedcard_request: (required)
+ :param str profile_id: The Id of a profile containing user specific TMS configuration.
+ :return: TokenizedcardRequest
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.info("CALL TO METHOD `post_tokenized_card` STARTED")
+
+ kwargs['_return_http_data_only'] = True
+ if kwargs.get('callback'):
+ return self.post_tokenized_card_with_http_info(tokenizedcard_request, **kwargs)
+ else:
+ (data) = self.post_tokenized_card_with_http_info(tokenizedcard_request, **kwargs)
+ return data
+
+ def post_tokenized_card_with_http_info(self, tokenizedcard_request, **kwargs):
+ """
+ Create a Tokenized Card
+ | | | | | --- | --- | --- | |**Tokenized cards**
A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.post_tokenized_card_with_http_info(tokenizedcard_request, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param TokenizedcardRequest tokenizedcard_request: (required)
+ :param str profile_id: The Id of a profile containing user specific TMS configuration.
+ :return: TokenizedcardRequest
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['tokenizedcard_request', 'profile_id']
+ all_params.append('callback')
+ all_params.append('_return_http_data_only')
+ all_params.append('_preload_content')
+ all_params.append('_request_timeout')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method post_tokenized_card" % key
+ )
+ params[key] = val
+ del params['kwargs']
+ # verify the required parameter 'tokenizedcard_request' is set
+ if ('tokenizedcard_request' not in params) or (params['tokenizedcard_request'] is None):
+ if self.api_client.mconfig.log_config.enable_log:
+ self.logger.error("InvalidArgumentException : Missing the required parameter `tokenizedcard_request` when calling `post_tokenized_card`")
+ raise ValueError("Missing the required parameter `tokenizedcard_request` when calling `post_tokenized_card`")
+
+
+ collection_formats = {}
+
+ path_params = {}
+
+ query_params = []
+
+ header_params = {}
+ if 'profile_id' in params:
+ header_params['profile-id'] = params['profile_id']
+
+ form_params = []
+ local_var_files = {}
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
+ body_params = None
+ if 'tokenizedcard_request' in params:
+ body_params = params['tokenizedcard_request']
+
+ sdkTracker = SdkTracker()
+ body_params = sdkTracker.insert_developer_id_tracker(body_params, 'tokenizedcard_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
+ body_params = process_body(body_params)
+
+ is_mle_supported_by_cybs_for_api = False
+ if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "post_tokenized_card,post_tokenized_card_with_http_info"):
+ body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
+
+ # Authentication setting
+ auth_settings = []
+
+ return self.api_client.call_api(f'/tms/v2/tokenized-cards', 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='TokenizedcardRequest',
+ auth_settings=auth_settings,
+ callback=params.get('callback'),
+ _return_http_data_only=params.get('_return_http_data_only'),
+ _preload_content=params.get('_preload_content', True),
+ _request_timeout=params.get('_request_timeout'),
+ collection_formats=collection_formats)
diff --git a/CyberSource/api/transaction_batches_api.py b/CyberSource/api/transaction_batches_api.py
index dfaff837..84317a81 100644
--- a/CyberSource/api/transaction_batches_api.py
+++ b/CyberSource/api/transaction_batches_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -141,23 +142,25 @@ def get_transaction_batch_details_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['text/csv', 'application/xml', 'text/vnd.cybersource.map-csv'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_transaction_batch_details,get_transaction_batch_details_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['text/csv', 'application/xml', 'text/vnd.cybersource.map-csv'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -262,23 +265,25 @@ def get_transaction_batch_id_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_transaction_batch_id,get_transaction_batch_id_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -391,23 +396,25 @@ def get_transaction_batches_with_http_info(self, start_time, end_time, **kwargs)
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_transaction_batches,get_transaction_batches_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -511,23 +518,25 @@ def upload_transaction_batch_with_http_info(self, file, **kwargs):
if 'file' in params:
local_var_files['file'] = params['file']
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['multipart/form-data'])
+
body_params = None
if 'POST' in ('POST'):
body_params = '{}'
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "upload_transaction_batch,upload_transaction_batch_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['multipart/form-data'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/transaction_details_api.py b/CyberSource/api/transaction_details_api.py
index 1af7fc22..b30fa9ce 100644
--- a/CyberSource/api/transaction_details_api.py
+++ b/CyberSource/api/transaction_details_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -133,23 +134,25 @@ def get_transaction_with_http_info(self, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_transaction,get_transaction_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/transient_token_data_api.py b/CyberSource/api/transient_token_data_api.py
index d695dadf..aaedbdd2 100644
--- a/CyberSource/api/transient_token_data_api.py
+++ b/CyberSource/api/transient_token_data_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -133,23 +134,25 @@ def get_payment_credentials_for_transient_token_with_http_info(self, payment_cre
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/jwt'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_payment_credentials_for_transient_token,get_payment_credentials_for_transient_token_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -254,23 +257,25 @@ def get_transaction_for_transient_token_with_http_info(self, transient_token, **
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_transaction_for_transient_token,get_transaction_for_transient_token_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/unified_checkout_capture_context_api.py b/CyberSource/api/unified_checkout_capture_context_api.py
index 46e6b3a4..75711b76 100644
--- a/CyberSource/api/unified_checkout_capture_context_api.py
+++ b/CyberSource/api/unified_checkout_capture_context_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def generate_unified_checkout_capture_context_with_http_info(self, generate_unif
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/jwt'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'generate_unified_checkout_capture_context_request' in params:
body_params = params['generate_unified_checkout_capture_context_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'generate_unified_checkout_capture_context_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "generate_unified_checkout_capture_context,generate_unified_checkout_capture_context_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/jwt'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/user_management_api.py b/CyberSource/api/user_management_api.py
index 51eea808..ff83f553 100644
--- a/CyberSource/api/user_management_api.py
+++ b/CyberSource/api/user_management_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -139,23 +140,25 @@ def get_users_with_http_info(self, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'GET' in ('POST'):
body_params = '{}'
-
- if 'GET' == GlobalLabelParameters.POST or 'GET' == GlobalLabelParameters.PUT or 'GET' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "get_users,get_users_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/user_management_search_api.py b/CyberSource/api/user_management_search_api.py
index 672d211e..e2841ea3 100644
--- a/CyberSource/api/user_management_search_api.py
+++ b/CyberSource/api/user_management_search_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def search_users_with_http_info(self, search_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
+
body_params = None
if 'search_request' in params:
body_params = params['search_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'search_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "search_users,search_users_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/verification_api.py b/CyberSource/api/verification_api.py
index a98c48ee..bbcd5485 100644
--- a/CyberSource/api/verification_api.py
+++ b/CyberSource/api/verification_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def validate_export_compliance_with_http_info(self, validate_export_compliance_r
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'validate_export_compliance_request' in params:
body_params = params['validate_export_compliance_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'validate_export_compliance_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "validate_export_compliance,validate_export_compliance_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -251,26 +250,24 @@ def verify_customer_address_with_http_info(self, verify_customer_address_request
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'verify_customer_address_request' in params:
body_params = params['verify_customer_address_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'verify_customer_address_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = False
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "verify_customer_address,verify_customer_address_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api/void_api.py b/CyberSource/api/void_api.py
index a96b6dd8..4d2c9686 100644
--- a/CyberSource/api/void_api.py
+++ b/CyberSource/api/void_api.py
@@ -22,6 +22,7 @@
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -130,26 +131,24 @@ def mit_void_with_http_info(self, mit_void_request, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'mit_void_request' in params:
body_params = params['mit_void_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'mit_void_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "mit_void,mit_void_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -261,26 +260,24 @@ def void_capture_with_http_info(self, void_capture_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'void_capture_request' in params:
body_params = params['void_capture_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'void_capture_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "void_capture,void_capture_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -392,26 +389,24 @@ def void_credit_with_http_info(self, void_credit_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'void_credit_request' in params:
body_params = params['void_credit_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'void_credit_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "void_credit,void_credit_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -523,26 +518,24 @@ def void_payment_with_http_info(self, void_payment_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'void_payment_request' in params:
body_params = params['void_payment_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'void_payment_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "void_payment,void_payment_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
@@ -654,26 +647,24 @@ def void_refund_with_http_info(self, void_refund_request, id, **kwargs):
form_params = []
local_var_files = {}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
+
body_params = None
if 'void_refund_request' in params:
body_params = params['void_refund_request']
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, 'void_refund_request', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
-
- if 'POST' == GlobalLabelParameters.POST or 'POST' == GlobalLabelParameters.PUT or 'POST' == GlobalLabelParameters.PATCH:
body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = True
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "void_refund,void_refund_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/hal+json;charset=utf-8'])
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json;charset=utf-8'])
-
# Authentication setting
auth_settings = []
diff --git a/CyberSource/api_client.py b/CyberSource/api_client.py
index b0a24770..9c3dda86 100644
--- a/CyberSource/api_client.py
+++ b/CyberSource/api_client.py
@@ -271,8 +271,8 @@ def __call_api(self, resource_path, method,
# post parameters
if post_params or files:
- post_params = self.remove_first_underscore(post_params)
- post_params = self.prepare_post_parameters(post_params, files)
+ # post_params = self.remove_first_underscore(post_params)
+ # post_params = self.prepare_post_parameters(post_params, files)
post_params = self.sanitize_for_serialization(post_params)
post_params = self.parameters_to_tuples(post_params,
collection_formats)
diff --git a/CyberSource/models/__init__.py b/CyberSource/models/__init__.py
index da34196a..80f5fcf8 100644
--- a/CyberSource/models/__init__.py
+++ b/CyberSource/models/__init__.py
@@ -91,6 +91,7 @@
from .create_credit_request import CreateCreditRequest
from .create_invoice_request import CreateInvoiceRequest
from .create_order_request import CreateOrderRequest
+from .create_payment_link_request import CreatePaymentLinkRequest
from .create_payment_request import CreatePaymentRequest
from .create_plan_request import CreatePlanRequest
from .create_plan_response import CreatePlanResponse
@@ -100,9 +101,11 @@
from .create_session_req import CreateSessionReq
from .create_session_request import CreateSessionRequest
from .create_subscription_request import CreateSubscriptionRequest
+from .create_subscription_request1 import CreateSubscriptionRequest1
from .create_subscription_response import CreateSubscriptionResponse
from .create_subscription_response_links import CreateSubscriptionResponseLinks
from .create_subscription_response_subscription_information import CreateSubscriptionResponseSubscriptionInformation
+from .create_webhook import CreateWebhook
from .delete_plan_response import DeletePlanResponse
from .dm_config import DmConfig
from .dm_config_organization import DmConfigOrganization
@@ -167,34 +170,46 @@
from .get_plan_response import GetPlanResponse
from .get_subscription_code_response import GetSubscriptionCodeResponse
from .get_subscription_response import GetSubscriptionResponse
+from .get_subscription_response1 import GetSubscriptionResponse1
+from .get_subscription_response1_buyer_information import GetSubscriptionResponse1BuyerInformation
+from .get_subscription_response1_links import GetSubscriptionResponse1Links
+from .get_subscription_response1_payment_instrument import GetSubscriptionResponse1PaymentInstrument
+from .get_subscription_response1_payment_instrument_bank_account import GetSubscriptionResponse1PaymentInstrumentBankAccount
+from .get_subscription_response1_payment_instrument_buyer_information import GetSubscriptionResponse1PaymentInstrumentBuyerInformation
+from .get_subscription_response1_payment_instrument_card import GetSubscriptionResponse1PaymentInstrumentCard
+from .get_subscription_response1_shipping_address import GetSubscriptionResponse1ShippingAddress
from .increment_auth_request import IncrementAuthRequest
from .inline_response200 import InlineResponse200
from .inline_response2001 import InlineResponse2001
-from .inline_response2001_integration_information import InlineResponse2001IntegrationInformation
-from .inline_response2001_integration_information_tenant_configurations import InlineResponse2001IntegrationInformationTenantConfigurations
+from .inline_response2001_embedded import InlineResponse2001Embedded
+from .inline_response2001_embedded_capture import InlineResponse2001EmbeddedCapture
+from .inline_response2001_embedded_capture_links import InlineResponse2001EmbeddedCaptureLinks
+from .inline_response2001_embedded_capture_links_self import InlineResponse2001EmbeddedCaptureLinksSelf
+from .inline_response2001_embedded_reversal import InlineResponse2001EmbeddedReversal
+from .inline_response2001_embedded_reversal_links import InlineResponse2001EmbeddedReversalLinks
+from .inline_response2001_embedded_reversal_links_self import InlineResponse2001EmbeddedReversalLinksSelf
from .inline_response2002 import InlineResponse2002
-from .inline_response2002_embedded import InlineResponse2002Embedded
-from .inline_response2002_embedded_batches import InlineResponse2002EmbeddedBatches
-from .inline_response2002_embedded_links import InlineResponse2002EmbeddedLinks
-from .inline_response2002_embedded_links_reports import InlineResponse2002EmbeddedLinksReports
-from .inline_response2002_embedded_totals import InlineResponse2002EmbeddedTotals
-from .inline_response2002_links import InlineResponse2002Links
+from .inline_response2002_integration_information import InlineResponse2002IntegrationInformation
+from .inline_response2002_integration_information_tenant_configurations import InlineResponse2002IntegrationInformationTenantConfigurations
from .inline_response2003 import InlineResponse2003
-from .inline_response2003_billing import InlineResponse2003Billing
-from .inline_response2003_links import InlineResponse2003Links
-from .inline_response2003_links_report import InlineResponse2003LinksReport
from .inline_response2004 import InlineResponse2004
-from .inline_response2004_records import InlineResponse2004Records
-from .inline_response2004_response_record import InlineResponse2004ResponseRecord
-from .inline_response2004_response_record_additional_updates import InlineResponse2004ResponseRecordAdditionalUpdates
-from .inline_response2004_source_record import InlineResponse2004SourceRecord
-from .inline_response200_embedded import InlineResponse200Embedded
-from .inline_response200_embedded_capture import InlineResponse200EmbeddedCapture
-from .inline_response200_embedded_capture_links import InlineResponse200EmbeddedCaptureLinks
-from .inline_response200_embedded_capture_links_self import InlineResponse200EmbeddedCaptureLinksSelf
-from .inline_response200_embedded_reversal import InlineResponse200EmbeddedReversal
-from .inline_response200_embedded_reversal_links import InlineResponse200EmbeddedReversalLinks
-from .inline_response200_embedded_reversal_links_self import InlineResponse200EmbeddedReversalLinksSelf
+from .inline_response2005 import InlineResponse2005
+from .inline_response2005_embedded import InlineResponse2005Embedded
+from .inline_response2005_embedded_batches import InlineResponse2005EmbeddedBatches
+from .inline_response2005_embedded_links import InlineResponse2005EmbeddedLinks
+from .inline_response2005_embedded_links_reports import InlineResponse2005EmbeddedLinksReports
+from .inline_response2005_embedded_totals import InlineResponse2005EmbeddedTotals
+from .inline_response2005_links import InlineResponse2005Links
+from .inline_response2006 import InlineResponse2006
+from .inline_response2006_billing import InlineResponse2006Billing
+from .inline_response2006_links import InlineResponse2006Links
+from .inline_response2006_links_report import InlineResponse2006LinksReport
+from .inline_response2007 import InlineResponse2007
+from .inline_response2007_records import InlineResponse2007Records
+from .inline_response2007_response_record import InlineResponse2007ResponseRecord
+from .inline_response2007_response_record_additional_updates import InlineResponse2007ResponseRecordAdditionalUpdates
+from .inline_response2007_source_record import InlineResponse2007SourceRecord
+from .inline_response200_content import InlineResponse200Content
from .inline_response201 import InlineResponse201
from .inline_response2011 import InlineResponse2011
from .inline_response2011_payout_information import InlineResponse2011PayoutInformation
@@ -220,9 +235,10 @@
from .inline_response2013_key_information_error_information import InlineResponse2013KeyInformationErrorInformation
from .inline_response2013_key_information_error_information_details import InlineResponse2013KeyInformationErrorInformationDetails
from .inline_response2014 import InlineResponse2014
-from .inline_response2014_payloads import InlineResponse2014Payloads
-from .inline_response2014_payloads_test_payload import InlineResponse2014PayloadsTestPayload
from .inline_response2015 import InlineResponse2015
+from .inline_response2015_payloads import InlineResponse2015Payloads
+from .inline_response2015_payloads_test_payload import InlineResponse2015PayloadsTestPayload
+from .inline_response2016 import InlineResponse2016
from .inline_response202 import InlineResponse202
from .inline_response202_links import InlineResponse202Links
from .inline_response202_links_status import InlineResponse202LinksStatus
@@ -233,9 +249,10 @@
from .inline_response4003 import InlineResponse4003
from .inline_response4004 import InlineResponse4004
from .inline_response4005 import InlineResponse4005
-from .inline_response4005_fields import InlineResponse4005Fields
from .inline_response4006 import InlineResponse4006
-from .inline_response4006_details import InlineResponse4006Details
+from .inline_response4006_fields import InlineResponse4006Fields
+from .inline_response4007 import InlineResponse4007
+from .inline_response4007_details import InlineResponse4007Details
from .inline_response400_details import InlineResponse400Details
from .inline_response400_errors import InlineResponse400Errors
from .inline_response401 import InlineResponse401
@@ -247,6 +264,8 @@
from .inline_response403_errors import InlineResponse403Errors
from .inline_response404 import InlineResponse404
from .inline_response4041 import InlineResponse4041
+from .inline_response4042 import InlineResponse4042
+from .inline_response4042_details import InlineResponse4042Details
from .inline_response409 import InlineResponse409
from .inline_response409_errors import InlineResponse409Errors
from .inline_response410 import InlineResponse410
@@ -283,6 +302,7 @@
from .invoicing_v2_invoices_all_get400_response import InvoicingV2InvoicesAllGet400Response
from .invoicing_v2_invoices_all_get404_response import InvoicingV2InvoicesAllGet404Response
from .invoicing_v2_invoices_all_get502_response import InvoicingV2InvoicesAllGet502Response
+from .invoicing_v2_invoices_cancel200_response import InvoicingV2InvoicesCancel200Response
from .invoicing_v2_invoices_get200_response import InvoicingV2InvoicesGet200Response
from .invoicing_v2_invoices_get200_response_invoice_history import InvoicingV2InvoicesGet200ResponseInvoiceHistory
from .invoicing_v2_invoices_get200_response_transaction_details import InvoicingV2InvoicesGet200ResponseTransactionDetails
@@ -291,7 +311,11 @@
from .invoicing_v2_invoices_post201_response_order_information import InvoicingV2InvoicesPost201ResponseOrderInformation
from .invoicing_v2_invoices_post201_response_order_information_amount_details import InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails
from .invoicing_v2_invoices_post202_response import InvoicingV2InvoicesPost202Response
+from .invoicing_v2_invoices_put200_response import InvoicingV2InvoicesPut200Response
+from .invoicing_v2_invoices_send200_response import InvoicingV2InvoicesSend200Response
from .invoicingv2invoice_settings_invoice_settings_information import Invoicingv2invoiceSettingsInvoiceSettingsInformation
+from .invoicingv2invoices_client_reference_information import Invoicingv2invoicesClientReferenceInformation
+from .invoicingv2invoices_client_reference_information_partner import Invoicingv2invoicesClientReferenceInformationPartner
from .invoicingv2invoices_customer_information import Invoicingv2invoicesCustomerInformation
from .invoicingv2invoices_customer_information_company import Invoicingv2invoicesCustomerInformationCompany
from .invoicingv2invoices_invoice_information import Invoicingv2invoicesInvoiceInformation
@@ -300,7 +324,16 @@
from .invoicingv2invoices_order_information_amount_details_freight import Invoicingv2invoicesOrderInformationAmountDetailsFreight
from .invoicingv2invoices_order_information_amount_details_tax_details import Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails
from .invoicingv2invoices_order_information_line_items import Invoicingv2invoicesOrderInformationLineItems
+from .invoicingv2invoices_processing_information import Invoicingv2invoicesProcessingInformation
from .invoicingv2invoicesid_invoice_information import Invoicingv2invoicesidInvoiceInformation
+from .iplv2paymentlinks_order_information import Iplv2paymentlinksOrderInformation
+from .iplv2paymentlinks_order_information_amount_details import Iplv2paymentlinksOrderInformationAmountDetails
+from .iplv2paymentlinks_order_information_line_items import Iplv2paymentlinksOrderInformationLineItems
+from .iplv2paymentlinks_processing_information import Iplv2paymentlinksProcessingInformation
+from .iplv2paymentlinks_purchase_information import Iplv2paymentlinksPurchaseInformation
+from .iplv2paymentlinksid_order_information import Iplv2paymentlinksidOrderInformation
+from .iplv2paymentlinksid_processing_information import Iplv2paymentlinksidProcessingInformation
+from .iplv2paymentlinksid_purchase_information import Iplv2paymentlinksidPurchaseInformation
from .kmsegressv2keysasym_client_reference_information import Kmsegressv2keysasymClientReferenceInformation
from .kmsegressv2keysasym_key_information import Kmsegressv2keysasymKeyInformation
from .kmsegressv2keyssym_client_reference_information import Kmsegressv2keyssymClientReferenceInformation
@@ -315,6 +348,15 @@
from .network_token_services_enablement import NetworkTokenServicesEnablement
from .network_token_services_enablement_mastercard_digital_enablement_service import NetworkTokenServicesEnablementMastercardDigitalEnablementService
from .network_token_services_enablement_visa_token_service import NetworkTokenServicesEnablementVisaTokenService
+from .notificationsubscriptionsv2productsorganization_id_event_types import Notificationsubscriptionsv2productsorganizationIdEventTypes
+from .notificationsubscriptionsv2webhooks_products import Notificationsubscriptionsv2webhooksProducts
+from .notificationsubscriptionsv2webhooks_products1 import Notificationsubscriptionsv2webhooksProducts1
+from .notificationsubscriptionsv2webhooks_retry_policy import Notificationsubscriptionsv2webhooksRetryPolicy
+from .notificationsubscriptionsv2webhooks_security_policy import Notificationsubscriptionsv2webhooksSecurityPolicy
+from .notificationsubscriptionsv2webhooks_security_policy1 import Notificationsubscriptionsv2webhooksSecurityPolicy1
+from .notificationsubscriptionsv2webhooks_security_policy1_config import Notificationsubscriptionsv2webhooksSecurityPolicy1Config
+from .notificationsubscriptionsv2webhooks_security_policy1_config_additional_config import Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig
+from .notificationsubscriptionsv2webhooks_security_policy_config import Notificationsubscriptionsv2webhooksSecurityPolicyConfig
from .oct_create_payment_request import OctCreatePaymentRequest
from .order_payment_request import OrderPaymentRequest
from .patch_customer_payment_instrument_request import PatchCustomerPaymentInstrumentRequest
@@ -386,6 +428,20 @@
from .payments_products_virtual_terminal import PaymentsProductsVirtualTerminal
from .payments_products_virtual_terminal_configuration_information import PaymentsProductsVirtualTerminalConfigurationInformation
from .payments_strong_auth_issuer_information import PaymentsStrongAuthIssuerInformation
+from .pbl_payment_links_all_get200_response import PblPaymentLinksAllGet200Response
+from .pbl_payment_links_all_get200_response_order_information import PblPaymentLinksAllGet200ResponseOrderInformation
+from .pbl_payment_links_all_get200_response_order_information_amount_details import PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+from .pbl_payment_links_all_get200_response_order_information_line_items import PblPaymentLinksAllGet200ResponseOrderInformationLineItems
+from .pbl_payment_links_all_get200_response_processing_information import PblPaymentLinksAllGet200ResponseProcessingInformation
+from .pbl_payment_links_all_get200_response_purchase_information import PblPaymentLinksAllGet200ResponsePurchaseInformation
+from .pbl_payment_links_all_get200_response_sdk_links import PblPaymentLinksAllGet200ResponseSdkLinks
+from .pbl_payment_links_all_get400_response import PblPaymentLinksAllGet400Response
+from .pbl_payment_links_all_get404_response import PblPaymentLinksAllGet404Response
+from .pbl_payment_links_get200_response import PblPaymentLinksGet200Response
+from .pbl_payment_links_post201_response import PblPaymentLinksPost201Response
+from .pbl_payment_links_post201_response_links import PblPaymentLinksPost201ResponseLinks
+from .pbl_payment_links_post201_response_order_information import PblPaymentLinksPost201ResponseOrderInformation
+from .pbl_payment_links_post201_response_purchase_information import PblPaymentLinksPost201ResponsePurchaseInformation
from .post_customer_payment_instrument_request import PostCustomerPaymentInstrumentRequest
from .post_customer_request import PostCustomerRequest
from .post_customer_shipping_address_request import PostCustomerShippingAddressRequest
@@ -1224,6 +1280,7 @@
from .tmsv2customers_metadata import Tmsv2customersMetadata
from .tmsv2customers_object_information import Tmsv2customersObjectInformation
from .token_permissions import TokenPermissions
+from .tokenizedcard_request import TokenizedcardRequest
from .tss_v2_get_emv_tags200_response import TssV2GetEmvTags200Response
from .tss_v2_get_emv_tags200_response_emv_tag_breakdown_list import TssV2GetEmvTags200ResponseEmvTagBreakdownList
from .tss_v2_post_emv_tags200_response import TssV2PostEmvTags200Response
@@ -1319,12 +1376,16 @@
from .ums_v1_users_get200_response_users import UmsV1UsersGet200ResponseUsers
from .update_invoice_request import UpdateInvoiceRequest
from .update_order_request import UpdateOrderRequest
+from .update_payment_link_request import UpdatePaymentLinkRequest
from .update_plan_request import UpdatePlanRequest
from .update_plan_response import UpdatePlanResponse
from .update_plan_response_plan_information import UpdatePlanResponsePlanInformation
+from .update_status import UpdateStatus
from .update_subscription import UpdateSubscription
from .update_subscription_response import UpdateSubscriptionResponse
+from .update_webhook import UpdateWebhook
from .upv1capturecontexts_capture_mandate import Upv1capturecontextsCaptureMandate
+from .upv1capturecontexts_complete_mandate import Upv1capturecontextsCompleteMandate
from .upv1capturecontexts_order_information import Upv1capturecontextsOrderInformation
from .upv1capturecontexts_order_information_amount_details import Upv1capturecontextsOrderInformationAmountDetails
from .upv1capturecontexts_order_information_bill_to import Upv1capturecontextsOrderInformationBillTo
diff --git a/CyberSource/models/create_invoice_request.py b/CyberSource/models/create_invoice_request.py
index 32e10d8b..2c6b2a33 100644
--- a/CyberSource/models/create_invoice_request.py
+++ b/CyberSource/models/create_invoice_request.py
@@ -30,32 +30,61 @@ class CreateInvoiceRequest(object):
and the value is json key in definition.
"""
swagger_types = {
+ 'client_reference_information': 'Invoicingv2invoicesClientReferenceInformation',
'customer_information': 'Invoicingv2invoicesCustomerInformation',
+ 'processing_information': 'Invoicingv2invoicesProcessingInformation',
'invoice_information': 'Invoicingv2invoicesInvoiceInformation',
'order_information': 'Invoicingv2invoicesOrderInformation'
}
attribute_map = {
+ 'client_reference_information': 'clientReferenceInformation',
'customer_information': 'customerInformation',
+ 'processing_information': 'processingInformation',
'invoice_information': 'invoiceInformation',
'order_information': 'orderInformation'
}
- def __init__(self, customer_information=None, invoice_information=None, order_information=None):
+ def __init__(self, client_reference_information=None, customer_information=None, processing_information=None, invoice_information=None, order_information=None):
"""
CreateInvoiceRequest - a model defined in Swagger
"""
+ self._client_reference_information = None
self._customer_information = None
+ self._processing_information = None
self._invoice_information = None
self._order_information = None
+ if client_reference_information is not None:
+ self.client_reference_information = client_reference_information
if customer_information is not None:
self.customer_information = customer_information
- if invoice_information is not None:
- self.invoice_information = invoice_information
- if order_information is not None:
- self.order_information = order_information
+ if processing_information is not None:
+ self.processing_information = processing_information
+ self.invoice_information = invoice_information
+ self.order_information = order_information
+
+ @property
+ def client_reference_information(self):
+ """
+ Gets the client_reference_information of this CreateInvoiceRequest.
+
+ :return: The client_reference_information of this CreateInvoiceRequest.
+ :rtype: Invoicingv2invoicesClientReferenceInformation
+ """
+ return self._client_reference_information
+
+ @client_reference_information.setter
+ def client_reference_information(self, client_reference_information):
+ """
+ Sets the client_reference_information of this CreateInvoiceRequest.
+
+ :param client_reference_information: The client_reference_information of this CreateInvoiceRequest.
+ :type: Invoicingv2invoicesClientReferenceInformation
+ """
+
+ self._client_reference_information = client_reference_information
@property
def customer_information(self):
@@ -78,6 +107,27 @@ def customer_information(self, customer_information):
self._customer_information = customer_information
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this CreateInvoiceRequest.
+
+ :return: The processing_information of this CreateInvoiceRequest.
+ :rtype: Invoicingv2invoicesProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this CreateInvoiceRequest.
+
+ :param processing_information: The processing_information of this CreateInvoiceRequest.
+ :type: Invoicingv2invoicesProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
@property
def invoice_information(self):
"""
diff --git a/CyberSource/models/create_payment_link_request.py b/CyberSource/models/create_payment_link_request.py
new file mode 100644
index 00000000..ed14bba0
--- /dev/null
+++ b/CyberSource/models/create_payment_link_request.py
@@ -0,0 +1,197 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class CreatePaymentLinkRequest(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'client_reference_information': 'Invoicingv2invoicesClientReferenceInformation',
+ 'processing_information': 'Iplv2paymentlinksProcessingInformation',
+ 'purchase_information': 'Iplv2paymentlinksPurchaseInformation',
+ 'order_information': 'Iplv2paymentlinksOrderInformation'
+ }
+
+ attribute_map = {
+ 'client_reference_information': 'clientReferenceInformation',
+ 'processing_information': 'processingInformation',
+ 'purchase_information': 'purchaseInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, client_reference_information=None, processing_information=None, purchase_information=None, order_information=None):
+ """
+ CreatePaymentLinkRequest - a model defined in Swagger
+ """
+
+ self._client_reference_information = None
+ self._processing_information = None
+ self._purchase_information = None
+ self._order_information = None
+
+ if client_reference_information is not None:
+ self.client_reference_information = client_reference_information
+ self.processing_information = processing_information
+ self.purchase_information = purchase_information
+ self.order_information = order_information
+
+ @property
+ def client_reference_information(self):
+ """
+ Gets the client_reference_information of this CreatePaymentLinkRequest.
+
+ :return: The client_reference_information of this CreatePaymentLinkRequest.
+ :rtype: Invoicingv2invoicesClientReferenceInformation
+ """
+ return self._client_reference_information
+
+ @client_reference_information.setter
+ def client_reference_information(self, client_reference_information):
+ """
+ Sets the client_reference_information of this CreatePaymentLinkRequest.
+
+ :param client_reference_information: The client_reference_information of this CreatePaymentLinkRequest.
+ :type: Invoicingv2invoicesClientReferenceInformation
+ """
+
+ self._client_reference_information = client_reference_information
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this CreatePaymentLinkRequest.
+
+ :return: The processing_information of this CreatePaymentLinkRequest.
+ :rtype: Iplv2paymentlinksProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this CreatePaymentLinkRequest.
+
+ :param processing_information: The processing_information of this CreatePaymentLinkRequest.
+ :type: Iplv2paymentlinksProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def purchase_information(self):
+ """
+ Gets the purchase_information of this CreatePaymentLinkRequest.
+
+ :return: The purchase_information of this CreatePaymentLinkRequest.
+ :rtype: Iplv2paymentlinksPurchaseInformation
+ """
+ return self._purchase_information
+
+ @purchase_information.setter
+ def purchase_information(self, purchase_information):
+ """
+ Sets the purchase_information of this CreatePaymentLinkRequest.
+
+ :param purchase_information: The purchase_information of this CreatePaymentLinkRequest.
+ :type: Iplv2paymentlinksPurchaseInformation
+ """
+
+ self._purchase_information = purchase_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this CreatePaymentLinkRequest.
+
+ :return: The order_information of this CreatePaymentLinkRequest.
+ :rtype: Iplv2paymentlinksOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this CreatePaymentLinkRequest.
+
+ :param order_information: The order_information of this CreatePaymentLinkRequest.
+ :type: Iplv2paymentlinksOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, CreatePaymentLinkRequest):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/create_subscription_request1.py b/CyberSource/models/create_subscription_request1.py
new file mode 100644
index 00000000..4ede83a3
--- /dev/null
+++ b/CyberSource/models/create_subscription_request1.py
@@ -0,0 +1,226 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class CreateSubscriptionRequest1(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'client_reference_information': 'Rbsv1subscriptionsClientReferenceInformation',
+ 'processing_information': 'Rbsv1subscriptionsProcessingInformation',
+ 'plan_information': 'Rbsv1subscriptionsPlanInformation',
+ 'subscription_information': 'Rbsv1subscriptionsSubscriptionInformation',
+ 'order_information': 'GetAllPlansResponseOrderInformation'
+ }
+
+ attribute_map = {
+ 'client_reference_information': 'clientReferenceInformation',
+ 'processing_information': 'processingInformation',
+ 'plan_information': 'planInformation',
+ 'subscription_information': 'subscriptionInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, client_reference_information=None, processing_information=None, plan_information=None, subscription_information=None, order_information=None):
+ """
+ CreateSubscriptionRequest1 - a model defined in Swagger
+ """
+
+ self._client_reference_information = None
+ self._processing_information = None
+ self._plan_information = None
+ self._subscription_information = None
+ self._order_information = None
+
+ if client_reference_information is not None:
+ self.client_reference_information = client_reference_information
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if plan_information is not None:
+ self.plan_information = plan_information
+ if subscription_information is not None:
+ self.subscription_information = subscription_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def client_reference_information(self):
+ """
+ Gets the client_reference_information of this CreateSubscriptionRequest1.
+
+ :return: The client_reference_information of this CreateSubscriptionRequest1.
+ :rtype: Rbsv1subscriptionsClientReferenceInformation
+ """
+ return self._client_reference_information
+
+ @client_reference_information.setter
+ def client_reference_information(self, client_reference_information):
+ """
+ Sets the client_reference_information of this CreateSubscriptionRequest1.
+
+ :param client_reference_information: The client_reference_information of this CreateSubscriptionRequest1.
+ :type: Rbsv1subscriptionsClientReferenceInformation
+ """
+
+ self._client_reference_information = client_reference_information
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this CreateSubscriptionRequest1.
+
+ :return: The processing_information of this CreateSubscriptionRequest1.
+ :rtype: Rbsv1subscriptionsProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this CreateSubscriptionRequest1.
+
+ :param processing_information: The processing_information of this CreateSubscriptionRequest1.
+ :type: Rbsv1subscriptionsProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def plan_information(self):
+ """
+ Gets the plan_information of this CreateSubscriptionRequest1.
+
+ :return: The plan_information of this CreateSubscriptionRequest1.
+ :rtype: Rbsv1subscriptionsPlanInformation
+ """
+ return self._plan_information
+
+ @plan_information.setter
+ def plan_information(self, plan_information):
+ """
+ Sets the plan_information of this CreateSubscriptionRequest1.
+
+ :param plan_information: The plan_information of this CreateSubscriptionRequest1.
+ :type: Rbsv1subscriptionsPlanInformation
+ """
+
+ self._plan_information = plan_information
+
+ @property
+ def subscription_information(self):
+ """
+ Gets the subscription_information of this CreateSubscriptionRequest1.
+
+ :return: The subscription_information of this CreateSubscriptionRequest1.
+ :rtype: Rbsv1subscriptionsSubscriptionInformation
+ """
+ return self._subscription_information
+
+ @subscription_information.setter
+ def subscription_information(self, subscription_information):
+ """
+ Sets the subscription_information of this CreateSubscriptionRequest1.
+
+ :param subscription_information: The subscription_information of this CreateSubscriptionRequest1.
+ :type: Rbsv1subscriptionsSubscriptionInformation
+ """
+
+ self._subscription_information = subscription_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this CreateSubscriptionRequest1.
+
+ :return: The order_information of this CreateSubscriptionRequest1.
+ :rtype: GetAllPlansResponseOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this CreateSubscriptionRequest1.
+
+ :param order_information: The order_information of this CreateSubscriptionRequest1.
+ :type: GetAllPlansResponseOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, CreateSubscriptionRequest1):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/create_webhook.py b/CyberSource/models/create_webhook.py
new file mode 100644
index 00000000..eaf21c6f
--- /dev/null
+++ b/CyberSource/models/create_webhook.py
@@ -0,0 +1,316 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class CreateWebhook(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'name': 'str',
+ 'description': 'str',
+ 'organization_id': 'str',
+ 'products': 'list[Notificationsubscriptionsv2webhooksProducts1]',
+ 'webhook_url': 'str',
+ 'health_check_url': 'str',
+ 'retry_policy': 'Notificationsubscriptionsv2webhooksRetryPolicy',
+ 'security_policy': 'Notificationsubscriptionsv2webhooksSecurityPolicy1'
+ }
+
+ attribute_map = {
+ 'name': 'name',
+ 'description': 'description',
+ 'organization_id': 'organizationId',
+ 'products': 'products',
+ 'webhook_url': 'webhookUrl',
+ 'health_check_url': 'healthCheckUrl',
+ 'retry_policy': 'retryPolicy',
+ 'security_policy': 'securityPolicy'
+ }
+
+ def __init__(self, name=None, description=None, organization_id=None, products=None, webhook_url=None, health_check_url=None, retry_policy=None, security_policy=None):
+ """
+ CreateWebhook - a model defined in Swagger
+ """
+
+ self._name = None
+ self._description = None
+ self._organization_id = None
+ self._products = None
+ self._webhook_url = None
+ self._health_check_url = None
+ self._retry_policy = None
+ self._security_policy = None
+
+ if name is not None:
+ self.name = name
+ if description is not None:
+ self.description = description
+ if organization_id is not None:
+ self.organization_id = organization_id
+ if products is not None:
+ self.products = products
+ if webhook_url is not None:
+ self.webhook_url = webhook_url
+ if health_check_url is not None:
+ self.health_check_url = health_check_url
+ if retry_policy is not None:
+ self.retry_policy = retry_policy
+ if security_policy is not None:
+ self.security_policy = security_policy
+
+ @property
+ def name(self):
+ """
+ Gets the name of this CreateWebhook.
+ Client friendly webhook name.
+
+ :return: The name of this CreateWebhook.
+ :rtype: str
+ """
+ return self._name
+
+ @name.setter
+ def name(self, name):
+ """
+ Sets the name of this CreateWebhook.
+ Client friendly webhook name.
+
+ :param name: The name of this CreateWebhook.
+ :type: str
+ """
+
+ self._name = name
+
+ @property
+ def description(self):
+ """
+ Gets the description of this CreateWebhook.
+ Client friendly webhook description.
+
+ :return: The description of this CreateWebhook.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this CreateWebhook.
+ Client friendly webhook description.
+
+ :param description: The description of this CreateWebhook.
+ :type: str
+ """
+
+ self._description = description
+
+ @property
+ def organization_id(self):
+ """
+ Gets the organization_id of this CreateWebhook.
+ Organization Identifier (OrgId) or Merchant Identifier (MID).
+
+ :return: The organization_id of this CreateWebhook.
+ :rtype: str
+ """
+ return self._organization_id
+
+ @organization_id.setter
+ def organization_id(self, organization_id):
+ """
+ Sets the organization_id of this CreateWebhook.
+ Organization Identifier (OrgId) or Merchant Identifier (MID).
+
+ :param organization_id: The organization_id of this CreateWebhook.
+ :type: str
+ """
+
+ self._organization_id = organization_id
+
+ @property
+ def products(self):
+ """
+ Gets the products of this CreateWebhook.
+ To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint.
+
+ :return: The products of this CreateWebhook.
+ :rtype: list[Notificationsubscriptionsv2webhooksProducts1]
+ """
+ return self._products
+
+ @products.setter
+ def products(self, products):
+ """
+ Sets the products of this CreateWebhook.
+ To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint.
+
+ :param products: The products of this CreateWebhook.
+ :type: list[Notificationsubscriptionsv2webhooksProducts1]
+ """
+
+ self._products = products
+
+ @property
+ def webhook_url(self):
+ """
+ Gets the webhook_url of this CreateWebhook.
+ The client's endpoint (URL) to receive webhooks.
+
+ :return: The webhook_url of this CreateWebhook.
+ :rtype: str
+ """
+ return self._webhook_url
+
+ @webhook_url.setter
+ def webhook_url(self, webhook_url):
+ """
+ Sets the webhook_url of this CreateWebhook.
+ The client's endpoint (URL) to receive webhooks.
+
+ :param webhook_url: The webhook_url of this CreateWebhook.
+ :type: str
+ """
+
+ self._webhook_url = webhook_url
+
+ @property
+ def health_check_url(self):
+ """
+ Gets the health_check_url of this CreateWebhook.
+ 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: The health_check_url of this CreateWebhook.
+ :rtype: str
+ """
+ return self._health_check_url
+
+ @health_check_url.setter
+ def health_check_url(self, health_check_url):
+ """
+ Sets the health_check_url of this CreateWebhook.
+ 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.
+
+ :param health_check_url: The health_check_url of this CreateWebhook.
+ :type: str
+ """
+
+ self._health_check_url = health_check_url
+
+ @property
+ def retry_policy(self):
+ """
+ Gets the retry_policy of this CreateWebhook.
+
+ :return: The retry_policy of this CreateWebhook.
+ :rtype: Notificationsubscriptionsv2webhooksRetryPolicy
+ """
+ return self._retry_policy
+
+ @retry_policy.setter
+ def retry_policy(self, retry_policy):
+ """
+ Sets the retry_policy of this CreateWebhook.
+
+ :param retry_policy: The retry_policy of this CreateWebhook.
+ :type: Notificationsubscriptionsv2webhooksRetryPolicy
+ """
+
+ self._retry_policy = retry_policy
+
+ @property
+ def security_policy(self):
+ """
+ Gets the security_policy of this CreateWebhook.
+
+ :return: The security_policy of this CreateWebhook.
+ :rtype: Notificationsubscriptionsv2webhooksSecurityPolicy1
+ """
+ return self._security_policy
+
+ @security_policy.setter
+ def security_policy(self, security_policy):
+ """
+ Sets the security_policy of this CreateWebhook.
+
+ :param security_policy: The security_policy of this CreateWebhook.
+ :type: Notificationsubscriptionsv2webhooksSecurityPolicy1
+ """
+
+ self._security_policy = security_policy
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, CreateWebhook):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/generate_capture_context_request.py b/CyberSource/models/generate_capture_context_request.py
index 0a5849e7..0645b463 100644
--- a/CyberSource/models/generate_capture_context_request.py
+++ b/CyberSource/models/generate_capture_context_request.py
@@ -94,7 +94,7 @@ def client_version(self, client_version):
def target_origins(self):
"""
Gets the target_origins of this GenerateCaptureContextRequest.
- 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). 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
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\" ]
+ 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). 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
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\" ]
You can supply up to nine origins within the targetOrigins field for nested iframes. If the list of origins exceeds five ensure that you: - Compare the list of origins in the v2/sessions targetOrigins field against the location.ancestorOrigins of the browser. - Ensure that the count of origins and their content matches in both. If any origins are absent or mismatched, the system will prevent Microform from loading and display a client-side error message.
:return: The target_origins of this GenerateCaptureContextRequest.
:rtype: list[str]
@@ -105,7 +105,7 @@ def target_origins(self):
def target_origins(self, target_origins):
"""
Sets the target_origins of this GenerateCaptureContextRequest.
- 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). 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
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\" ]
+ 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). 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
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\" ]
You can supply up to nine origins within the targetOrigins field for nested iframes. If the list of origins exceeds five ensure that you: - Compare the list of origins in the v2/sessions targetOrigins field against the location.ancestorOrigins of the browser. - Ensure that the count of origins and their content matches in both. If any origins are absent or mismatched, the system will prevent Microform from loading and display a client-side error message.
:param target_origins: The target_origins of this GenerateCaptureContextRequest.
:type: list[str]
@@ -117,7 +117,7 @@ def target_origins(self, target_origins):
def allowed_card_networks(self):
"""
Gets the allowed_card_networks of this GenerateCaptureContextRequest.
- The list of card networks you want to use for this Microform transaction. Microform currently supports the following card networks: - VISA - MASTERCARD - AMEX - CARNET - CARTESBANCAIRES - CUP - DINERSCLUB - DISCOVER - EFTPOS - ELO - JCB - JCREW - MADA - MAESTRO - MEEZA **Important:** - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request. - When integrating Microform (ACH/Echeck) the allowedCardNetworks field is not required in the capture context request. - 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.
+ The list of card networks you want to use for this Microform transaction. Microform currently supports the following card networks: - VISA - MASTERCARD - AMEX - CARNET - CARTESBANCAIRES - CUP - DINERSCLUB - DISCOVER - EFTPOS - ELO - JCB - JCREW - MADA - MAESTRO - MEEZA **Important:** - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request. - When integrating Microform (ACH/eCheck) the allowedCardNetworks field is not required in the capture context request. - 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.
:return: The allowed_card_networks of this GenerateCaptureContextRequest.
:rtype: list[str]
@@ -128,7 +128,7 @@ def allowed_card_networks(self):
def allowed_card_networks(self, allowed_card_networks):
"""
Sets the allowed_card_networks of this GenerateCaptureContextRequest.
- The list of card networks you want to use for this Microform transaction. Microform currently supports the following card networks: - VISA - MASTERCARD - AMEX - CARNET - CARTESBANCAIRES - CUP - DINERSCLUB - DISCOVER - EFTPOS - ELO - JCB - JCREW - MADA - MAESTRO - MEEZA **Important:** - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request. - When integrating Microform (ACH/Echeck) the allowedCardNetworks field is not required in the capture context request. - 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.
+ The list of card networks you want to use for this Microform transaction. Microform currently supports the following card networks: - VISA - MASTERCARD - AMEX - CARNET - CARTESBANCAIRES - CUP - DINERSCLUB - DISCOVER - EFTPOS - ELO - JCB - JCREW - MADA - MAESTRO - MEEZA **Important:** - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request. - When integrating Microform (ACH/eCheck) the allowedCardNetworks field is not required in the capture context request. - 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.
:param allowed_card_networks: The allowed_card_networks of this GenerateCaptureContextRequest.
:type: list[str]
diff --git a/CyberSource/models/generate_unified_checkout_capture_context_request.py b/CyberSource/models/generate_unified_checkout_capture_context_request.py
index ee5444af..7c366f6e 100644
--- a/CyberSource/models/generate_unified_checkout_capture_context_request.py
+++ b/CyberSource/models/generate_unified_checkout_capture_context_request.py
@@ -37,6 +37,7 @@ class GenerateUnifiedCheckoutCaptureContextRequest(object):
'country': 'str',
'locale': 'str',
'capture_mandate': 'Upv1capturecontextsCaptureMandate',
+ 'complete_mandate': 'Upv1capturecontextsCompleteMandate',
'order_information': 'Upv1capturecontextsOrderInformation',
'transient_token_response_options': 'Microformv2sessionsTransientTokenResponseOptions'
}
@@ -49,11 +50,12 @@ class GenerateUnifiedCheckoutCaptureContextRequest(object):
'country': 'country',
'locale': 'locale',
'capture_mandate': 'captureMandate',
+ 'complete_mandate': 'completeMandate',
'order_information': 'orderInformation',
'transient_token_response_options': 'transientTokenResponseOptions'
}
- def __init__(self, client_version=None, target_origins=None, allowed_card_networks=None, allowed_payment_types=None, country=None, locale=None, capture_mandate=None, order_information=None, transient_token_response_options=None):
+ def __init__(self, client_version=None, target_origins=None, allowed_card_networks=None, allowed_payment_types=None, country=None, locale=None, capture_mandate=None, complete_mandate=None, order_information=None, transient_token_response_options=None):
"""
GenerateUnifiedCheckoutCaptureContextRequest - a model defined in Swagger
"""
@@ -65,6 +67,7 @@ def __init__(self, client_version=None, target_origins=None, allowed_card_networ
self._country = None
self._locale = None
self._capture_mandate = None
+ self._complete_mandate = None
self._order_information = None
self._transient_token_response_options = None
@@ -82,6 +85,8 @@ def __init__(self, client_version=None, target_origins=None, allowed_card_networ
self.locale = locale
if capture_mandate is not None:
self.capture_mandate = capture_mandate
+ if complete_mandate is not None:
+ self.complete_mandate = complete_mandate
if order_information is not None:
self.order_information = order_information
if transient_token_response_options is not None:
@@ -246,6 +251,27 @@ def capture_mandate(self, capture_mandate):
self._capture_mandate = capture_mandate
+ @property
+ def complete_mandate(self):
+ """
+ Gets the complete_mandate of this GenerateUnifiedCheckoutCaptureContextRequest.
+
+ :return: The complete_mandate of this GenerateUnifiedCheckoutCaptureContextRequest.
+ :rtype: Upv1capturecontextsCompleteMandate
+ """
+ return self._complete_mandate
+
+ @complete_mandate.setter
+ def complete_mandate(self, complete_mandate):
+ """
+ Sets the complete_mandate of this GenerateUnifiedCheckoutCaptureContextRequest.
+
+ :param complete_mandate: The complete_mandate of this GenerateUnifiedCheckoutCaptureContextRequest.
+ :type: Upv1capturecontextsCompleteMandate
+ """
+
+ self._complete_mandate = complete_mandate
+
@property
def order_information(self):
"""
diff --git a/CyberSource/models/get_subscription_response1.py b/CyberSource/models/get_subscription_response1.py
new file mode 100644
index 00000000..4f2f3dca
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1.py
@@ -0,0 +1,200 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'GetSubscriptionResponse1Links',
+ 'buyer_information': 'GetSubscriptionResponse1BuyerInformation',
+ 'payment_instrument': 'GetSubscriptionResponse1PaymentInstrument',
+ 'shipping_address': 'GetSubscriptionResponse1ShippingAddress'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'buyer_information': 'buyerInformation',
+ 'payment_instrument': 'paymentInstrument',
+ 'shipping_address': 'shippingAddress'
+ }
+
+ def __init__(self, links=None, buyer_information=None, payment_instrument=None, shipping_address=None):
+ """
+ GetSubscriptionResponse1 - a model defined in Swagger
+ """
+
+ self._links = None
+ self._buyer_information = None
+ self._payment_instrument = None
+ self._shipping_address = None
+
+ if links is not None:
+ self.links = links
+ if buyer_information is not None:
+ self.buyer_information = buyer_information
+ if payment_instrument is not None:
+ self.payment_instrument = payment_instrument
+ if shipping_address is not None:
+ self.shipping_address = shipping_address
+
+ @property
+ def links(self):
+ """
+ Gets the links of this GetSubscriptionResponse1.
+
+ :return: The links of this GetSubscriptionResponse1.
+ :rtype: GetSubscriptionResponse1Links
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this GetSubscriptionResponse1.
+
+ :param links: The links of this GetSubscriptionResponse1.
+ :type: GetSubscriptionResponse1Links
+ """
+
+ self._links = links
+
+ @property
+ def buyer_information(self):
+ """
+ Gets the buyer_information of this GetSubscriptionResponse1.
+
+ :return: The buyer_information of this GetSubscriptionResponse1.
+ :rtype: GetSubscriptionResponse1BuyerInformation
+ """
+ return self._buyer_information
+
+ @buyer_information.setter
+ def buyer_information(self, buyer_information):
+ """
+ Sets the buyer_information of this GetSubscriptionResponse1.
+
+ :param buyer_information: The buyer_information of this GetSubscriptionResponse1.
+ :type: GetSubscriptionResponse1BuyerInformation
+ """
+
+ self._buyer_information = buyer_information
+
+ @property
+ def payment_instrument(self):
+ """
+ Gets the payment_instrument of this GetSubscriptionResponse1.
+
+ :return: The payment_instrument of this GetSubscriptionResponse1.
+ :rtype: GetSubscriptionResponse1PaymentInstrument
+ """
+ return self._payment_instrument
+
+ @payment_instrument.setter
+ def payment_instrument(self, payment_instrument):
+ """
+ Sets the payment_instrument of this GetSubscriptionResponse1.
+
+ :param payment_instrument: The payment_instrument of this GetSubscriptionResponse1.
+ :type: GetSubscriptionResponse1PaymentInstrument
+ """
+
+ self._payment_instrument = payment_instrument
+
+ @property
+ def shipping_address(self):
+ """
+ Gets the shipping_address of this GetSubscriptionResponse1.
+
+ :return: The shipping_address of this GetSubscriptionResponse1.
+ :rtype: GetSubscriptionResponse1ShippingAddress
+ """
+ return self._shipping_address
+
+ @shipping_address.setter
+ def shipping_address(self, shipping_address):
+ """
+ Sets the shipping_address of this GetSubscriptionResponse1.
+
+ :param shipping_address: The shipping_address of this GetSubscriptionResponse1.
+ :type: GetSubscriptionResponse1ShippingAddress
+ """
+
+ self._shipping_address = shipping_address
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/get_subscription_response1_buyer_information.py b/CyberSource/models/get_subscription_response1_buyer_information.py
new file mode 100644
index 00000000..9cb0107d
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1_buyer_information.py
@@ -0,0 +1,152 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1BuyerInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'merchant_customer_id': 'str',
+ 'email': 'str'
+ }
+
+ attribute_map = {
+ 'merchant_customer_id': 'merchantCustomerID',
+ 'email': 'email'
+ }
+
+ def __init__(self, merchant_customer_id=None, email=None):
+ """
+ GetSubscriptionResponse1BuyerInformation - a model defined in Swagger
+ """
+
+ self._merchant_customer_id = None
+ self._email = None
+
+ if merchant_customer_id is not None:
+ self.merchant_customer_id = merchant_customer_id
+ if email is not None:
+ self.email = email
+
+ @property
+ def merchant_customer_id(self):
+ """
+ Gets the merchant_customer_id of this GetSubscriptionResponse1BuyerInformation.
+ Merchant identifier for the customer.
+
+ :return: The merchant_customer_id of this GetSubscriptionResponse1BuyerInformation.
+ :rtype: str
+ """
+ return self._merchant_customer_id
+
+ @merchant_customer_id.setter
+ def merchant_customer_id(self, merchant_customer_id):
+ """
+ Sets the merchant_customer_id of this GetSubscriptionResponse1BuyerInformation.
+ Merchant identifier for the customer.
+
+ :param merchant_customer_id: The merchant_customer_id of this GetSubscriptionResponse1BuyerInformation.
+ :type: str
+ """
+
+ self._merchant_customer_id = merchant_customer_id
+
+ @property
+ def email(self):
+ """
+ Gets the email of this GetSubscriptionResponse1BuyerInformation.
+ Customer's primary email address, including the full domain name.
+
+ :return: The email of this GetSubscriptionResponse1BuyerInformation.
+ :rtype: str
+ """
+ return self._email
+
+ @email.setter
+ def email(self, email):
+ """
+ Sets the email of this GetSubscriptionResponse1BuyerInformation.
+ Customer's primary email address, including the full domain name.
+
+ :param email: The email of this GetSubscriptionResponse1BuyerInformation.
+ :type: str
+ """
+
+ self._email = email
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1BuyerInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/get_subscription_response1_links.py b/CyberSource/models/get_subscription_response1_links.py
new file mode 100644
index 00000000..7325b8e3
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1_links.py
@@ -0,0 +1,148 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1Links(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ '_self': 'PtsV2PaymentsPost201ResponseLinksSelf',
+ 'create': 'PtsV2PaymentsPost201ResponseLinksSelf'
+ }
+
+ attribute_map = {
+ '_self': 'self',
+ 'create': 'create'
+ }
+
+ def __init__(self, _self=None, create=None):
+ """
+ GetSubscriptionResponse1Links - a model defined in Swagger
+ """
+
+ self.__self = None
+ self._create = None
+
+ if _self is not None:
+ self._self = _self
+ if create is not None:
+ self.create = create
+
+ @property
+ def _self(self):
+ """
+ Gets the _self of this GetSubscriptionResponse1Links.
+
+ :return: The _self of this GetSubscriptionResponse1Links.
+ :rtype: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+ return self.__self
+
+ @_self.setter
+ def _self(self, _self):
+ """
+ Sets the _self of this GetSubscriptionResponse1Links.
+
+ :param _self: The _self of this GetSubscriptionResponse1Links.
+ :type: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+
+ self.__self = _self
+
+ @property
+ def create(self):
+ """
+ Gets the create of this GetSubscriptionResponse1Links.
+
+ :return: The create of this GetSubscriptionResponse1Links.
+ :rtype: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+ return self._create
+
+ @create.setter
+ def create(self, create):
+ """
+ Sets the create of this GetSubscriptionResponse1Links.
+
+ :param create: The create of this GetSubscriptionResponse1Links.
+ :type: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+
+ self._create = create
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1Links):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/get_subscription_response1_payment_instrument.py b/CyberSource/models/get_subscription_response1_payment_instrument.py
new file mode 100644
index 00000000..f6fcb0a0
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1_payment_instrument.py
@@ -0,0 +1,228 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1PaymentInstrument(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'id': 'str',
+ 'bank_account': 'GetSubscriptionResponse1PaymentInstrumentBankAccount',
+ 'card': 'GetSubscriptionResponse1PaymentInstrumentCard',
+ 'bill_to': 'Tmsv2customersEmbeddedDefaultPaymentInstrumentBillTo',
+ 'buyer_information': 'GetSubscriptionResponse1PaymentInstrumentBuyerInformation'
+ }
+
+ attribute_map = {
+ 'id': 'id',
+ 'bank_account': 'bankAccount',
+ 'card': 'card',
+ 'bill_to': 'billTo',
+ 'buyer_information': 'buyerInformation'
+ }
+
+ def __init__(self, id=None, bank_account=None, card=None, bill_to=None, buyer_information=None):
+ """
+ GetSubscriptionResponse1PaymentInstrument - a model defined in Swagger
+ """
+
+ self._id = None
+ self._bank_account = None
+ self._card = None
+ self._bill_to = None
+ self._buyer_information = None
+
+ if id is not None:
+ self.id = id
+ if bank_account is not None:
+ self.bank_account = bank_account
+ if card is not None:
+ self.card = card
+ if bill_to is not None:
+ self.bill_to = bill_to
+ if buyer_information is not None:
+ self.buyer_information = buyer_information
+
+ @property
+ def id(self):
+ """
+ Gets the id of this GetSubscriptionResponse1PaymentInstrument.
+ The Id of the Payment Instrument Token.
+
+ :return: The id of this GetSubscriptionResponse1PaymentInstrument.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this GetSubscriptionResponse1PaymentInstrument.
+ The Id of the Payment Instrument Token.
+
+ :param id: The id of this GetSubscriptionResponse1PaymentInstrument.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def bank_account(self):
+ """
+ Gets the bank_account of this GetSubscriptionResponse1PaymentInstrument.
+
+ :return: The bank_account of this GetSubscriptionResponse1PaymentInstrument.
+ :rtype: GetSubscriptionResponse1PaymentInstrumentBankAccount
+ """
+ return self._bank_account
+
+ @bank_account.setter
+ def bank_account(self, bank_account):
+ """
+ Sets the bank_account of this GetSubscriptionResponse1PaymentInstrument.
+
+ :param bank_account: The bank_account of this GetSubscriptionResponse1PaymentInstrument.
+ :type: GetSubscriptionResponse1PaymentInstrumentBankAccount
+ """
+
+ self._bank_account = bank_account
+
+ @property
+ def card(self):
+ """
+ Gets the card of this GetSubscriptionResponse1PaymentInstrument.
+
+ :return: The card of this GetSubscriptionResponse1PaymentInstrument.
+ :rtype: GetSubscriptionResponse1PaymentInstrumentCard
+ """
+ return self._card
+
+ @card.setter
+ def card(self, card):
+ """
+ Sets the card of this GetSubscriptionResponse1PaymentInstrument.
+
+ :param card: The card of this GetSubscriptionResponse1PaymentInstrument.
+ :type: GetSubscriptionResponse1PaymentInstrumentCard
+ """
+
+ self._card = card
+
+ @property
+ def bill_to(self):
+ """
+ Gets the bill_to of this GetSubscriptionResponse1PaymentInstrument.
+
+ :return: The bill_to of this GetSubscriptionResponse1PaymentInstrument.
+ :rtype: Tmsv2customersEmbeddedDefaultPaymentInstrumentBillTo
+ """
+ return self._bill_to
+
+ @bill_to.setter
+ def bill_to(self, bill_to):
+ """
+ Sets the bill_to of this GetSubscriptionResponse1PaymentInstrument.
+
+ :param bill_to: The bill_to of this GetSubscriptionResponse1PaymentInstrument.
+ :type: Tmsv2customersEmbeddedDefaultPaymentInstrumentBillTo
+ """
+
+ self._bill_to = bill_to
+
+ @property
+ def buyer_information(self):
+ """
+ Gets the buyer_information of this GetSubscriptionResponse1PaymentInstrument.
+
+ :return: The buyer_information of this GetSubscriptionResponse1PaymentInstrument.
+ :rtype: GetSubscriptionResponse1PaymentInstrumentBuyerInformation
+ """
+ return self._buyer_information
+
+ @buyer_information.setter
+ def buyer_information(self, buyer_information):
+ """
+ Sets the buyer_information of this GetSubscriptionResponse1PaymentInstrument.
+
+ :param buyer_information: The buyer_information of this GetSubscriptionResponse1PaymentInstrument.
+ :type: GetSubscriptionResponse1PaymentInstrumentBuyerInformation
+ """
+
+ self._buyer_information = buyer_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1PaymentInstrument):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/get_subscription_response1_payment_instrument_bank_account.py b/CyberSource/models/get_subscription_response1_payment_instrument_bank_account.py
new file mode 100644
index 00000000..17c01c7c
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1_payment_instrument_bank_account.py
@@ -0,0 +1,180 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1PaymentInstrumentBankAccount(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'type': 'str',
+ 'number': 'str',
+ 'routing_number': 'str'
+ }
+
+ attribute_map = {
+ 'type': 'type',
+ 'number': 'number',
+ 'routing_number': 'routingNumber'
+ }
+
+ def __init__(self, type=None, number=None, routing_number=None):
+ """
+ GetSubscriptionResponse1PaymentInstrumentBankAccount - a model defined in Swagger
+ """
+
+ self._type = None
+ self._number = None
+ self._routing_number = None
+
+ if type is not None:
+ self.type = type
+ if number is not None:
+ self.number = number
+ if routing_number is not None:
+ self.routing_number = routing_number
+
+ @property
+ def type(self):
+ """
+ Gets the type of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ Account type. Possible Values: - checking : C - general ledger : G This value is supported only on Wells Fargo ACH - savings : S (U.S. dollars only) - corporate checking : X (U.S. dollars only)
+
+ :return: The type of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ Account type. Possible Values: - checking : C - general ledger : G This value is supported only on Wells Fargo ACH - savings : S (U.S. dollars only) - corporate checking : X (U.S. dollars only)
+
+ :param type: The type of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ :type: str
+ """
+
+ self._type = type
+
+ @property
+ def number(self):
+ """
+ Gets the number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ Account number. When processing encoded account numbers, use this field for the encoded account number.
+
+ :return: The number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ :rtype: str
+ """
+ return self._number
+
+ @number.setter
+ def number(self, number):
+ """
+ Sets the number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ Account number. When processing encoded account numbers, use this field for the encoded account number.
+
+ :param number: The number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ :type: str
+ """
+
+ self._number = number
+
+ @property
+ def routing_number(self):
+ """
+ Gets the routing_number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ Bank routing number. This is also called the transit number
+
+ :return: The routing_number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ :rtype: str
+ """
+ return self._routing_number
+
+ @routing_number.setter
+ def routing_number(self, routing_number):
+ """
+ Sets the routing_number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ Bank routing number. This is also called the transit number
+
+ :param routing_number: The routing_number of this GetSubscriptionResponse1PaymentInstrumentBankAccount.
+ :type: str
+ """
+
+ self._routing_number = routing_number
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1PaymentInstrumentBankAccount):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/get_subscription_response1_payment_instrument_buyer_information.py b/CyberSource/models/get_subscription_response1_payment_instrument_buyer_information.py
new file mode 100644
index 00000000..12bb69f7
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1_payment_instrument_buyer_information.py
@@ -0,0 +1,206 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1PaymentInstrumentBuyerInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'company_tax_id': 'str',
+ 'currency': 'str',
+ 'date_of_birth': 'date',
+ 'personal_identification': 'list[Tmsv2customersEmbeddedDefaultPaymentInstrumentBuyerInformationPersonalIdentification]'
+ }
+
+ attribute_map = {
+ 'company_tax_id': 'companyTaxID',
+ 'currency': 'currency',
+ 'date_of_birth': 'dateOfBirth',
+ 'personal_identification': 'personalIdentification'
+ }
+
+ def __init__(self, company_tax_id=None, currency=None, date_of_birth=None, personal_identification=None):
+ """
+ GetSubscriptionResponse1PaymentInstrumentBuyerInformation - a model defined in Swagger
+ """
+
+ self._company_tax_id = None
+ self._currency = None
+ self._date_of_birth = None
+ self._personal_identification = None
+
+ if company_tax_id is not None:
+ self.company_tax_id = company_tax_id
+ if currency is not None:
+ self.currency = currency
+ if date_of_birth is not None:
+ self.date_of_birth = date_of_birth
+ if personal_identification is not None:
+ self.personal_identification = personal_identification
+
+ @property
+ def company_tax_id(self):
+ """
+ Gets the company_tax_id of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ Company's tax identifier. This is only used for eCheck service.
+
+ :return: The company_tax_id of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :rtype: str
+ """
+ return self._company_tax_id
+
+ @company_tax_id.setter
+ def company_tax_id(self, company_tax_id):
+ """
+ Sets the company_tax_id of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ Company's tax identifier. This is only used for eCheck service.
+
+ :param company_tax_id: The company_tax_id of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :type: str
+ """
+
+ self._company_tax_id = company_tax_id
+
+ @property
+ def currency(self):
+ """
+ Gets the currency of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### DCC for First Data Your 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).
+
+ :return: The currency of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :rtype: str
+ """
+ return self._currency
+
+ @currency.setter
+ def currency(self, currency):
+ """
+ Sets the currency of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### DCC for First Data Your 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).
+
+ :param currency: The currency of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :type: str
+ """
+
+ self._currency = currency
+
+ @property
+ def date_of_birth(self):
+ """
+ Gets the date_of_birth of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ Date of birth of the customer. Format: YYYY-MM-DD
+
+ :return: The date_of_birth of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :rtype: date
+ """
+ return self._date_of_birth
+
+ @date_of_birth.setter
+ def date_of_birth(self, date_of_birth):
+ """
+ Sets the date_of_birth of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ Date of birth of the customer. Format: YYYY-MM-DD
+
+ :param date_of_birth: The date_of_birth of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :type: date
+ """
+
+ self._date_of_birth = date_of_birth
+
+ @property
+ def personal_identification(self):
+ """
+ Gets the personal_identification of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+
+ :return: The personal_identification of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :rtype: list[Tmsv2customersEmbeddedDefaultPaymentInstrumentBuyerInformationPersonalIdentification]
+ """
+ return self._personal_identification
+
+ @personal_identification.setter
+ def personal_identification(self, personal_identification):
+ """
+ Sets the personal_identification of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+
+ :param personal_identification: The personal_identification of this GetSubscriptionResponse1PaymentInstrumentBuyerInformation.
+ :type: list[Tmsv2customersEmbeddedDefaultPaymentInstrumentBuyerInformationPersonalIdentification]
+ """
+
+ self._personal_identification = personal_identification
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1PaymentInstrumentBuyerInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/get_subscription_response1_payment_instrument_card.py b/CyberSource/models/get_subscription_response1_payment_instrument_card.py
new file mode 100644
index 00000000..c4c5ca1a
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1_payment_instrument_card.py
@@ -0,0 +1,208 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1PaymentInstrumentCard(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'number': 'str',
+ 'expiration_month': 'str',
+ 'expiration_year': 'str',
+ 'type': 'str'
+ }
+
+ attribute_map = {
+ 'number': 'number',
+ 'expiration_month': 'expirationMonth',
+ 'expiration_year': 'expirationYear',
+ 'type': 'type'
+ }
+
+ def __init__(self, number=None, expiration_month=None, expiration_year=None, type=None):
+ """
+ GetSubscriptionResponse1PaymentInstrumentCard - a model defined in Swagger
+ """
+
+ self._number = None
+ self._expiration_month = None
+ self._expiration_year = None
+ self._type = None
+
+ if number is not None:
+ self.number = number
+ if expiration_month is not None:
+ self.expiration_month = expiration_month
+ if expiration_year is not None:
+ self.expiration_year = expiration_year
+ if type is not None:
+ self.type = type
+
+ @property
+ def number(self):
+ """
+ Gets the number of this GetSubscriptionResponse1PaymentInstrumentCard.
+ The masked customer's payment card number, also known as the Primary Account Number (PAN).
+
+ :return: The number of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :rtype: str
+ """
+ return self._number
+
+ @number.setter
+ def number(self, number):
+ """
+ Sets the number of this GetSubscriptionResponse1PaymentInstrumentCard.
+ The masked customer's payment card number, also known as the Primary Account Number (PAN).
+
+ :param number: The number of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :type: str
+ """
+
+ self._number = number
+
+ @property
+ def expiration_month(self):
+ """
+ Gets the expiration_month of this GetSubscriptionResponse1PaymentInstrumentCard.
+ Two-digit month in which the payment card expires. Format: `MM`. Possible Values: `01` through `12`.
+
+ :return: The expiration_month of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :rtype: str
+ """
+ return self._expiration_month
+
+ @expiration_month.setter
+ def expiration_month(self, expiration_month):
+ """
+ Sets the expiration_month of this GetSubscriptionResponse1PaymentInstrumentCard.
+ Two-digit month in which the payment card expires. Format: `MM`. Possible Values: `01` through `12`.
+
+ :param expiration_month: The expiration_month of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :type: str
+ """
+
+ self._expiration_month = expiration_month
+
+ @property
+ def expiration_year(self):
+ """
+ Gets the expiration_year of this GetSubscriptionResponse1PaymentInstrumentCard.
+ Four-digit year in which the credit card expires. Format: `YYYY`.
+
+ :return: The expiration_year of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :rtype: str
+ """
+ return self._expiration_year
+
+ @expiration_year.setter
+ def expiration_year(self, expiration_year):
+ """
+ Sets the expiration_year of this GetSubscriptionResponse1PaymentInstrumentCard.
+ Four-digit year in which the credit card expires. Format: `YYYY`.
+
+ :param expiration_year: The expiration_year of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :type: str
+ """
+
+ self._expiration_year = expiration_year
+
+ @property
+ def type(self):
+ """
+ Gets the type of this GetSubscriptionResponse1PaymentInstrumentCard.
+ Value that indicates the card type. Possible Values v2 : v1: * 001 : visa * 002 : mastercard - Eurocard—European regional brand of Mastercard * 003 : american express * 004 : discover * 005 : diners club * 006 : carte blanche * 007 : jcb * 008 : optima * 011 : twinpay credit * 012 : twinpay debit * 013 : walmart * 014 : enRoute * 015 : lowes consumer * 016 : home depot consumer * 017 : mbna * 018 : dicks sportswear * 019 : casual corner * 020 : sears * 021 : jal * 023 : disney * 024 : maestro uk domestic * 025 : sams club consumer * 026 : sams club business * 028 : bill me later * 029 : bebe * 030 : restoration hardware * 031 : delta online — use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types. * 032 : solo * 033 : visa electron * 034 : dankort * 035 : laser * 036 : carte bleue — formerly Cartes Bancaires * 037 : carta si * 038 : pinless debit * 039 : encoded account * 040 : uatp * 041 : household * 042 : maestro international * 043 : ge money uk * 044 : korean cards * 045 : style * 046 : jcrew * 047 : payease china processing ewallet * 048 : payease china processing bank transfer * 049 : meijer private label * 050 : hipercard — supported only by the Comercio Latino processor. * 051 : aura — supported only by the Comercio Latino processor. * 052 : redecard * 054 : elo — supported only by the Comercio Latino processor. * 055 : capital one private label * 056 : synchrony private label * 057 : costco private label * 060 : mada * 062 : china union pay * 063 : falabella private label
+
+ :return: The type of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this GetSubscriptionResponse1PaymentInstrumentCard.
+ Value that indicates the card type. Possible Values v2 : v1: * 001 : visa * 002 : mastercard - Eurocard—European regional brand of Mastercard * 003 : american express * 004 : discover * 005 : diners club * 006 : carte blanche * 007 : jcb * 008 : optima * 011 : twinpay credit * 012 : twinpay debit * 013 : walmart * 014 : enRoute * 015 : lowes consumer * 016 : home depot consumer * 017 : mbna * 018 : dicks sportswear * 019 : casual corner * 020 : sears * 021 : jal * 023 : disney * 024 : maestro uk domestic * 025 : sams club consumer * 026 : sams club business * 028 : bill me later * 029 : bebe * 030 : restoration hardware * 031 : delta online — use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types. * 032 : solo * 033 : visa electron * 034 : dankort * 035 : laser * 036 : carte bleue — formerly Cartes Bancaires * 037 : carta si * 038 : pinless debit * 039 : encoded account * 040 : uatp * 041 : household * 042 : maestro international * 043 : ge money uk * 044 : korean cards * 045 : style * 046 : jcrew * 047 : payease china processing ewallet * 048 : payease china processing bank transfer * 049 : meijer private label * 050 : hipercard — supported only by the Comercio Latino processor. * 051 : aura — supported only by the Comercio Latino processor. * 052 : redecard * 054 : elo — supported only by the Comercio Latino processor. * 055 : capital one private label * 056 : synchrony private label * 057 : costco private label * 060 : mada * 062 : china union pay * 063 : falabella private label
+
+ :param type: The type of this GetSubscriptionResponse1PaymentInstrumentCard.
+ :type: str
+ """
+
+ self._type = type
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1PaymentInstrumentCard):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/get_subscription_response1_shipping_address.py b/CyberSource/models/get_subscription_response1_shipping_address.py
new file mode 100644
index 00000000..6bf5b4c8
--- /dev/null
+++ b/CyberSource/models/get_subscription_response1_shipping_address.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class GetSubscriptionResponse1ShippingAddress(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'id': 'str',
+ 'ship_to': 'Tmsv2customersEmbeddedDefaultShippingAddressShipTo'
+ }
+
+ attribute_map = {
+ 'id': 'id',
+ 'ship_to': 'shipTo'
+ }
+
+ def __init__(self, id=None, ship_to=None):
+ """
+ GetSubscriptionResponse1ShippingAddress - a model defined in Swagger
+ """
+
+ self._id = None
+ self._ship_to = None
+
+ if id is not None:
+ self.id = id
+ if ship_to is not None:
+ self.ship_to = ship_to
+
+ @property
+ def id(self):
+ """
+ Gets the id of this GetSubscriptionResponse1ShippingAddress.
+ The Id of the Shipping Address Token.
+
+ :return: The id of this GetSubscriptionResponse1ShippingAddress.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this GetSubscriptionResponse1ShippingAddress.
+ The Id of the Shipping Address Token.
+
+ :param id: The id of this GetSubscriptionResponse1ShippingAddress.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def ship_to(self):
+ """
+ Gets the ship_to of this GetSubscriptionResponse1ShippingAddress.
+
+ :return: The ship_to of this GetSubscriptionResponse1ShippingAddress.
+ :rtype: Tmsv2customersEmbeddedDefaultShippingAddressShipTo
+ """
+ return self._ship_to
+
+ @ship_to.setter
+ def ship_to(self, ship_to):
+ """
+ Sets the ship_to of this GetSubscriptionResponse1ShippingAddress.
+
+ :param ship_to: The ship_to of this GetSubscriptionResponse1ShippingAddress.
+ :type: Tmsv2customersEmbeddedDefaultShippingAddressShipTo
+ """
+
+ self._ship_to = ship_to
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, GetSubscriptionResponse1ShippingAddress):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response200.py b/CyberSource/models/inline_response200.py
index f5ef10c4..6f120e0b 100644
--- a/CyberSource/models/inline_response200.py
+++ b/CyberSource/models/inline_response200.py
@@ -31,42 +31,42 @@ class InlineResponse200(object):
"""
swagger_types = {
'id': 'str',
- 'submit_time_utc': 'str',
- 'status': 'str',
- 'embedded': 'InlineResponse200Embedded'
+ 'type': 'str',
+ 'provider': 'str',
+ 'content': 'list[InlineResponse200Content]'
}
attribute_map = {
'id': 'id',
- 'submit_time_utc': 'submitTimeUtc',
- 'status': 'status',
- 'embedded': '_embedded'
+ 'type': 'type',
+ 'provider': 'provider',
+ 'content': 'content'
}
- def __init__(self, id=None, submit_time_utc=None, status=None, embedded=None):
+ def __init__(self, id=None, type=None, provider=None, content=None):
"""
InlineResponse200 - a model defined in Swagger
"""
self._id = None
- self._submit_time_utc = None
- self._status = None
- self._embedded = None
+ self._type = None
+ self._provider = None
+ self._content = None
if id is not None:
self.id = id
- if submit_time_utc is not None:
- self.submit_time_utc = submit_time_utc
- if status is not None:
- self.status = status
- if embedded is not None:
- self.embedded = embedded
+ if type is not None:
+ self.type = type
+ if provider is not None:
+ self.provider = provider
+ if content is not None:
+ self.content = content
@property
def id(self):
"""
Gets the id of this InlineResponse200.
- UUID uniquely generated for this comments.
+ Unique identifier for the Card Art Asset.
:return: The id of this InlineResponse200.
:rtype: str
@@ -77,7 +77,7 @@ def id(self):
def id(self, id):
"""
Sets the id of this InlineResponse200.
- UUID uniquely generated for this comments.
+ Unique identifier for the Card Art Asset.
:param id: The id of this InlineResponse200.
:type: str
@@ -86,71 +86,73 @@ def id(self, id):
self._id = id
@property
- def submit_time_utc(self):
+ def type(self):
"""
- Gets the submit_time_utc of this InlineResponse200.
- Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+ Gets the type of this InlineResponse200.
+ The type of Card Art Asset.
- :return: The submit_time_utc of this InlineResponse200.
+ :return: The type of this InlineResponse200.
:rtype: str
"""
- return self._submit_time_utc
+ return self._type
- @submit_time_utc.setter
- def submit_time_utc(self, submit_time_utc):
+ @type.setter
+ def type(self, type):
"""
- Sets the submit_time_utc of this InlineResponse200.
- Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+ Sets the type of this InlineResponse200.
+ The type of Card Art Asset.
- :param submit_time_utc: The submit_time_utc of this InlineResponse200.
+ :param type: The type of this InlineResponse200.
:type: str
"""
- self._submit_time_utc = submit_time_utc
+ self._type = type
@property
- def status(self):
+ def provider(self):
"""
- Gets the status of this InlineResponse200.
- The status of the submitted transaction. Possible values are: - `ACCEPTED` - `REJECTED`
+ Gets the provider of this InlineResponse200.
+ The provider of the Card Art Asset.
- :return: The status of this InlineResponse200.
+ :return: The provider of this InlineResponse200.
:rtype: str
"""
- return self._status
+ return self._provider
- @status.setter
- def status(self, status):
+ @provider.setter
+ def provider(self, provider):
"""
- Sets the status of this InlineResponse200.
- The status of the submitted transaction. Possible values are: - `ACCEPTED` - `REJECTED`
+ Sets the provider of this InlineResponse200.
+ The provider of the Card Art Asset.
- :param status: The status of this InlineResponse200.
+ :param provider: The provider of this InlineResponse200.
:type: str
"""
- self._status = status
+ self._provider = provider
@property
- def embedded(self):
+ def content(self):
"""
- Gets the embedded of this InlineResponse200.
+ Gets the content of this InlineResponse200.
+ Array of content objects representing the Card Art Asset.
- :return: The embedded of this InlineResponse200.
- :rtype: InlineResponse200Embedded
+ :return: The content of this InlineResponse200.
+ :rtype: list[InlineResponse200Content]
"""
- return self._embedded
+ return self._content
- @embedded.setter
- def embedded(self, embedded):
+ @content.setter
+ def content(self, content):
"""
- Sets the embedded of this InlineResponse200.
+ Sets the content of this InlineResponse200.
+ Array of content objects representing the Card Art Asset.
- :param embedded: The embedded of this InlineResponse200.
- :type: InlineResponse200Embedded
+ :param content: The content of this InlineResponse200.
+ :type: list[InlineResponse200Content]
"""
- self._embedded = embedded
+ self._content = content
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response2001.py b/CyberSource/models/inline_response2001.py
index 679d8fbb..99cc82de 100644
--- a/CyberSource/models/inline_response2001.py
+++ b/CyberSource/models/inline_response2001.py
@@ -30,199 +30,127 @@ class InlineResponse2001(object):
and the value is json key in definition.
"""
swagger_types = {
- 'registration_information': 'Boardingv1registrationsRegistrationInformation',
- 'integration_information': 'InlineResponse2001IntegrationInformation',
- 'organization_information': 'Boardingv1registrationsOrganizationInformation',
- 'product_information': 'Boardingv1registrationsProductInformation',
- 'product_information_setups': 'list[InlineResponse2012ProductInformationSetups]',
- 'document_information': 'Boardingv1registrationsDocumentInformation',
- 'details': 'dict(str, list[object])'
+ 'id': 'str',
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'embedded': 'InlineResponse2001Embedded'
}
attribute_map = {
- 'registration_information': 'registrationInformation',
- 'integration_information': 'integrationInformation',
- 'organization_information': 'organizationInformation',
- 'product_information': 'productInformation',
- 'product_information_setups': 'productInformationSetups',
- 'document_information': 'documentInformation',
- 'details': 'details'
+ 'id': 'id',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'embedded': '_embedded'
}
- def __init__(self, registration_information=None, integration_information=None, organization_information=None, product_information=None, product_information_setups=None, document_information=None, details=None):
+ def __init__(self, id=None, submit_time_utc=None, status=None, embedded=None):
"""
InlineResponse2001 - a model defined in Swagger
"""
- self._registration_information = None
- self._integration_information = None
- self._organization_information = None
- self._product_information = None
- self._product_information_setups = None
- self._document_information = None
- self._details = None
-
- if registration_information is not None:
- self.registration_information = registration_information
- if integration_information is not None:
- self.integration_information = integration_information
- if organization_information is not None:
- self.organization_information = organization_information
- if product_information is not None:
- self.product_information = product_information
- if product_information_setups is not None:
- self.product_information_setups = product_information_setups
- if document_information is not None:
- self.document_information = document_information
- if details is not None:
- self.details = details
+ self._id = None
+ self._submit_time_utc = None
+ self._status = None
+ self._embedded = None
- @property
- def registration_information(self):
- """
- Gets the registration_information of this InlineResponse2001.
-
- :return: The registration_information of this InlineResponse2001.
- :rtype: Boardingv1registrationsRegistrationInformation
- """
- return self._registration_information
-
- @registration_information.setter
- def registration_information(self, registration_information):
- """
- Sets the registration_information of this InlineResponse2001.
-
- :param registration_information: The registration_information of this InlineResponse2001.
- :type: Boardingv1registrationsRegistrationInformation
- """
-
- self._registration_information = registration_information
-
- @property
- def integration_information(self):
- """
- Gets the integration_information of this InlineResponse2001.
-
- :return: The integration_information of this InlineResponse2001.
- :rtype: InlineResponse2001IntegrationInformation
- """
- return self._integration_information
-
- @integration_information.setter
- def integration_information(self, integration_information):
- """
- Sets the integration_information of this InlineResponse2001.
-
- :param integration_information: The integration_information of this InlineResponse2001.
- :type: InlineResponse2001IntegrationInformation
- """
-
- self._integration_information = integration_information
-
- @property
- def organization_information(self):
- """
- Gets the organization_information of this InlineResponse2001.
-
- :return: The organization_information of this InlineResponse2001.
- :rtype: Boardingv1registrationsOrganizationInformation
- """
- return self._organization_information
-
- @organization_information.setter
- def organization_information(self, organization_information):
- """
- Sets the organization_information of this InlineResponse2001.
-
- :param organization_information: The organization_information of this InlineResponse2001.
- :type: Boardingv1registrationsOrganizationInformation
- """
-
- self._organization_information = organization_information
+ if id is not None:
+ self.id = id
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if embedded is not None:
+ self.embedded = embedded
@property
- def product_information(self):
+ def id(self):
"""
- Gets the product_information of this InlineResponse2001.
+ Gets the id of this InlineResponse2001.
+ UUID uniquely generated for this comments.
- :return: The product_information of this InlineResponse2001.
- :rtype: Boardingv1registrationsProductInformation
+ :return: The id of this InlineResponse2001.
+ :rtype: str
"""
- return self._product_information
+ return self._id
- @product_information.setter
- def product_information(self, product_information):
+ @id.setter
+ def id(self, id):
"""
- Sets the product_information of this InlineResponse2001.
+ Sets the id of this InlineResponse2001.
+ UUID uniquely generated for this comments.
- :param product_information: The product_information of this InlineResponse2001.
- :type: Boardingv1registrationsProductInformation
+ :param id: The id of this InlineResponse2001.
+ :type: str
"""
- self._product_information = product_information
+ self._id = id
@property
- def product_information_setups(self):
+ def submit_time_utc(self):
"""
- Gets the product_information_setups of this InlineResponse2001.
+ Gets the submit_time_utc of this InlineResponse2001.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
- :return: The product_information_setups of this InlineResponse2001.
- :rtype: list[InlineResponse2012ProductInformationSetups]
+ :return: The submit_time_utc of this InlineResponse2001.
+ :rtype: str
"""
- return self._product_information_setups
+ return self._submit_time_utc
- @product_information_setups.setter
- def product_information_setups(self, product_information_setups):
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
"""
- Sets the product_information_setups of this InlineResponse2001.
+ Sets the submit_time_utc of this InlineResponse2001.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
- :param product_information_setups: The product_information_setups of this InlineResponse2001.
- :type: list[InlineResponse2012ProductInformationSetups]
+ :param submit_time_utc: The submit_time_utc of this InlineResponse2001.
+ :type: str
"""
- self._product_information_setups = product_information_setups
+ self._submit_time_utc = submit_time_utc
@property
- def document_information(self):
+ def status(self):
"""
- Gets the document_information of this InlineResponse2001.
+ Gets the status of this InlineResponse2001.
+ The status of the submitted transaction. Possible values are: - `ACCEPTED` - `REJECTED`
- :return: The document_information of this InlineResponse2001.
- :rtype: Boardingv1registrationsDocumentInformation
+ :return: The status of this InlineResponse2001.
+ :rtype: str
"""
- return self._document_information
+ return self._status
- @document_information.setter
- def document_information(self, document_information):
+ @status.setter
+ def status(self, status):
"""
- Sets the document_information of this InlineResponse2001.
+ Sets the status of this InlineResponse2001.
+ The status of the submitted transaction. Possible values are: - `ACCEPTED` - `REJECTED`
- :param document_information: The document_information of this InlineResponse2001.
- :type: Boardingv1registrationsDocumentInformation
+ :param status: The status of this InlineResponse2001.
+ :type: str
"""
- self._document_information = document_information
+ self._status = status
@property
- def details(self):
+ def embedded(self):
"""
- Gets the details of this InlineResponse2001.
+ Gets the embedded of this InlineResponse2001.
- :return: The details of this InlineResponse2001.
- :rtype: dict(str, list[object])
+ :return: The embedded of this InlineResponse2001.
+ :rtype: InlineResponse2001Embedded
"""
- return self._details
+ return self._embedded
- @details.setter
- def details(self, details):
+ @embedded.setter
+ def embedded(self, embedded):
"""
- Sets the details of this InlineResponse2001.
+ Sets the embedded of this InlineResponse2001.
- :param details: The details of this InlineResponse2001.
- :type: dict(str, list[object])
+ :param embedded: The embedded of this InlineResponse2001.
+ :type: InlineResponse2001Embedded
"""
- self._details = details
+ self._embedded = embedded
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response200_embedded.py b/CyberSource/models/inline_response2001_embedded.py
similarity index 74%
rename from CyberSource/models/inline_response200_embedded.py
rename to CyberSource/models/inline_response2001_embedded.py
index 5357b6f2..be74e58a 100644
--- a/CyberSource/models/inline_response200_embedded.py
+++ b/CyberSource/models/inline_response2001_embedded.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse200Embedded(object):
+class InlineResponse2001Embedded(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -30,8 +30,8 @@ class InlineResponse200Embedded(object):
and the value is json key in definition.
"""
swagger_types = {
- 'capture': 'InlineResponse200EmbeddedCapture',
- 'reversal': 'InlineResponse200EmbeddedReversal'
+ 'capture': 'InlineResponse2001EmbeddedCapture',
+ 'reversal': 'InlineResponse2001EmbeddedReversal'
}
attribute_map = {
@@ -41,7 +41,7 @@ class InlineResponse200Embedded(object):
def __init__(self, capture=None, reversal=None):
"""
- InlineResponse200Embedded - a model defined in Swagger
+ InlineResponse2001Embedded - a model defined in Swagger
"""
self._capture = None
@@ -55,20 +55,20 @@ def __init__(self, capture=None, reversal=None):
@property
def capture(self):
"""
- Gets the capture of this InlineResponse200Embedded.
+ Gets the capture of this InlineResponse2001Embedded.
- :return: The capture of this InlineResponse200Embedded.
- :rtype: InlineResponse200EmbeddedCapture
+ :return: The capture of this InlineResponse2001Embedded.
+ :rtype: InlineResponse2001EmbeddedCapture
"""
return self._capture
@capture.setter
def capture(self, capture):
"""
- Sets the capture of this InlineResponse200Embedded.
+ Sets the capture of this InlineResponse2001Embedded.
- :param capture: The capture of this InlineResponse200Embedded.
- :type: InlineResponse200EmbeddedCapture
+ :param capture: The capture of this InlineResponse2001Embedded.
+ :type: InlineResponse2001EmbeddedCapture
"""
self._capture = capture
@@ -76,20 +76,20 @@ def capture(self, capture):
@property
def reversal(self):
"""
- Gets the reversal of this InlineResponse200Embedded.
+ Gets the reversal of this InlineResponse2001Embedded.
- :return: The reversal of this InlineResponse200Embedded.
- :rtype: InlineResponse200EmbeddedReversal
+ :return: The reversal of this InlineResponse2001Embedded.
+ :rtype: InlineResponse2001EmbeddedReversal
"""
return self._reversal
@reversal.setter
def reversal(self, reversal):
"""
- Sets the reversal of this InlineResponse200Embedded.
+ Sets the reversal of this InlineResponse2001Embedded.
- :param reversal: The reversal of this InlineResponse200Embedded.
- :type: InlineResponse200EmbeddedReversal
+ :param reversal: The reversal of this InlineResponse2001Embedded.
+ :type: InlineResponse2001EmbeddedReversal
"""
self._reversal = reversal
@@ -136,7 +136,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse200Embedded):
+ if not isinstance(other, InlineResponse2001Embedded):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response200_embedded_capture.py b/CyberSource/models/inline_response2001_embedded_capture.py
similarity index 77%
rename from CyberSource/models/inline_response200_embedded_capture.py
rename to CyberSource/models/inline_response2001_embedded_capture.py
index 1a8c9efe..91f8d078 100644
--- a/CyberSource/models/inline_response200_embedded_capture.py
+++ b/CyberSource/models/inline_response2001_embedded_capture.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse200EmbeddedCapture(object):
+class InlineResponse2001EmbeddedCapture(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -31,7 +31,7 @@ class InlineResponse200EmbeddedCapture(object):
"""
swagger_types = {
'status': 'str',
- 'links': 'InlineResponse200EmbeddedCaptureLinks'
+ 'links': 'InlineResponse2001EmbeddedCaptureLinks'
}
attribute_map = {
@@ -41,7 +41,7 @@ class InlineResponse200EmbeddedCapture(object):
def __init__(self, status=None, links=None):
"""
- InlineResponse200EmbeddedCapture - a model defined in Swagger
+ InlineResponse2001EmbeddedCapture - a model defined in Swagger
"""
self._status = None
@@ -55,10 +55,10 @@ def __init__(self, status=None, links=None):
@property
def status(self):
"""
- Gets the status of this InlineResponse200EmbeddedCapture.
+ Gets the status of this InlineResponse2001EmbeddedCapture.
The status of the capture if the capture is called.
- :return: The status of this InlineResponse200EmbeddedCapture.
+ :return: The status of this InlineResponse2001EmbeddedCapture.
:rtype: str
"""
return self._status
@@ -66,10 +66,10 @@ def status(self):
@status.setter
def status(self, status):
"""
- Sets the status of this InlineResponse200EmbeddedCapture.
+ Sets the status of this InlineResponse2001EmbeddedCapture.
The status of the capture if the capture is called.
- :param status: The status of this InlineResponse200EmbeddedCapture.
+ :param status: The status of this InlineResponse2001EmbeddedCapture.
:type: str
"""
@@ -78,20 +78,20 @@ def status(self, status):
@property
def links(self):
"""
- Gets the links of this InlineResponse200EmbeddedCapture.
+ Gets the links of this InlineResponse2001EmbeddedCapture.
- :return: The links of this InlineResponse200EmbeddedCapture.
- :rtype: InlineResponse200EmbeddedCaptureLinks
+ :return: The links of this InlineResponse2001EmbeddedCapture.
+ :rtype: InlineResponse2001EmbeddedCaptureLinks
"""
return self._links
@links.setter
def links(self, links):
"""
- Sets the links of this InlineResponse200EmbeddedCapture.
+ Sets the links of this InlineResponse2001EmbeddedCapture.
- :param links: The links of this InlineResponse200EmbeddedCapture.
- :type: InlineResponse200EmbeddedCaptureLinks
+ :param links: The links of this InlineResponse2001EmbeddedCapture.
+ :type: InlineResponse2001EmbeddedCaptureLinks
"""
self._links = links
@@ -138,7 +138,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse200EmbeddedCapture):
+ if not isinstance(other, InlineResponse2001EmbeddedCapture):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response200_embedded_reversal_links.py b/CyberSource/models/inline_response2001_embedded_capture_links.py
similarity index 79%
rename from CyberSource/models/inline_response200_embedded_reversal_links.py
rename to CyberSource/models/inline_response2001_embedded_capture_links.py
index 5a7e03c1..7b67ae26 100644
--- a/CyberSource/models/inline_response200_embedded_reversal_links.py
+++ b/CyberSource/models/inline_response2001_embedded_capture_links.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse200EmbeddedReversalLinks(object):
+class InlineResponse2001EmbeddedCaptureLinks(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -30,7 +30,7 @@ class InlineResponse200EmbeddedReversalLinks(object):
and the value is json key in definition.
"""
swagger_types = {
- '_self': 'InlineResponse200EmbeddedReversalLinksSelf'
+ '_self': 'InlineResponse2001EmbeddedCaptureLinksSelf'
}
attribute_map = {
@@ -39,7 +39,7 @@ class InlineResponse200EmbeddedReversalLinks(object):
def __init__(self, _self=None):
"""
- InlineResponse200EmbeddedReversalLinks - a model defined in Swagger
+ InlineResponse2001EmbeddedCaptureLinks - a model defined in Swagger
"""
self.__self = None
@@ -50,20 +50,20 @@ def __init__(self, _self=None):
@property
def _self(self):
"""
- Gets the _self of this InlineResponse200EmbeddedReversalLinks.
+ Gets the _self of this InlineResponse2001EmbeddedCaptureLinks.
- :return: The _self of this InlineResponse200EmbeddedReversalLinks.
- :rtype: InlineResponse200EmbeddedReversalLinksSelf
+ :return: The _self of this InlineResponse2001EmbeddedCaptureLinks.
+ :rtype: InlineResponse2001EmbeddedCaptureLinksSelf
"""
return self.__self
@_self.setter
def _self(self, _self):
"""
- Sets the _self of this InlineResponse200EmbeddedReversalLinks.
+ Sets the _self of this InlineResponse2001EmbeddedCaptureLinks.
- :param _self: The _self of this InlineResponse200EmbeddedReversalLinks.
- :type: InlineResponse200EmbeddedReversalLinksSelf
+ :param _self: The _self of this InlineResponse2001EmbeddedCaptureLinks.
+ :type: InlineResponse2001EmbeddedCaptureLinksSelf
"""
self.__self = _self
@@ -110,7 +110,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse200EmbeddedReversalLinks):
+ if not isinstance(other, InlineResponse2001EmbeddedCaptureLinks):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response200_embedded_reversal_links_self.py b/CyberSource/models/inline_response2001_embedded_capture_links_self.py
similarity index 81%
rename from CyberSource/models/inline_response200_embedded_reversal_links_self.py
rename to CyberSource/models/inline_response2001_embedded_capture_links_self.py
index 197246b1..75f4dcc1 100644
--- a/CyberSource/models/inline_response200_embedded_reversal_links_self.py
+++ b/CyberSource/models/inline_response2001_embedded_capture_links_self.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse200EmbeddedReversalLinksSelf(object):
+class InlineResponse2001EmbeddedCaptureLinksSelf(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -41,7 +41,7 @@ class InlineResponse200EmbeddedReversalLinksSelf(object):
def __init__(self, href=None, method=None):
"""
- InlineResponse200EmbeddedReversalLinksSelf - a model defined in Swagger
+ InlineResponse2001EmbeddedCaptureLinksSelf - a model defined in Swagger
"""
self._href = None
@@ -55,10 +55,10 @@ def __init__(self, href=None, method=None):
@property
def href(self):
"""
- Gets the href of this InlineResponse200EmbeddedReversalLinksSelf.
+ Gets the href of this InlineResponse2001EmbeddedCaptureLinksSelf.
This is the endpoint of the resource that was created by the successful request.
- :return: The href of this InlineResponse200EmbeddedReversalLinksSelf.
+ :return: The href of this InlineResponse2001EmbeddedCaptureLinksSelf.
:rtype: str
"""
return self._href
@@ -66,10 +66,10 @@ def href(self):
@href.setter
def href(self, href):
"""
- Sets the href of this InlineResponse200EmbeddedReversalLinksSelf.
+ Sets the href of this InlineResponse2001EmbeddedCaptureLinksSelf.
This is the endpoint of the resource that was created by the successful request.
- :param href: The href of this InlineResponse200EmbeddedReversalLinksSelf.
+ :param href: The href of this InlineResponse2001EmbeddedCaptureLinksSelf.
:type: str
"""
@@ -78,10 +78,10 @@ def href(self, href):
@property
def method(self):
"""
- Gets the method of this InlineResponse200EmbeddedReversalLinksSelf.
+ Gets the method of this InlineResponse2001EmbeddedCaptureLinksSelf.
This refers to the HTTP method that you can send to the self endpoint to retrieve details of the resource.
- :return: The method of this InlineResponse200EmbeddedReversalLinksSelf.
+ :return: The method of this InlineResponse2001EmbeddedCaptureLinksSelf.
:rtype: str
"""
return self._method
@@ -89,10 +89,10 @@ def method(self):
@method.setter
def method(self, method):
"""
- Sets the method of this InlineResponse200EmbeddedReversalLinksSelf.
+ Sets the method of this InlineResponse2001EmbeddedCaptureLinksSelf.
This refers to the HTTP method that you can send to the self endpoint to retrieve details of the resource.
- :param method: The method of this InlineResponse200EmbeddedReversalLinksSelf.
+ :param method: The method of this InlineResponse2001EmbeddedCaptureLinksSelf.
:type: str
"""
@@ -140,7 +140,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse200EmbeddedReversalLinksSelf):
+ if not isinstance(other, InlineResponse2001EmbeddedCaptureLinksSelf):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response200_embedded_reversal.py b/CyberSource/models/inline_response2001_embedded_reversal.py
similarity index 77%
rename from CyberSource/models/inline_response200_embedded_reversal.py
rename to CyberSource/models/inline_response2001_embedded_reversal.py
index 12a06d2d..34384be4 100644
--- a/CyberSource/models/inline_response200_embedded_reversal.py
+++ b/CyberSource/models/inline_response2001_embedded_reversal.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse200EmbeddedReversal(object):
+class InlineResponse2001EmbeddedReversal(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -31,7 +31,7 @@ class InlineResponse200EmbeddedReversal(object):
"""
swagger_types = {
'status': 'str',
- 'links': 'InlineResponse200EmbeddedReversalLinks'
+ 'links': 'InlineResponse2001EmbeddedReversalLinks'
}
attribute_map = {
@@ -41,7 +41,7 @@ class InlineResponse200EmbeddedReversal(object):
def __init__(self, status=None, links=None):
"""
- InlineResponse200EmbeddedReversal - a model defined in Swagger
+ InlineResponse2001EmbeddedReversal - a model defined in Swagger
"""
self._status = None
@@ -55,10 +55,10 @@ def __init__(self, status=None, links=None):
@property
def status(self):
"""
- Gets the status of this InlineResponse200EmbeddedReversal.
+ Gets the status of this InlineResponse2001EmbeddedReversal.
The status of the reversal if the auth reversal is called.
- :return: The status of this InlineResponse200EmbeddedReversal.
+ :return: The status of this InlineResponse2001EmbeddedReversal.
:rtype: str
"""
return self._status
@@ -66,10 +66,10 @@ def status(self):
@status.setter
def status(self, status):
"""
- Sets the status of this InlineResponse200EmbeddedReversal.
+ Sets the status of this InlineResponse2001EmbeddedReversal.
The status of the reversal if the auth reversal is called.
- :param status: The status of this InlineResponse200EmbeddedReversal.
+ :param status: The status of this InlineResponse2001EmbeddedReversal.
:type: str
"""
@@ -78,20 +78,20 @@ def status(self, status):
@property
def links(self):
"""
- Gets the links of this InlineResponse200EmbeddedReversal.
+ Gets the links of this InlineResponse2001EmbeddedReversal.
- :return: The links of this InlineResponse200EmbeddedReversal.
- :rtype: InlineResponse200EmbeddedReversalLinks
+ :return: The links of this InlineResponse2001EmbeddedReversal.
+ :rtype: InlineResponse2001EmbeddedReversalLinks
"""
return self._links
@links.setter
def links(self, links):
"""
- Sets the links of this InlineResponse200EmbeddedReversal.
+ Sets the links of this InlineResponse2001EmbeddedReversal.
- :param links: The links of this InlineResponse200EmbeddedReversal.
- :type: InlineResponse200EmbeddedReversalLinks
+ :param links: The links of this InlineResponse2001EmbeddedReversal.
+ :type: InlineResponse2001EmbeddedReversalLinks
"""
self._links = links
@@ -138,7 +138,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse200EmbeddedReversal):
+ if not isinstance(other, InlineResponse2001EmbeddedReversal):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response200_embedded_capture_links.py b/CyberSource/models/inline_response2001_embedded_reversal_links.py
similarity index 78%
rename from CyberSource/models/inline_response200_embedded_capture_links.py
rename to CyberSource/models/inline_response2001_embedded_reversal_links.py
index 929e14d9..5e9790ad 100644
--- a/CyberSource/models/inline_response200_embedded_capture_links.py
+++ b/CyberSource/models/inline_response2001_embedded_reversal_links.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse200EmbeddedCaptureLinks(object):
+class InlineResponse2001EmbeddedReversalLinks(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -30,7 +30,7 @@ class InlineResponse200EmbeddedCaptureLinks(object):
and the value is json key in definition.
"""
swagger_types = {
- '_self': 'InlineResponse200EmbeddedCaptureLinksSelf'
+ '_self': 'InlineResponse2001EmbeddedReversalLinksSelf'
}
attribute_map = {
@@ -39,7 +39,7 @@ class InlineResponse200EmbeddedCaptureLinks(object):
def __init__(self, _self=None):
"""
- InlineResponse200EmbeddedCaptureLinks - a model defined in Swagger
+ InlineResponse2001EmbeddedReversalLinks - a model defined in Swagger
"""
self.__self = None
@@ -50,20 +50,20 @@ def __init__(self, _self=None):
@property
def _self(self):
"""
- Gets the _self of this InlineResponse200EmbeddedCaptureLinks.
+ Gets the _self of this InlineResponse2001EmbeddedReversalLinks.
- :return: The _self of this InlineResponse200EmbeddedCaptureLinks.
- :rtype: InlineResponse200EmbeddedCaptureLinksSelf
+ :return: The _self of this InlineResponse2001EmbeddedReversalLinks.
+ :rtype: InlineResponse2001EmbeddedReversalLinksSelf
"""
return self.__self
@_self.setter
def _self(self, _self):
"""
- Sets the _self of this InlineResponse200EmbeddedCaptureLinks.
+ Sets the _self of this InlineResponse2001EmbeddedReversalLinks.
- :param _self: The _self of this InlineResponse200EmbeddedCaptureLinks.
- :type: InlineResponse200EmbeddedCaptureLinksSelf
+ :param _self: The _self of this InlineResponse2001EmbeddedReversalLinks.
+ :type: InlineResponse2001EmbeddedReversalLinksSelf
"""
self.__self = _self
@@ -110,7 +110,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse200EmbeddedCaptureLinks):
+ if not isinstance(other, InlineResponse2001EmbeddedReversalLinks):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response200_embedded_capture_links_self.py b/CyberSource/models/inline_response2001_embedded_reversal_links_self.py
similarity index 80%
rename from CyberSource/models/inline_response200_embedded_capture_links_self.py
rename to CyberSource/models/inline_response2001_embedded_reversal_links_self.py
index 13fdbe1e..86bda355 100644
--- a/CyberSource/models/inline_response200_embedded_capture_links_self.py
+++ b/CyberSource/models/inline_response2001_embedded_reversal_links_self.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse200EmbeddedCaptureLinksSelf(object):
+class InlineResponse2001EmbeddedReversalLinksSelf(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -41,7 +41,7 @@ class InlineResponse200EmbeddedCaptureLinksSelf(object):
def __init__(self, href=None, method=None):
"""
- InlineResponse200EmbeddedCaptureLinksSelf - a model defined in Swagger
+ InlineResponse2001EmbeddedReversalLinksSelf - a model defined in Swagger
"""
self._href = None
@@ -55,10 +55,10 @@ def __init__(self, href=None, method=None):
@property
def href(self):
"""
- Gets the href of this InlineResponse200EmbeddedCaptureLinksSelf.
+ Gets the href of this InlineResponse2001EmbeddedReversalLinksSelf.
This is the endpoint of the resource that was created by the successful request.
- :return: The href of this InlineResponse200EmbeddedCaptureLinksSelf.
+ :return: The href of this InlineResponse2001EmbeddedReversalLinksSelf.
:rtype: str
"""
return self._href
@@ -66,10 +66,10 @@ def href(self):
@href.setter
def href(self, href):
"""
- Sets the href of this InlineResponse200EmbeddedCaptureLinksSelf.
+ Sets the href of this InlineResponse2001EmbeddedReversalLinksSelf.
This is the endpoint of the resource that was created by the successful request.
- :param href: The href of this InlineResponse200EmbeddedCaptureLinksSelf.
+ :param href: The href of this InlineResponse2001EmbeddedReversalLinksSelf.
:type: str
"""
@@ -78,10 +78,10 @@ def href(self, href):
@property
def method(self):
"""
- Gets the method of this InlineResponse200EmbeddedCaptureLinksSelf.
+ Gets the method of this InlineResponse2001EmbeddedReversalLinksSelf.
This refers to the HTTP method that you can send to the self endpoint to retrieve details of the resource.
- :return: The method of this InlineResponse200EmbeddedCaptureLinksSelf.
+ :return: The method of this InlineResponse2001EmbeddedReversalLinksSelf.
:rtype: str
"""
return self._method
@@ -89,10 +89,10 @@ def method(self):
@method.setter
def method(self, method):
"""
- Sets the method of this InlineResponse200EmbeddedCaptureLinksSelf.
+ Sets the method of this InlineResponse2001EmbeddedReversalLinksSelf.
This refers to the HTTP method that you can send to the self endpoint to retrieve details of the resource.
- :param method: The method of this InlineResponse200EmbeddedCaptureLinksSelf.
+ :param method: The method of this InlineResponse2001EmbeddedReversalLinksSelf.
:type: str
"""
@@ -140,7 +140,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse200EmbeddedCaptureLinksSelf):
+ if not isinstance(other, InlineResponse2001EmbeddedReversalLinksSelf):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2002.py b/CyberSource/models/inline_response2002.py
index 64d59187..4cdd64d8 100644
--- a/CyberSource/models/inline_response2002.py
+++ b/CyberSource/models/inline_response2002.py
@@ -30,199 +30,199 @@ class InlineResponse2002(object):
and the value is json key in definition.
"""
swagger_types = {
- 'links': 'list[InlineResponse2002Links]',
- 'object': 'str',
- 'offset': 'int',
- 'limit': 'int',
- 'count': 'int',
- 'total': 'int',
- 'embedded': 'InlineResponse2002Embedded'
+ 'registration_information': 'Boardingv1registrationsRegistrationInformation',
+ 'integration_information': 'InlineResponse2002IntegrationInformation',
+ 'organization_information': 'Boardingv1registrationsOrganizationInformation',
+ 'product_information': 'Boardingv1registrationsProductInformation',
+ 'product_information_setups': 'list[InlineResponse2012ProductInformationSetups]',
+ 'document_information': 'Boardingv1registrationsDocumentInformation',
+ 'details': 'dict(str, list[object])'
}
attribute_map = {
- 'links': '_links',
- 'object': 'object',
- 'offset': 'offset',
- 'limit': 'limit',
- 'count': 'count',
- 'total': 'total',
- 'embedded': '_embedded'
+ 'registration_information': 'registrationInformation',
+ 'integration_information': 'integrationInformation',
+ 'organization_information': 'organizationInformation',
+ 'product_information': 'productInformation',
+ 'product_information_setups': 'productInformationSetups',
+ 'document_information': 'documentInformation',
+ 'details': 'details'
}
- def __init__(self, links=None, object=None, offset=None, limit=None, count=None, total=None, embedded=None):
+ def __init__(self, registration_information=None, integration_information=None, organization_information=None, product_information=None, product_information_setups=None, document_information=None, details=None):
"""
InlineResponse2002 - a model defined in Swagger
"""
- self._links = None
- self._object = None
- self._offset = None
- self._limit = None
- self._count = None
- self._total = None
- self._embedded = None
-
- if links is not None:
- self.links = links
- if object is not None:
- self.object = object
- if offset is not None:
- self.offset = offset
- if limit is not None:
- self.limit = limit
- if count is not None:
- self.count = count
- if total is not None:
- self.total = total
- if embedded is not None:
- self.embedded = embedded
+ self._registration_information = None
+ self._integration_information = None
+ self._organization_information = None
+ self._product_information = None
+ self._product_information_setups = None
+ self._document_information = None
+ self._details = None
+
+ if registration_information is not None:
+ self.registration_information = registration_information
+ if integration_information is not None:
+ self.integration_information = integration_information
+ if organization_information is not None:
+ self.organization_information = organization_information
+ if product_information is not None:
+ self.product_information = product_information
+ if product_information_setups is not None:
+ self.product_information_setups = product_information_setups
+ if document_information is not None:
+ self.document_information = document_information
+ if details is not None:
+ self.details = details
@property
- def links(self):
+ def registration_information(self):
"""
- Gets the links of this InlineResponse2002.
+ Gets the registration_information of this InlineResponse2002.
- :return: The links of this InlineResponse2002.
- :rtype: list[InlineResponse2002Links]
+ :return: The registration_information of this InlineResponse2002.
+ :rtype: Boardingv1registrationsRegistrationInformation
"""
- return self._links
+ return self._registration_information
- @links.setter
- def links(self, links):
+ @registration_information.setter
+ def registration_information(self, registration_information):
"""
- Sets the links of this InlineResponse2002.
+ Sets the registration_information of this InlineResponse2002.
- :param links: The links of this InlineResponse2002.
- :type: list[InlineResponse2002Links]
+ :param registration_information: The registration_information of this InlineResponse2002.
+ :type: Boardingv1registrationsRegistrationInformation
"""
- self._links = links
+ self._registration_information = registration_information
@property
- def object(self):
+ def integration_information(self):
"""
- Gets the object of this InlineResponse2002.
+ Gets the integration_information of this InlineResponse2002.
- :return: The object of this InlineResponse2002.
- :rtype: str
+ :return: The integration_information of this InlineResponse2002.
+ :rtype: InlineResponse2002IntegrationInformation
"""
- return self._object
+ return self._integration_information
- @object.setter
- def object(self, object):
+ @integration_information.setter
+ def integration_information(self, integration_information):
"""
- Sets the object of this InlineResponse2002.
+ Sets the integration_information of this InlineResponse2002.
- :param object: The object of this InlineResponse2002.
- :type: str
+ :param integration_information: The integration_information of this InlineResponse2002.
+ :type: InlineResponse2002IntegrationInformation
"""
- self._object = object
+ self._integration_information = integration_information
@property
- def offset(self):
+ def organization_information(self):
"""
- Gets the offset of this InlineResponse2002.
+ Gets the organization_information of this InlineResponse2002.
- :return: The offset of this InlineResponse2002.
- :rtype: int
+ :return: The organization_information of this InlineResponse2002.
+ :rtype: Boardingv1registrationsOrganizationInformation
"""
- return self._offset
+ return self._organization_information
- @offset.setter
- def offset(self, offset):
+ @organization_information.setter
+ def organization_information(self, organization_information):
"""
- Sets the offset of this InlineResponse2002.
+ Sets the organization_information of this InlineResponse2002.
- :param offset: The offset of this InlineResponse2002.
- :type: int
+ :param organization_information: The organization_information of this InlineResponse2002.
+ :type: Boardingv1registrationsOrganizationInformation
"""
- self._offset = offset
+ self._organization_information = organization_information
@property
- def limit(self):
+ def product_information(self):
"""
- Gets the limit of this InlineResponse2002.
+ Gets the product_information of this InlineResponse2002.
- :return: The limit of this InlineResponse2002.
- :rtype: int
+ :return: The product_information of this InlineResponse2002.
+ :rtype: Boardingv1registrationsProductInformation
"""
- return self._limit
+ return self._product_information
- @limit.setter
- def limit(self, limit):
+ @product_information.setter
+ def product_information(self, product_information):
"""
- Sets the limit of this InlineResponse2002.
+ Sets the product_information of this InlineResponse2002.
- :param limit: The limit of this InlineResponse2002.
- :type: int
+ :param product_information: The product_information of this InlineResponse2002.
+ :type: Boardingv1registrationsProductInformation
"""
- self._limit = limit
+ self._product_information = product_information
@property
- def count(self):
+ def product_information_setups(self):
"""
- Gets the count of this InlineResponse2002.
+ Gets the product_information_setups of this InlineResponse2002.
- :return: The count of this InlineResponse2002.
- :rtype: int
+ :return: The product_information_setups of this InlineResponse2002.
+ :rtype: list[InlineResponse2012ProductInformationSetups]
"""
- return self._count
+ return self._product_information_setups
- @count.setter
- def count(self, count):
+ @product_information_setups.setter
+ def product_information_setups(self, product_information_setups):
"""
- Sets the count of this InlineResponse2002.
+ Sets the product_information_setups of this InlineResponse2002.
- :param count: The count of this InlineResponse2002.
- :type: int
+ :param product_information_setups: The product_information_setups of this InlineResponse2002.
+ :type: list[InlineResponse2012ProductInformationSetups]
"""
- self._count = count
+ self._product_information_setups = product_information_setups
@property
- def total(self):
+ def document_information(self):
"""
- Gets the total of this InlineResponse2002.
+ Gets the document_information of this InlineResponse2002.
- :return: The total of this InlineResponse2002.
- :rtype: int
+ :return: The document_information of this InlineResponse2002.
+ :rtype: Boardingv1registrationsDocumentInformation
"""
- return self._total
+ return self._document_information
- @total.setter
- def total(self, total):
+ @document_information.setter
+ def document_information(self, document_information):
"""
- Sets the total of this InlineResponse2002.
+ Sets the document_information of this InlineResponse2002.
- :param total: The total of this InlineResponse2002.
- :type: int
+ :param document_information: The document_information of this InlineResponse2002.
+ :type: Boardingv1registrationsDocumentInformation
"""
- self._total = total
+ self._document_information = document_information
@property
- def embedded(self):
+ def details(self):
"""
- Gets the embedded of this InlineResponse2002.
+ Gets the details of this InlineResponse2002.
- :return: The embedded of this InlineResponse2002.
- :rtype: InlineResponse2002Embedded
+ :return: The details of this InlineResponse2002.
+ :rtype: dict(str, list[object])
"""
- return self._embedded
+ return self._details
- @embedded.setter
- def embedded(self, embedded):
+ @details.setter
+ def details(self, details):
"""
- Sets the embedded of this InlineResponse2002.
+ Sets the details of this InlineResponse2002.
- :param embedded: The embedded of this InlineResponse2002.
- :type: InlineResponse2002Embedded
+ :param details: The details of this InlineResponse2002.
+ :type: dict(str, list[object])
"""
- self._embedded = embedded
+ self._details = details
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response2001_integration_information.py b/CyberSource/models/inline_response2002_integration_information.py
similarity index 84%
rename from CyberSource/models/inline_response2001_integration_information.py
rename to CyberSource/models/inline_response2002_integration_information.py
index f304d065..bc4eaf15 100644
--- a/CyberSource/models/inline_response2001_integration_information.py
+++ b/CyberSource/models/inline_response2002_integration_information.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2001IntegrationInformation(object):
+class InlineResponse2002IntegrationInformation(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -31,7 +31,7 @@ class InlineResponse2001IntegrationInformation(object):
"""
swagger_types = {
'oauth2': 'list[Boardingv1registrationsIntegrationInformationOauth2]',
- 'tenant_configurations': 'list[InlineResponse2001IntegrationInformationTenantConfigurations]'
+ 'tenant_configurations': 'list[InlineResponse2002IntegrationInformationTenantConfigurations]'
}
attribute_map = {
@@ -41,7 +41,7 @@ class InlineResponse2001IntegrationInformation(object):
def __init__(self, oauth2=None, tenant_configurations=None):
"""
- InlineResponse2001IntegrationInformation - a model defined in Swagger
+ InlineResponse2002IntegrationInformation - a model defined in Swagger
"""
self._oauth2 = None
@@ -55,9 +55,9 @@ def __init__(self, oauth2=None, tenant_configurations=None):
@property
def oauth2(self):
"""
- Gets the oauth2 of this InlineResponse2001IntegrationInformation.
+ Gets the oauth2 of this InlineResponse2002IntegrationInformation.
- :return: The oauth2 of this InlineResponse2001IntegrationInformation.
+ :return: The oauth2 of this InlineResponse2002IntegrationInformation.
:rtype: list[Boardingv1registrationsIntegrationInformationOauth2]
"""
return self._oauth2
@@ -65,9 +65,9 @@ def oauth2(self):
@oauth2.setter
def oauth2(self, oauth2):
"""
- Sets the oauth2 of this InlineResponse2001IntegrationInformation.
+ Sets the oauth2 of this InlineResponse2002IntegrationInformation.
- :param oauth2: The oauth2 of this InlineResponse2001IntegrationInformation.
+ :param oauth2: The oauth2 of this InlineResponse2002IntegrationInformation.
:type: list[Boardingv1registrationsIntegrationInformationOauth2]
"""
@@ -76,22 +76,22 @@ def oauth2(self, oauth2):
@property
def tenant_configurations(self):
"""
- Gets the tenant_configurations of this InlineResponse2001IntegrationInformation.
+ Gets the tenant_configurations of this InlineResponse2002IntegrationInformation.
tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.
- :return: The tenant_configurations of this InlineResponse2001IntegrationInformation.
- :rtype: list[InlineResponse2001IntegrationInformationTenantConfigurations]
+ :return: The tenant_configurations of this InlineResponse2002IntegrationInformation.
+ :rtype: list[InlineResponse2002IntegrationInformationTenantConfigurations]
"""
return self._tenant_configurations
@tenant_configurations.setter
def tenant_configurations(self, tenant_configurations):
"""
- Sets the tenant_configurations of this InlineResponse2001IntegrationInformation.
+ Sets the tenant_configurations of this InlineResponse2002IntegrationInformation.
tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.
- :param tenant_configurations: The tenant_configurations of this InlineResponse2001IntegrationInformation.
- :type: list[InlineResponse2001IntegrationInformationTenantConfigurations]
+ :param tenant_configurations: The tenant_configurations of this InlineResponse2002IntegrationInformation.
+ :type: list[InlineResponse2002IntegrationInformationTenantConfigurations]
"""
self._tenant_configurations = tenant_configurations
@@ -138,7 +138,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2001IntegrationInformation):
+ if not isinstance(other, InlineResponse2002IntegrationInformation):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2001_integration_information_tenant_configurations.py b/CyberSource/models/inline_response2002_integration_information_tenant_configurations.py
similarity index 83%
rename from CyberSource/models/inline_response2001_integration_information_tenant_configurations.py
rename to CyberSource/models/inline_response2002_integration_information_tenant_configurations.py
index f9bec48e..5b251ca1 100644
--- a/CyberSource/models/inline_response2001_integration_information_tenant_configurations.py
+++ b/CyberSource/models/inline_response2002_integration_information_tenant_configurations.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2001IntegrationInformationTenantConfigurations(object):
+class InlineResponse2002IntegrationInformationTenantConfigurations(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -47,7 +47,7 @@ class InlineResponse2001IntegrationInformationTenantConfigurations(object):
def __init__(self, solution_id=None, tenant_configuration_id=None, status=None, submit_time_utc=None, tenant_information=None):
"""
- InlineResponse2001IntegrationInformationTenantConfigurations - a model defined in Swagger
+ InlineResponse2002IntegrationInformationTenantConfigurations - a model defined in Swagger
"""
self._solution_id = None
@@ -70,10 +70,10 @@ def __init__(self, solution_id=None, tenant_configuration_id=None, status=None,
@property
def solution_id(self):
"""
- Gets the solution_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Gets the solution_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
The solutionId is the unique identifier for this system resource. Partner can use it to reference the specific solution through out the system.
- :return: The solution_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :return: The solution_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
:rtype: str
"""
return self._solution_id
@@ -81,10 +81,10 @@ def solution_id(self):
@solution_id.setter
def solution_id(self, solution_id):
"""
- Sets the solution_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Sets the solution_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
The solutionId is the unique identifier for this system resource. Partner can use it to reference the specific solution through out the system.
- :param solution_id: The solution_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :param solution_id: The solution_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
:type: str
"""
@@ -93,10 +93,10 @@ def solution_id(self, solution_id):
@property
def tenant_configuration_id(self):
"""
- Gets the tenant_configuration_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Gets the tenant_configuration_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
The tenantConfigurationId is the unique identifier for this system resource. You will see various places where it must be referenced in the URI path, or when querying the hierarchy for ancestors or descendants.
- :return: The tenant_configuration_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :return: The tenant_configuration_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
:rtype: str
"""
return self._tenant_configuration_id
@@ -104,10 +104,10 @@ def tenant_configuration_id(self):
@tenant_configuration_id.setter
def tenant_configuration_id(self, tenant_configuration_id):
"""
- Sets the tenant_configuration_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Sets the tenant_configuration_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
The tenantConfigurationId is the unique identifier for this system resource. You will see various places where it must be referenced in the URI path, or when querying the hierarchy for ancestors or descendants.
- :param tenant_configuration_id: The tenant_configuration_id of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :param tenant_configuration_id: The tenant_configuration_id of this InlineResponse2002IntegrationInformationTenantConfigurations.
:type: str
"""
@@ -116,10 +116,10 @@ def tenant_configuration_id(self, tenant_configuration_id):
@property
def status(self):
"""
- Gets the status of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Gets the status of this InlineResponse2002IntegrationInformationTenantConfigurations.
Possible values: - LIVE - INACTIVE - TEST
- :return: The status of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :return: The status of this InlineResponse2002IntegrationInformationTenantConfigurations.
:rtype: str
"""
return self._status
@@ -127,10 +127,10 @@ def status(self):
@status.setter
def status(self, status):
"""
- Sets the status of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Sets the status of this InlineResponse2002IntegrationInformationTenantConfigurations.
Possible values: - LIVE - INACTIVE - TEST
- :param status: The status of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :param status: The status of this InlineResponse2002IntegrationInformationTenantConfigurations.
:type: str
"""
@@ -139,10 +139,10 @@ def status(self, status):
@property
def submit_time_utc(self):
"""
- Gets the submit_time_utc of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Gets the submit_time_utc of this InlineResponse2002IntegrationInformationTenantConfigurations.
Time of request in UTC.
- :return: The submit_time_utc of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :return: The submit_time_utc of this InlineResponse2002IntegrationInformationTenantConfigurations.
:rtype: datetime
"""
return self._submit_time_utc
@@ -150,10 +150,10 @@ def submit_time_utc(self):
@submit_time_utc.setter
def submit_time_utc(self, submit_time_utc):
"""
- Sets the submit_time_utc of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Sets the submit_time_utc of this InlineResponse2002IntegrationInformationTenantConfigurations.
Time of request in UTC.
- :param submit_time_utc: The submit_time_utc of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :param submit_time_utc: The submit_time_utc of this InlineResponse2002IntegrationInformationTenantConfigurations.
:type: datetime
"""
@@ -162,9 +162,9 @@ def submit_time_utc(self, submit_time_utc):
@property
def tenant_information(self):
"""
- Gets the tenant_information of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Gets the tenant_information of this InlineResponse2002IntegrationInformationTenantConfigurations.
- :return: The tenant_information of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :return: The tenant_information of this InlineResponse2002IntegrationInformationTenantConfigurations.
:rtype: Boardingv1registrationsIntegrationInformationTenantInformation
"""
return self._tenant_information
@@ -172,9 +172,9 @@ def tenant_information(self):
@tenant_information.setter
def tenant_information(self, tenant_information):
"""
- Sets the tenant_information of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ Sets the tenant_information of this InlineResponse2002IntegrationInformationTenantConfigurations.
- :param tenant_information: The tenant_information of this InlineResponse2001IntegrationInformationTenantConfigurations.
+ :param tenant_information: The tenant_information of this InlineResponse2002IntegrationInformationTenantConfigurations.
:type: Boardingv1registrationsIntegrationInformationTenantInformation
"""
@@ -222,7 +222,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2001IntegrationInformationTenantConfigurations):
+ if not isinstance(other, InlineResponse2002IntegrationInformationTenantConfigurations):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2003.py b/CyberSource/models/inline_response2003.py
index aa2ad628..fd546b1b 100644
--- a/CyberSource/models/inline_response2003.py
+++ b/CyberSource/models/inline_response2003.py
@@ -30,287 +30,99 @@ class InlineResponse2003(object):
and the value is json key in definition.
"""
swagger_types = {
- 'links': 'InlineResponse2003Links',
- 'batch_id': 'str',
- 'batch_created_date': 'str',
- 'batch_source': 'str',
- 'merchant_reference': 'str',
- 'batch_ca_endpoints': 'str',
- 'status': 'str',
- 'totals': 'InlineResponse2002EmbeddedTotals',
- 'billing': 'InlineResponse2003Billing',
- 'description': 'str'
+ 'product_id': 'str',
+ 'product_name': 'str',
+ 'event_types': 'list[Notificationsubscriptionsv2productsorganizationIdEventTypes]'
}
attribute_map = {
- 'links': '_links',
- 'batch_id': 'batchId',
- 'batch_created_date': 'batchCreatedDate',
- 'batch_source': 'batchSource',
- 'merchant_reference': 'merchantReference',
- 'batch_ca_endpoints': 'batchCaEndpoints',
- 'status': 'status',
- 'totals': 'totals',
- 'billing': 'billing',
- 'description': 'description'
+ 'product_id': 'productId',
+ 'product_name': 'productName',
+ 'event_types': 'eventTypes'
}
- def __init__(self, links=None, batch_id=None, batch_created_date=None, batch_source=None, merchant_reference=None, batch_ca_endpoints=None, status=None, totals=None, billing=None, description=None):
+ def __init__(self, product_id=None, product_name=None, event_types=None):
"""
InlineResponse2003 - a model defined in Swagger
"""
- self._links = None
- self._batch_id = None
- self._batch_created_date = None
- self._batch_source = None
- self._merchant_reference = None
- self._batch_ca_endpoints = None
- self._status = None
- self._totals = None
- self._billing = None
- self._description = None
-
- if links is not None:
- self.links = links
- if batch_id is not None:
- self.batch_id = batch_id
- if batch_created_date is not None:
- self.batch_created_date = batch_created_date
- if batch_source is not None:
- self.batch_source = batch_source
- if merchant_reference is not None:
- self.merchant_reference = merchant_reference
- if batch_ca_endpoints is not None:
- self.batch_ca_endpoints = batch_ca_endpoints
- if status is not None:
- self.status = status
- if totals is not None:
- self.totals = totals
- if billing is not None:
- self.billing = billing
- if description is not None:
- self.description = description
+ self._product_id = None
+ self._product_name = None
+ self._event_types = None
- @property
- def links(self):
- """
- Gets the links of this InlineResponse2003.
-
- :return: The links of this InlineResponse2003.
- :rtype: InlineResponse2003Links
- """
- return self._links
-
- @links.setter
- def links(self, links):
- """
- Sets the links of this InlineResponse2003.
-
- :param links: The links of this InlineResponse2003.
- :type: InlineResponse2003Links
- """
-
- self._links = links
-
- @property
- def batch_id(self):
- """
- Gets the batch_id of this InlineResponse2003.
- Unique identification number assigned to the submitted request.
-
- :return: The batch_id of this InlineResponse2003.
- :rtype: str
- """
- return self._batch_id
-
- @batch_id.setter
- def batch_id(self, batch_id):
- """
- Sets the batch_id of this InlineResponse2003.
- Unique identification number assigned to the submitted request.
-
- :param batch_id: The batch_id of this InlineResponse2003.
- :type: str
- """
-
- self._batch_id = batch_id
-
- @property
- def batch_created_date(self):
- """
- Gets the batch_created_date of this InlineResponse2003.
- ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
-
- :return: The batch_created_date of this InlineResponse2003.
- :rtype: str
- """
- return self._batch_created_date
-
- @batch_created_date.setter
- def batch_created_date(self, batch_created_date):
- """
- Sets the batch_created_date of this InlineResponse2003.
- ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
-
- :param batch_created_date: The batch_created_date of this InlineResponse2003.
- :type: str
- """
-
- self._batch_created_date = batch_created_date
+ if product_id is not None:
+ self.product_id = product_id
+ if product_name is not None:
+ self.product_name = product_name
+ if event_types is not None:
+ self.event_types = event_types
@property
- def batch_source(self):
+ def product_id(self):
"""
- Gets the batch_source of this InlineResponse2003.
- Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+ Gets the product_id of this InlineResponse2003.
+ Product ID.
- :return: The batch_source of this InlineResponse2003.
+ :return: The product_id of this InlineResponse2003.
:rtype: str
"""
- return self._batch_source
+ return self._product_id
- @batch_source.setter
- def batch_source(self, batch_source):
+ @product_id.setter
+ def product_id(self, product_id):
"""
- Sets the batch_source of this InlineResponse2003.
- Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+ Sets the product_id of this InlineResponse2003.
+ Product ID.
- :param batch_source: The batch_source of this InlineResponse2003.
+ :param product_id: The product_id of this InlineResponse2003.
:type: str
"""
- self._batch_source = batch_source
+ self._product_id = product_id
@property
- def merchant_reference(self):
+ def product_name(self):
"""
- Gets the merchant_reference of this InlineResponse2003.
- Reference used by merchant to identify batch.
+ Gets the product_name of this InlineResponse2003.
+ Product Name.
- :return: The merchant_reference of this InlineResponse2003.
+ :return: The product_name of this InlineResponse2003.
:rtype: str
"""
- return self._merchant_reference
+ return self._product_name
- @merchant_reference.setter
- def merchant_reference(self, merchant_reference):
+ @product_name.setter
+ def product_name(self, product_name):
"""
- Sets the merchant_reference of this InlineResponse2003.
- Reference used by merchant to identify batch.
+ Sets the product_name of this InlineResponse2003.
+ Product Name.
- :param merchant_reference: The merchant_reference of this InlineResponse2003.
+ :param product_name: The product_name of this InlineResponse2003.
:type: str
"""
- self._merchant_reference = merchant_reference
+ self._product_name = product_name
@property
- def batch_ca_endpoints(self):
- """
- Gets the batch_ca_endpoints of this InlineResponse2003.
-
- :return: The batch_ca_endpoints of this InlineResponse2003.
- :rtype: str
+ def event_types(self):
"""
- return self._batch_ca_endpoints
+ Gets the event_types of this InlineResponse2003.
- @batch_ca_endpoints.setter
- def batch_ca_endpoints(self, batch_ca_endpoints):
+ :return: The event_types of this InlineResponse2003.
+ :rtype: list[Notificationsubscriptionsv2productsorganizationIdEventTypes]
"""
- Sets the batch_ca_endpoints of this InlineResponse2003.
+ return self._event_types
- :param batch_ca_endpoints: The batch_ca_endpoints of this InlineResponse2003.
- :type: str
+ @event_types.setter
+ def event_types(self, event_types):
"""
+ Sets the event_types of this InlineResponse2003.
- self._batch_ca_endpoints = batch_ca_endpoints
-
- @property
- def status(self):
- """
- Gets the status of this InlineResponse2003.
- Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED
-
- :return: The status of this InlineResponse2003.
- :rtype: str
- """
- return self._status
-
- @status.setter
- def status(self, status):
- """
- Sets the status of this InlineResponse2003.
- Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED
-
- :param status: The status of this InlineResponse2003.
- :type: str
- """
-
- self._status = status
-
- @property
- def totals(self):
- """
- Gets the totals of this InlineResponse2003.
-
- :return: The totals of this InlineResponse2003.
- :rtype: InlineResponse2002EmbeddedTotals
- """
- return self._totals
-
- @totals.setter
- def totals(self, totals):
- """
- Sets the totals of this InlineResponse2003.
-
- :param totals: The totals of this InlineResponse2003.
- :type: InlineResponse2002EmbeddedTotals
- """
-
- self._totals = totals
-
- @property
- def billing(self):
- """
- Gets the billing of this InlineResponse2003.
-
- :return: The billing of this InlineResponse2003.
- :rtype: InlineResponse2003Billing
- """
- return self._billing
-
- @billing.setter
- def billing(self, billing):
- """
- Sets the billing of this InlineResponse2003.
-
- :param billing: The billing of this InlineResponse2003.
- :type: InlineResponse2003Billing
- """
-
- self._billing = billing
-
- @property
- def description(self):
- """
- Gets the description of this InlineResponse2003.
-
- :return: The description of this InlineResponse2003.
- :rtype: str
- """
- return self._description
-
- @description.setter
- def description(self, description):
- """
- Sets the description of this InlineResponse2003.
-
- :param description: The description of this InlineResponse2003.
- :type: str
+ :param event_types: The event_types of this InlineResponse2003.
+ :type: list[Notificationsubscriptionsv2productsorganizationIdEventTypes]
"""
- self._description = description
+ self._event_types = event_types
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response2004.py b/CyberSource/models/inline_response2004.py
index 382fca81..46beb736 100644
--- a/CyberSource/models/inline_response2004.py
+++ b/CyberSource/models/inline_response2004.py
@@ -30,287 +30,347 @@ class InlineResponse2004(object):
and the value is json key in definition.
"""
swagger_types = {
- 'version': 'str',
- 'report_created_date': 'str',
- 'batch_id': 'str',
- 'batch_source': 'str',
- 'batch_ca_endpoints': 'str',
- 'batch_created_date': 'str',
- 'merchant_reference': 'str',
- 'totals': 'InlineResponse2002EmbeddedTotals',
- 'billing': 'InlineResponse2003Billing',
- 'records': 'list[InlineResponse2004Records]'
+ 'webhook_id': 'str',
+ 'organization_id': 'str',
+ 'products': 'list[Notificationsubscriptionsv2webhooksProducts]',
+ 'webhook_url': 'str',
+ 'health_check_url': 'str',
+ 'status': 'str',
+ 'name': 'str',
+ 'description': 'str',
+ 'retry_policy': 'Notificationsubscriptionsv2webhooksRetryPolicy',
+ 'security_policy': 'Notificationsubscriptionsv2webhooksSecurityPolicy',
+ 'created_on': 'str',
+ 'updated_on': 'str'
}
attribute_map = {
- 'version': 'version',
- 'report_created_date': 'reportCreatedDate',
- 'batch_id': 'batchId',
- 'batch_source': 'batchSource',
- 'batch_ca_endpoints': 'batchCaEndpoints',
- 'batch_created_date': 'batchCreatedDate',
- 'merchant_reference': 'merchantReference',
- 'totals': 'totals',
- 'billing': 'billing',
- 'records': 'records'
+ 'webhook_id': 'webhookId',
+ 'organization_id': 'organizationId',
+ 'products': 'products',
+ 'webhook_url': 'webhookUrl',
+ 'health_check_url': 'healthCheckUrl',
+ 'status': 'status',
+ 'name': 'name',
+ 'description': 'description',
+ 'retry_policy': 'retryPolicy',
+ 'security_policy': 'securityPolicy',
+ 'created_on': 'createdOn',
+ 'updated_on': 'updatedOn'
}
- def __init__(self, version=None, report_created_date=None, batch_id=None, batch_source=None, batch_ca_endpoints=None, batch_created_date=None, merchant_reference=None, totals=None, billing=None, records=None):
+ def __init__(self, webhook_id=None, organization_id=None, products=None, webhook_url=None, health_check_url=None, status='INACTIVE', name=None, description=None, retry_policy=None, security_policy=None, created_on=None, updated_on=None):
"""
InlineResponse2004 - a model defined in Swagger
"""
- self._version = None
- self._report_created_date = None
- self._batch_id = None
- self._batch_source = None
- self._batch_ca_endpoints = None
- self._batch_created_date = None
- self._merchant_reference = None
- self._totals = None
- self._billing = None
- self._records = None
-
- if version is not None:
- self.version = version
- if report_created_date is not None:
- self.report_created_date = report_created_date
- if batch_id is not None:
- self.batch_id = batch_id
- if batch_source is not None:
- self.batch_source = batch_source
- if batch_ca_endpoints is not None:
- self.batch_ca_endpoints = batch_ca_endpoints
- if batch_created_date is not None:
- self.batch_created_date = batch_created_date
- if merchant_reference is not None:
- self.merchant_reference = merchant_reference
- if totals is not None:
- self.totals = totals
- if billing is not None:
- self.billing = billing
- if records is not None:
- self.records = records
+ self._webhook_id = None
+ self._organization_id = None
+ self._products = None
+ self._webhook_url = None
+ self._health_check_url = None
+ self._status = None
+ self._name = None
+ self._description = None
+ self._retry_policy = None
+ self._security_policy = None
+ self._created_on = None
+ self._updated_on = None
+
+ if webhook_id is not None:
+ self.webhook_id = webhook_id
+ if organization_id is not None:
+ self.organization_id = organization_id
+ if products is not None:
+ self.products = products
+ if webhook_url is not None:
+ self.webhook_url = webhook_url
+ if health_check_url is not None:
+ self.health_check_url = health_check_url
+ if status is not None:
+ self.status = status
+ if name is not None:
+ self.name = name
+ if description is not None:
+ self.description = description
+ if retry_policy is not None:
+ self.retry_policy = retry_policy
+ if security_policy is not None:
+ self.security_policy = security_policy
+ if created_on is not None:
+ self.created_on = created_on
+ if updated_on is not None:
+ self.updated_on = updated_on
@property
- def version(self):
+ def webhook_id(self):
"""
- Gets the version of this InlineResponse2004.
+ Gets the webhook_id of this InlineResponse2004.
+ Webhook Id. This is generated by the server.
- :return: The version of this InlineResponse2004.
+ :return: The webhook_id of this InlineResponse2004.
:rtype: str
"""
- return self._version
+ return self._webhook_id
- @version.setter
- def version(self, version):
+ @webhook_id.setter
+ def webhook_id(self, webhook_id):
"""
- Sets the version of this InlineResponse2004.
+ Sets the webhook_id of this InlineResponse2004.
+ Webhook Id. This is generated by the server.
- :param version: The version of this InlineResponse2004.
+ :param webhook_id: The webhook_id of this InlineResponse2004.
:type: str
"""
- self._version = version
+ self._webhook_id = webhook_id
@property
- def report_created_date(self):
+ def organization_id(self):
"""
- Gets the report_created_date of this InlineResponse2004.
- ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+ Gets the organization_id of this InlineResponse2004.
+ Organization ID.
- :return: The report_created_date of this InlineResponse2004.
+ :return: The organization_id of this InlineResponse2004.
:rtype: str
"""
- return self._report_created_date
+ return self._organization_id
- @report_created_date.setter
- def report_created_date(self, report_created_date):
+ @organization_id.setter
+ def organization_id(self, organization_id):
"""
- Sets the report_created_date of this InlineResponse2004.
- ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+ Sets the organization_id of this InlineResponse2004.
+ Organization ID.
- :param report_created_date: The report_created_date of this InlineResponse2004.
+ :param organization_id: The organization_id of this InlineResponse2004.
:type: str
"""
- self._report_created_date = report_created_date
+ self._organization_id = organization_id
@property
- def batch_id(self):
+ def products(self):
"""
- Gets the batch_id of this InlineResponse2004.
- Unique identification number assigned to the submitted request.
+ Gets the products of this InlineResponse2004.
- :return: The batch_id of this InlineResponse2004.
+ :return: The products of this InlineResponse2004.
+ :rtype: list[Notificationsubscriptionsv2webhooksProducts]
+ """
+ return self._products
+
+ @products.setter
+ def products(self, products):
+ """
+ Sets the products of this InlineResponse2004.
+
+ :param products: The products of this InlineResponse2004.
+ :type: list[Notificationsubscriptionsv2webhooksProducts]
+ """
+
+ self._products = products
+
+ @property
+ def webhook_url(self):
+ """
+ Gets the webhook_url of this InlineResponse2004.
+ The client's endpoint (URL) to receive webhooks.
+
+ :return: The webhook_url of this InlineResponse2004.
:rtype: str
"""
- return self._batch_id
+ return self._webhook_url
- @batch_id.setter
- def batch_id(self, batch_id):
+ @webhook_url.setter
+ def webhook_url(self, webhook_url):
"""
- Sets the batch_id of this InlineResponse2004.
- Unique identification number assigned to the submitted request.
+ Sets the webhook_url of this InlineResponse2004.
+ The client's endpoint (URL) to receive webhooks.
- :param batch_id: The batch_id of this InlineResponse2004.
+ :param webhook_url: The webhook_url of this InlineResponse2004.
:type: str
"""
- self._batch_id = batch_id
+ self._webhook_url = webhook_url
@property
- def batch_source(self):
+ def health_check_url(self):
"""
- Gets the batch_source of this InlineResponse2004.
- Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+ Gets the health_check_url of this InlineResponse2004.
+ The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.
- :return: The batch_source of this InlineResponse2004.
+ :return: The health_check_url of this InlineResponse2004.
:rtype: str
"""
- return self._batch_source
+ return self._health_check_url
- @batch_source.setter
- def batch_source(self, batch_source):
+ @health_check_url.setter
+ def health_check_url(self, health_check_url):
"""
- Sets the batch_source of this InlineResponse2004.
- Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+ Sets the health_check_url of this InlineResponse2004.
+ The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.
- :param batch_source: The batch_source of this InlineResponse2004.
+ :param health_check_url: The health_check_url of this InlineResponse2004.
:type: str
"""
- self._batch_source = batch_source
+ self._health_check_url = health_check_url
@property
- def batch_ca_endpoints(self):
+ def status(self):
"""
- Gets the batch_ca_endpoints of this InlineResponse2004.
+ Gets the status of this InlineResponse2004.
+ Webhook status.
- :return: The batch_ca_endpoints of this InlineResponse2004.
+ :return: The status of this InlineResponse2004.
:rtype: str
"""
- return self._batch_ca_endpoints
+ return self._status
- @batch_ca_endpoints.setter
- def batch_ca_endpoints(self, batch_ca_endpoints):
+ @status.setter
+ def status(self, status):
"""
- Sets the batch_ca_endpoints of this InlineResponse2004.
+ Sets the status of this InlineResponse2004.
+ Webhook status.
- :param batch_ca_endpoints: The batch_ca_endpoints of this InlineResponse2004.
+ :param status: The status of this InlineResponse2004.
:type: str
"""
- self._batch_ca_endpoints = batch_ca_endpoints
+ self._status = status
@property
- def batch_created_date(self):
+ def name(self):
"""
- Gets the batch_created_date of this InlineResponse2004.
- ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+ Gets the name of this InlineResponse2004.
+ Client friendly webhook name.
- :return: The batch_created_date of this InlineResponse2004.
+ :return: The name of this InlineResponse2004.
:rtype: str
"""
- return self._batch_created_date
+ return self._name
- @batch_created_date.setter
- def batch_created_date(self, batch_created_date):
+ @name.setter
+ def name(self, name):
"""
- Sets the batch_created_date of this InlineResponse2004.
- ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+ Sets the name of this InlineResponse2004.
+ Client friendly webhook name.
- :param batch_created_date: The batch_created_date of this InlineResponse2004.
+ :param name: The name of this InlineResponse2004.
:type: str
"""
- self._batch_created_date = batch_created_date
+ self._name = name
@property
- def merchant_reference(self):
+ def description(self):
"""
- Gets the merchant_reference of this InlineResponse2004.
- Reference used by merchant to identify batch.
+ Gets the description of this InlineResponse2004.
+ Client friendly webhook description.
- :return: The merchant_reference of this InlineResponse2004.
+ :return: The description of this InlineResponse2004.
:rtype: str
"""
- return self._merchant_reference
+ return self._description
- @merchant_reference.setter
- def merchant_reference(self, merchant_reference):
+ @description.setter
+ def description(self, description):
"""
- Sets the merchant_reference of this InlineResponse2004.
- Reference used by merchant to identify batch.
+ Sets the description of this InlineResponse2004.
+ Client friendly webhook description.
- :param merchant_reference: The merchant_reference of this InlineResponse2004.
+ :param description: The description of this InlineResponse2004.
:type: str
"""
- self._merchant_reference = merchant_reference
+ self._description = description
+
+ @property
+ def retry_policy(self):
+ """
+ Gets the retry_policy of this InlineResponse2004.
+
+ :return: The retry_policy of this InlineResponse2004.
+ :rtype: Notificationsubscriptionsv2webhooksRetryPolicy
+ """
+ return self._retry_policy
+
+ @retry_policy.setter
+ def retry_policy(self, retry_policy):
+ """
+ Sets the retry_policy of this InlineResponse2004.
+
+ :param retry_policy: The retry_policy of this InlineResponse2004.
+ :type: Notificationsubscriptionsv2webhooksRetryPolicy
+ """
+
+ self._retry_policy = retry_policy
@property
- def totals(self):
+ def security_policy(self):
"""
- Gets the totals of this InlineResponse2004.
+ Gets the security_policy of this InlineResponse2004.
- :return: The totals of this InlineResponse2004.
- :rtype: InlineResponse2002EmbeddedTotals
+ :return: The security_policy of this InlineResponse2004.
+ :rtype: Notificationsubscriptionsv2webhooksSecurityPolicy
"""
- return self._totals
+ return self._security_policy
- @totals.setter
- def totals(self, totals):
+ @security_policy.setter
+ def security_policy(self, security_policy):
"""
- Sets the totals of this InlineResponse2004.
+ Sets the security_policy of this InlineResponse2004.
- :param totals: The totals of this InlineResponse2004.
- :type: InlineResponse2002EmbeddedTotals
+ :param security_policy: The security_policy of this InlineResponse2004.
+ :type: Notificationsubscriptionsv2webhooksSecurityPolicy
"""
- self._totals = totals
+ self._security_policy = security_policy
@property
- def billing(self):
+ def created_on(self):
"""
- Gets the billing of this InlineResponse2004.
+ Gets the created_on of this InlineResponse2004.
+ Date on which webhook was created/registered.
- :return: The billing of this InlineResponse2004.
- :rtype: InlineResponse2003Billing
+ :return: The created_on of this InlineResponse2004.
+ :rtype: str
"""
- return self._billing
+ return self._created_on
- @billing.setter
- def billing(self, billing):
+ @created_on.setter
+ def created_on(self, created_on):
"""
- Sets the billing of this InlineResponse2004.
+ Sets the created_on of this InlineResponse2004.
+ Date on which webhook was created/registered.
- :param billing: The billing of this InlineResponse2004.
- :type: InlineResponse2003Billing
+ :param created_on: The created_on of this InlineResponse2004.
+ :type: str
"""
- self._billing = billing
+ self._created_on = created_on
@property
- def records(self):
+ def updated_on(self):
"""
- Gets the records of this InlineResponse2004.
+ Gets the updated_on of this InlineResponse2004.
+ Date on which webhook was most recently updated.
- :return: The records of this InlineResponse2004.
- :rtype: list[InlineResponse2004Records]
+ :return: The updated_on of this InlineResponse2004.
+ :rtype: str
"""
- return self._records
+ return self._updated_on
- @records.setter
- def records(self, records):
+ @updated_on.setter
+ def updated_on(self, updated_on):
"""
- Sets the records of this InlineResponse2004.
+ Sets the updated_on of this InlineResponse2004.
+ Date on which webhook was most recently updated.
- :param records: The records of this InlineResponse2004.
- :type: list[InlineResponse2004Records]
+ :param updated_on: The updated_on of this InlineResponse2004.
+ :type: str
"""
- self._records = records
+ self._updated_on = updated_on
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response2005.py b/CyberSource/models/inline_response2005.py
new file mode 100644
index 00000000..75517a71
--- /dev/null
+++ b/CyberSource/models/inline_response2005.py
@@ -0,0 +1,278 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse2005(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'list[InlineResponse2005Links]',
+ 'object': 'str',
+ 'offset': 'int',
+ 'limit': 'int',
+ 'count': 'int',
+ 'total': 'int',
+ 'embedded': 'InlineResponse2005Embedded'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'object': 'object',
+ 'offset': 'offset',
+ 'limit': 'limit',
+ 'count': 'count',
+ 'total': 'total',
+ 'embedded': '_embedded'
+ }
+
+ def __init__(self, links=None, object=None, offset=None, limit=None, count=None, total=None, embedded=None):
+ """
+ InlineResponse2005 - a model defined in Swagger
+ """
+
+ self._links = None
+ self._object = None
+ self._offset = None
+ self._limit = None
+ self._count = None
+ self._total = None
+ self._embedded = None
+
+ if links is not None:
+ self.links = links
+ if object is not None:
+ self.object = object
+ if offset is not None:
+ self.offset = offset
+ if limit is not None:
+ self.limit = limit
+ if count is not None:
+ self.count = count
+ if total is not None:
+ self.total = total
+ if embedded is not None:
+ self.embedded = embedded
+
+ @property
+ def links(self):
+ """
+ Gets the links of this InlineResponse2005.
+
+ :return: The links of this InlineResponse2005.
+ :rtype: list[InlineResponse2005Links]
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this InlineResponse2005.
+
+ :param links: The links of this InlineResponse2005.
+ :type: list[InlineResponse2005Links]
+ """
+
+ self._links = links
+
+ @property
+ def object(self):
+ """
+ Gets the object of this InlineResponse2005.
+
+ :return: The object of this InlineResponse2005.
+ :rtype: str
+ """
+ return self._object
+
+ @object.setter
+ def object(self, object):
+ """
+ Sets the object of this InlineResponse2005.
+
+ :param object: The object of this InlineResponse2005.
+ :type: str
+ """
+
+ self._object = object
+
+ @property
+ def offset(self):
+ """
+ Gets the offset of this InlineResponse2005.
+
+ :return: The offset of this InlineResponse2005.
+ :rtype: int
+ """
+ return self._offset
+
+ @offset.setter
+ def offset(self, offset):
+ """
+ Sets the offset of this InlineResponse2005.
+
+ :param offset: The offset of this InlineResponse2005.
+ :type: int
+ """
+
+ self._offset = offset
+
+ @property
+ def limit(self):
+ """
+ Gets the limit of this InlineResponse2005.
+
+ :return: The limit of this InlineResponse2005.
+ :rtype: int
+ """
+ return self._limit
+
+ @limit.setter
+ def limit(self, limit):
+ """
+ Sets the limit of this InlineResponse2005.
+
+ :param limit: The limit of this InlineResponse2005.
+ :type: int
+ """
+
+ self._limit = limit
+
+ @property
+ def count(self):
+ """
+ Gets the count of this InlineResponse2005.
+
+ :return: The count of this InlineResponse2005.
+ :rtype: int
+ """
+ return self._count
+
+ @count.setter
+ def count(self, count):
+ """
+ Sets the count of this InlineResponse2005.
+
+ :param count: The count of this InlineResponse2005.
+ :type: int
+ """
+
+ self._count = count
+
+ @property
+ def total(self):
+ """
+ Gets the total of this InlineResponse2005.
+
+ :return: The total of this InlineResponse2005.
+ :rtype: int
+ """
+ return self._total
+
+ @total.setter
+ def total(self, total):
+ """
+ Sets the total of this InlineResponse2005.
+
+ :param total: The total of this InlineResponse2005.
+ :type: int
+ """
+
+ self._total = total
+
+ @property
+ def embedded(self):
+ """
+ Gets the embedded of this InlineResponse2005.
+
+ :return: The embedded of this InlineResponse2005.
+ :rtype: InlineResponse2005Embedded
+ """
+ return self._embedded
+
+ @embedded.setter
+ def embedded(self, embedded):
+ """
+ Sets the embedded of this InlineResponse2005.
+
+ :param embedded: The embedded of this InlineResponse2005.
+ :type: InlineResponse2005Embedded
+ """
+
+ self._embedded = embedded
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse2005):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response2002_embedded.py b/CyberSource/models/inline_response2005_embedded.py
similarity index 81%
rename from CyberSource/models/inline_response2002_embedded.py
rename to CyberSource/models/inline_response2005_embedded.py
index ab3f7ee3..c4385945 100644
--- a/CyberSource/models/inline_response2002_embedded.py
+++ b/CyberSource/models/inline_response2005_embedded.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2002Embedded(object):
+class InlineResponse2005Embedded(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -30,7 +30,7 @@ class InlineResponse2002Embedded(object):
and the value is json key in definition.
"""
swagger_types = {
- 'batches': 'list[InlineResponse2002EmbeddedBatches]'
+ 'batches': 'list[InlineResponse2005EmbeddedBatches]'
}
attribute_map = {
@@ -39,7 +39,7 @@ class InlineResponse2002Embedded(object):
def __init__(self, batches=None):
"""
- InlineResponse2002Embedded - a model defined in Swagger
+ InlineResponse2005Embedded - a model defined in Swagger
"""
self._batches = None
@@ -50,20 +50,20 @@ def __init__(self, batches=None):
@property
def batches(self):
"""
- Gets the batches of this InlineResponse2002Embedded.
+ Gets the batches of this InlineResponse2005Embedded.
- :return: The batches of this InlineResponse2002Embedded.
- :rtype: list[InlineResponse2002EmbeddedBatches]
+ :return: The batches of this InlineResponse2005Embedded.
+ :rtype: list[InlineResponse2005EmbeddedBatches]
"""
return self._batches
@batches.setter
def batches(self, batches):
"""
- Sets the batches of this InlineResponse2002Embedded.
+ Sets the batches of this InlineResponse2005Embedded.
- :param batches: The batches of this InlineResponse2002Embedded.
- :type: list[InlineResponse2002EmbeddedBatches]
+ :param batches: The batches of this InlineResponse2005Embedded.
+ :type: list[InlineResponse2005EmbeddedBatches]
"""
self._batches = batches
@@ -110,7 +110,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2002Embedded):
+ if not isinstance(other, InlineResponse2005Embedded):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2002_embedded_batches.py b/CyberSource/models/inline_response2005_embedded_batches.py
similarity index 77%
rename from CyberSource/models/inline_response2002_embedded_batches.py
rename to CyberSource/models/inline_response2005_embedded_batches.py
index 71c8797e..939428be 100644
--- a/CyberSource/models/inline_response2002_embedded_batches.py
+++ b/CyberSource/models/inline_response2005_embedded_batches.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2002EmbeddedBatches(object):
+class InlineResponse2005EmbeddedBatches(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -30,7 +30,7 @@ class InlineResponse2002EmbeddedBatches(object):
and the value is json key in definition.
"""
swagger_types = {
- 'links': 'InlineResponse2002EmbeddedLinks',
+ 'links': 'InlineResponse2005EmbeddedLinks',
'batch_id': 'str',
'batch_created_date': 'str',
'batch_modified_date': 'str',
@@ -39,7 +39,7 @@ class InlineResponse2002EmbeddedBatches(object):
'merchant_reference': 'str',
'batch_ca_endpoints': 'list[str]',
'status': 'str',
- 'totals': 'InlineResponse2002EmbeddedTotals'
+ 'totals': 'InlineResponse2005EmbeddedTotals'
}
attribute_map = {
@@ -57,7 +57,7 @@ class InlineResponse2002EmbeddedBatches(object):
def __init__(self, links=None, batch_id=None, batch_created_date=None, batch_modified_date=None, batch_source=None, token_source=None, merchant_reference=None, batch_ca_endpoints=None, status=None, totals=None):
"""
- InlineResponse2002EmbeddedBatches - a model defined in Swagger
+ InlineResponse2005EmbeddedBatches - a model defined in Swagger
"""
self._links = None
@@ -95,20 +95,20 @@ def __init__(self, links=None, batch_id=None, batch_created_date=None, batch_mod
@property
def links(self):
"""
- Gets the links of this InlineResponse2002EmbeddedBatches.
+ Gets the links of this InlineResponse2005EmbeddedBatches.
- :return: The links of this InlineResponse2002EmbeddedBatches.
- :rtype: InlineResponse2002EmbeddedLinks
+ :return: The links of this InlineResponse2005EmbeddedBatches.
+ :rtype: InlineResponse2005EmbeddedLinks
"""
return self._links
@links.setter
def links(self, links):
"""
- Sets the links of this InlineResponse2002EmbeddedBatches.
+ Sets the links of this InlineResponse2005EmbeddedBatches.
- :param links: The links of this InlineResponse2002EmbeddedBatches.
- :type: InlineResponse2002EmbeddedLinks
+ :param links: The links of this InlineResponse2005EmbeddedBatches.
+ :type: InlineResponse2005EmbeddedLinks
"""
self._links = links
@@ -116,10 +116,10 @@ def links(self, links):
@property
def batch_id(self):
"""
- Gets the batch_id of this InlineResponse2002EmbeddedBatches.
+ Gets the batch_id of this InlineResponse2005EmbeddedBatches.
Unique identification number assigned to the submitted request.
- :return: The batch_id of this InlineResponse2002EmbeddedBatches.
+ :return: The batch_id of this InlineResponse2005EmbeddedBatches.
:rtype: str
"""
return self._batch_id
@@ -127,10 +127,10 @@ def batch_id(self):
@batch_id.setter
def batch_id(self, batch_id):
"""
- Sets the batch_id of this InlineResponse2002EmbeddedBatches.
+ Sets the batch_id of this InlineResponse2005EmbeddedBatches.
Unique identification number assigned to the submitted request.
- :param batch_id: The batch_id of this InlineResponse2002EmbeddedBatches.
+ :param batch_id: The batch_id of this InlineResponse2005EmbeddedBatches.
:type: str
"""
@@ -139,10 +139,10 @@ def batch_id(self, batch_id):
@property
def batch_created_date(self):
"""
- Gets the batch_created_date of this InlineResponse2002EmbeddedBatches.
+ Gets the batch_created_date of this InlineResponse2005EmbeddedBatches.
ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
- :return: The batch_created_date of this InlineResponse2002EmbeddedBatches.
+ :return: The batch_created_date of this InlineResponse2005EmbeddedBatches.
:rtype: str
"""
return self._batch_created_date
@@ -150,10 +150,10 @@ def batch_created_date(self):
@batch_created_date.setter
def batch_created_date(self, batch_created_date):
"""
- Sets the batch_created_date of this InlineResponse2002EmbeddedBatches.
+ Sets the batch_created_date of this InlineResponse2005EmbeddedBatches.
ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
- :param batch_created_date: The batch_created_date of this InlineResponse2002EmbeddedBatches.
+ :param batch_created_date: The batch_created_date of this InlineResponse2005EmbeddedBatches.
:type: str
"""
@@ -162,10 +162,10 @@ def batch_created_date(self, batch_created_date):
@property
def batch_modified_date(self):
"""
- Gets the batch_modified_date of this InlineResponse2002EmbeddedBatches.
+ Gets the batch_modified_date of this InlineResponse2005EmbeddedBatches.
ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
- :return: The batch_modified_date of this InlineResponse2002EmbeddedBatches.
+ :return: The batch_modified_date of this InlineResponse2005EmbeddedBatches.
:rtype: str
"""
return self._batch_modified_date
@@ -173,10 +173,10 @@ def batch_modified_date(self):
@batch_modified_date.setter
def batch_modified_date(self, batch_modified_date):
"""
- Sets the batch_modified_date of this InlineResponse2002EmbeddedBatches.
+ Sets the batch_modified_date of this InlineResponse2005EmbeddedBatches.
ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
- :param batch_modified_date: The batch_modified_date of this InlineResponse2002EmbeddedBatches.
+ :param batch_modified_date: The batch_modified_date of this InlineResponse2005EmbeddedBatches.
:type: str
"""
@@ -185,10 +185,10 @@ def batch_modified_date(self, batch_modified_date):
@property
def batch_source(self):
"""
- Gets the batch_source of this InlineResponse2002EmbeddedBatches.
+ Gets the batch_source of this InlineResponse2005EmbeddedBatches.
Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_REGISTRY_API_SYNC * AMEX_MAINTENANCE
- :return: The batch_source of this InlineResponse2002EmbeddedBatches.
+ :return: The batch_source of this InlineResponse2005EmbeddedBatches.
:rtype: str
"""
return self._batch_source
@@ -196,10 +196,10 @@ def batch_source(self):
@batch_source.setter
def batch_source(self, batch_source):
"""
- Sets the batch_source of this InlineResponse2002EmbeddedBatches.
+ Sets the batch_source of this InlineResponse2005EmbeddedBatches.
Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_REGISTRY_API_SYNC * AMEX_MAINTENANCE
- :param batch_source: The batch_source of this InlineResponse2002EmbeddedBatches.
+ :param batch_source: The batch_source of this InlineResponse2005EmbeddedBatches.
:type: str
"""
@@ -208,10 +208,10 @@ def batch_source(self, batch_source):
@property
def token_source(self):
"""
- Gets the token_source of this InlineResponse2002EmbeddedBatches.
+ Gets the token_source of this InlineResponse2005EmbeddedBatches.
Valid Values: * SECURE_STORAGE * TMS * CYBERSOURCE
- :return: The token_source of this InlineResponse2002EmbeddedBatches.
+ :return: The token_source of this InlineResponse2005EmbeddedBatches.
:rtype: str
"""
return self._token_source
@@ -219,10 +219,10 @@ def token_source(self):
@token_source.setter
def token_source(self, token_source):
"""
- Sets the token_source of this InlineResponse2002EmbeddedBatches.
+ Sets the token_source of this InlineResponse2005EmbeddedBatches.
Valid Values: * SECURE_STORAGE * TMS * CYBERSOURCE
- :param token_source: The token_source of this InlineResponse2002EmbeddedBatches.
+ :param token_source: The token_source of this InlineResponse2005EmbeddedBatches.
:type: str
"""
@@ -231,10 +231,10 @@ def token_source(self, token_source):
@property
def merchant_reference(self):
"""
- Gets the merchant_reference of this InlineResponse2002EmbeddedBatches.
+ Gets the merchant_reference of this InlineResponse2005EmbeddedBatches.
Reference used by merchant to identify batch.
- :return: The merchant_reference of this InlineResponse2002EmbeddedBatches.
+ :return: The merchant_reference of this InlineResponse2005EmbeddedBatches.
:rtype: str
"""
return self._merchant_reference
@@ -242,10 +242,10 @@ def merchant_reference(self):
@merchant_reference.setter
def merchant_reference(self, merchant_reference):
"""
- Sets the merchant_reference of this InlineResponse2002EmbeddedBatches.
+ Sets the merchant_reference of this InlineResponse2005EmbeddedBatches.
Reference used by merchant to identify batch.
- :param merchant_reference: The merchant_reference of this InlineResponse2002EmbeddedBatches.
+ :param merchant_reference: The merchant_reference of this InlineResponse2005EmbeddedBatches.
:type: str
"""
@@ -254,10 +254,10 @@ def merchant_reference(self, merchant_reference):
@property
def batch_ca_endpoints(self):
"""
- Gets the batch_ca_endpoints of this InlineResponse2002EmbeddedBatches.
+ Gets the batch_ca_endpoints of this InlineResponse2005EmbeddedBatches.
Valid Values: * VISA * MASTERCARD * AMEX
- :return: The batch_ca_endpoints of this InlineResponse2002EmbeddedBatches.
+ :return: The batch_ca_endpoints of this InlineResponse2005EmbeddedBatches.
:rtype: list[str]
"""
return self._batch_ca_endpoints
@@ -265,10 +265,10 @@ def batch_ca_endpoints(self):
@batch_ca_endpoints.setter
def batch_ca_endpoints(self, batch_ca_endpoints):
"""
- Sets the batch_ca_endpoints of this InlineResponse2002EmbeddedBatches.
+ Sets the batch_ca_endpoints of this InlineResponse2005EmbeddedBatches.
Valid Values: * VISA * MASTERCARD * AMEX
- :param batch_ca_endpoints: The batch_ca_endpoints of this InlineResponse2002EmbeddedBatches.
+ :param batch_ca_endpoints: The batch_ca_endpoints of this InlineResponse2005EmbeddedBatches.
:type: list[str]
"""
@@ -277,10 +277,10 @@ def batch_ca_endpoints(self, batch_ca_endpoints):
@property
def status(self):
"""
- Gets the status of this InlineResponse2002EmbeddedBatches.
+ Gets the status of this InlineResponse2005EmbeddedBatches.
Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETE
- :return: The status of this InlineResponse2002EmbeddedBatches.
+ :return: The status of this InlineResponse2005EmbeddedBatches.
:rtype: str
"""
return self._status
@@ -288,10 +288,10 @@ def status(self):
@status.setter
def status(self, status):
"""
- Sets the status of this InlineResponse2002EmbeddedBatches.
+ Sets the status of this InlineResponse2005EmbeddedBatches.
Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETE
- :param status: The status of this InlineResponse2002EmbeddedBatches.
+ :param status: The status of this InlineResponse2005EmbeddedBatches.
:type: str
"""
@@ -300,20 +300,20 @@ def status(self, status):
@property
def totals(self):
"""
- Gets the totals of this InlineResponse2002EmbeddedBatches.
+ Gets the totals of this InlineResponse2005EmbeddedBatches.
- :return: The totals of this InlineResponse2002EmbeddedBatches.
- :rtype: InlineResponse2002EmbeddedTotals
+ :return: The totals of this InlineResponse2005EmbeddedBatches.
+ :rtype: InlineResponse2005EmbeddedTotals
"""
return self._totals
@totals.setter
def totals(self, totals):
"""
- Sets the totals of this InlineResponse2002EmbeddedBatches.
+ Sets the totals of this InlineResponse2005EmbeddedBatches.
- :param totals: The totals of this InlineResponse2002EmbeddedBatches.
- :type: InlineResponse2002EmbeddedTotals
+ :param totals: The totals of this InlineResponse2005EmbeddedBatches.
+ :type: InlineResponse2005EmbeddedTotals
"""
self._totals = totals
@@ -360,7 +360,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2002EmbeddedBatches):
+ if not isinstance(other, InlineResponse2005EmbeddedBatches):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2002_embedded_links.py b/CyberSource/models/inline_response2005_embedded_links.py
similarity index 81%
rename from CyberSource/models/inline_response2002_embedded_links.py
rename to CyberSource/models/inline_response2005_embedded_links.py
index 6d363237..46eaa0b9 100644
--- a/CyberSource/models/inline_response2002_embedded_links.py
+++ b/CyberSource/models/inline_response2005_embedded_links.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2002EmbeddedLinks(object):
+class InlineResponse2005EmbeddedLinks(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -30,7 +30,7 @@ class InlineResponse2002EmbeddedLinks(object):
and the value is json key in definition.
"""
swagger_types = {
- 'reports': 'list[InlineResponse2002EmbeddedLinksReports]'
+ 'reports': 'list[InlineResponse2005EmbeddedLinksReports]'
}
attribute_map = {
@@ -39,7 +39,7 @@ class InlineResponse2002EmbeddedLinks(object):
def __init__(self, reports=None):
"""
- InlineResponse2002EmbeddedLinks - a model defined in Swagger
+ InlineResponse2005EmbeddedLinks - a model defined in Swagger
"""
self._reports = None
@@ -50,20 +50,20 @@ def __init__(self, reports=None):
@property
def reports(self):
"""
- Gets the reports of this InlineResponse2002EmbeddedLinks.
+ Gets the reports of this InlineResponse2005EmbeddedLinks.
- :return: The reports of this InlineResponse2002EmbeddedLinks.
- :rtype: list[InlineResponse2002EmbeddedLinksReports]
+ :return: The reports of this InlineResponse2005EmbeddedLinks.
+ :rtype: list[InlineResponse2005EmbeddedLinksReports]
"""
return self._reports
@reports.setter
def reports(self, reports):
"""
- Sets the reports of this InlineResponse2002EmbeddedLinks.
+ Sets the reports of this InlineResponse2005EmbeddedLinks.
- :param reports: The reports of this InlineResponse2002EmbeddedLinks.
- :type: list[InlineResponse2002EmbeddedLinksReports]
+ :param reports: The reports of this InlineResponse2005EmbeddedLinks.
+ :type: list[InlineResponse2005EmbeddedLinksReports]
"""
self._reports = reports
@@ -110,7 +110,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2002EmbeddedLinks):
+ if not isinstance(other, InlineResponse2005EmbeddedLinks):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2002_embedded_links_reports.py b/CyberSource/models/inline_response2005_embedded_links_reports.py
similarity index 86%
rename from CyberSource/models/inline_response2002_embedded_links_reports.py
rename to CyberSource/models/inline_response2005_embedded_links_reports.py
index 103eaaf2..9f49c88e 100644
--- a/CyberSource/models/inline_response2002_embedded_links_reports.py
+++ b/CyberSource/models/inline_response2005_embedded_links_reports.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2002EmbeddedLinksReports(object):
+class InlineResponse2005EmbeddedLinksReports(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -39,7 +39,7 @@ class InlineResponse2002EmbeddedLinksReports(object):
def __init__(self, href=None):
"""
- InlineResponse2002EmbeddedLinksReports - a model defined in Swagger
+ InlineResponse2005EmbeddedLinksReports - a model defined in Swagger
"""
self._href = None
@@ -50,9 +50,9 @@ def __init__(self, href=None):
@property
def href(self):
"""
- Gets the href of this InlineResponse2002EmbeddedLinksReports.
+ Gets the href of this InlineResponse2005EmbeddedLinksReports.
- :return: The href of this InlineResponse2002EmbeddedLinksReports.
+ :return: The href of this InlineResponse2005EmbeddedLinksReports.
:rtype: str
"""
return self._href
@@ -60,9 +60,9 @@ def href(self):
@href.setter
def href(self, href):
"""
- Sets the href of this InlineResponse2002EmbeddedLinksReports.
+ Sets the href of this InlineResponse2005EmbeddedLinksReports.
- :param href: The href of this InlineResponse2002EmbeddedLinksReports.
+ :param href: The href of this InlineResponse2005EmbeddedLinksReports.
:type: str
"""
@@ -110,7 +110,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2002EmbeddedLinksReports):
+ if not isinstance(other, InlineResponse2005EmbeddedLinksReports):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2002_embedded_totals.py b/CyberSource/models/inline_response2005_embedded_totals.py
similarity index 81%
rename from CyberSource/models/inline_response2002_embedded_totals.py
rename to CyberSource/models/inline_response2005_embedded_totals.py
index 434493c5..4dfd479d 100644
--- a/CyberSource/models/inline_response2002_embedded_totals.py
+++ b/CyberSource/models/inline_response2005_embedded_totals.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2002EmbeddedTotals(object):
+class InlineResponse2005EmbeddedTotals(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -47,7 +47,7 @@ class InlineResponse2002EmbeddedTotals(object):
def __init__(self, accepted_records=None, rejected_records=None, updated_records=None, ca_responses=None, ca_responses_omitted=None):
"""
- InlineResponse2002EmbeddedTotals - a model defined in Swagger
+ InlineResponse2005EmbeddedTotals - a model defined in Swagger
"""
self._accepted_records = None
@@ -70,9 +70,9 @@ def __init__(self, accepted_records=None, rejected_records=None, updated_records
@property
def accepted_records(self):
"""
- Gets the accepted_records of this InlineResponse2002EmbeddedTotals.
+ Gets the accepted_records of this InlineResponse2005EmbeddedTotals.
- :return: The accepted_records of this InlineResponse2002EmbeddedTotals.
+ :return: The accepted_records of this InlineResponse2005EmbeddedTotals.
:rtype: int
"""
return self._accepted_records
@@ -80,9 +80,9 @@ def accepted_records(self):
@accepted_records.setter
def accepted_records(self, accepted_records):
"""
- Sets the accepted_records of this InlineResponse2002EmbeddedTotals.
+ Sets the accepted_records of this InlineResponse2005EmbeddedTotals.
- :param accepted_records: The accepted_records of this InlineResponse2002EmbeddedTotals.
+ :param accepted_records: The accepted_records of this InlineResponse2005EmbeddedTotals.
:type: int
"""
@@ -91,9 +91,9 @@ def accepted_records(self, accepted_records):
@property
def rejected_records(self):
"""
- Gets the rejected_records of this InlineResponse2002EmbeddedTotals.
+ Gets the rejected_records of this InlineResponse2005EmbeddedTotals.
- :return: The rejected_records of this InlineResponse2002EmbeddedTotals.
+ :return: The rejected_records of this InlineResponse2005EmbeddedTotals.
:rtype: int
"""
return self._rejected_records
@@ -101,9 +101,9 @@ def rejected_records(self):
@rejected_records.setter
def rejected_records(self, rejected_records):
"""
- Sets the rejected_records of this InlineResponse2002EmbeddedTotals.
+ Sets the rejected_records of this InlineResponse2005EmbeddedTotals.
- :param rejected_records: The rejected_records of this InlineResponse2002EmbeddedTotals.
+ :param rejected_records: The rejected_records of this InlineResponse2005EmbeddedTotals.
:type: int
"""
@@ -112,9 +112,9 @@ def rejected_records(self, rejected_records):
@property
def updated_records(self):
"""
- Gets the updated_records of this InlineResponse2002EmbeddedTotals.
+ Gets the updated_records of this InlineResponse2005EmbeddedTotals.
- :return: The updated_records of this InlineResponse2002EmbeddedTotals.
+ :return: The updated_records of this InlineResponse2005EmbeddedTotals.
:rtype: int
"""
return self._updated_records
@@ -122,9 +122,9 @@ def updated_records(self):
@updated_records.setter
def updated_records(self, updated_records):
"""
- Sets the updated_records of this InlineResponse2002EmbeddedTotals.
+ Sets the updated_records of this InlineResponse2005EmbeddedTotals.
- :param updated_records: The updated_records of this InlineResponse2002EmbeddedTotals.
+ :param updated_records: The updated_records of this InlineResponse2005EmbeddedTotals.
:type: int
"""
@@ -133,9 +133,9 @@ def updated_records(self, updated_records):
@property
def ca_responses(self):
"""
- Gets the ca_responses of this InlineResponse2002EmbeddedTotals.
+ Gets the ca_responses of this InlineResponse2005EmbeddedTotals.
- :return: The ca_responses of this InlineResponse2002EmbeddedTotals.
+ :return: The ca_responses of this InlineResponse2005EmbeddedTotals.
:rtype: int
"""
return self._ca_responses
@@ -143,9 +143,9 @@ def ca_responses(self):
@ca_responses.setter
def ca_responses(self, ca_responses):
"""
- Sets the ca_responses of this InlineResponse2002EmbeddedTotals.
+ Sets the ca_responses of this InlineResponse2005EmbeddedTotals.
- :param ca_responses: The ca_responses of this InlineResponse2002EmbeddedTotals.
+ :param ca_responses: The ca_responses of this InlineResponse2005EmbeddedTotals.
:type: int
"""
@@ -154,9 +154,9 @@ def ca_responses(self, ca_responses):
@property
def ca_responses_omitted(self):
"""
- Gets the ca_responses_omitted of this InlineResponse2002EmbeddedTotals.
+ Gets the ca_responses_omitted of this InlineResponse2005EmbeddedTotals.
- :return: The ca_responses_omitted of this InlineResponse2002EmbeddedTotals.
+ :return: The ca_responses_omitted of this InlineResponse2005EmbeddedTotals.
:rtype: int
"""
return self._ca_responses_omitted
@@ -164,9 +164,9 @@ def ca_responses_omitted(self):
@ca_responses_omitted.setter
def ca_responses_omitted(self, ca_responses_omitted):
"""
- Sets the ca_responses_omitted of this InlineResponse2002EmbeddedTotals.
+ Sets the ca_responses_omitted of this InlineResponse2005EmbeddedTotals.
- :param ca_responses_omitted: The ca_responses_omitted of this InlineResponse2002EmbeddedTotals.
+ :param ca_responses_omitted: The ca_responses_omitted of this InlineResponse2005EmbeddedTotals.
:type: int
"""
@@ -214,7 +214,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2002EmbeddedTotals):
+ if not isinstance(other, InlineResponse2005EmbeddedTotals):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2002_links.py b/CyberSource/models/inline_response2005_links.py
similarity index 83%
rename from CyberSource/models/inline_response2002_links.py
rename to CyberSource/models/inline_response2005_links.py
index 71a2fbdb..ca0713e7 100644
--- a/CyberSource/models/inline_response2002_links.py
+++ b/CyberSource/models/inline_response2005_links.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2002Links(object):
+class InlineResponse2005Links(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -41,7 +41,7 @@ class InlineResponse2002Links(object):
def __init__(self, rel=None, href=None):
"""
- InlineResponse2002Links - a model defined in Swagger
+ InlineResponse2005Links - a model defined in Swagger
"""
self._rel = None
@@ -55,10 +55,10 @@ def __init__(self, rel=None, href=None):
@property
def rel(self):
"""
- Gets the rel of this InlineResponse2002Links.
+ Gets the rel of this InlineResponse2005Links.
Valid Values: * self * first * last * prev * next
- :return: The rel of this InlineResponse2002Links.
+ :return: The rel of this InlineResponse2005Links.
:rtype: str
"""
return self._rel
@@ -66,10 +66,10 @@ def rel(self):
@rel.setter
def rel(self, rel):
"""
- Sets the rel of this InlineResponse2002Links.
+ Sets the rel of this InlineResponse2005Links.
Valid Values: * self * first * last * prev * next
- :param rel: The rel of this InlineResponse2002Links.
+ :param rel: The rel of this InlineResponse2005Links.
:type: str
"""
@@ -78,9 +78,9 @@ def rel(self, rel):
@property
def href(self):
"""
- Gets the href of this InlineResponse2002Links.
+ Gets the href of this InlineResponse2005Links.
- :return: The href of this InlineResponse2002Links.
+ :return: The href of this InlineResponse2005Links.
:rtype: str
"""
return self._href
@@ -88,9 +88,9 @@ def href(self):
@href.setter
def href(self, href):
"""
- Sets the href of this InlineResponse2002Links.
+ Sets the href of this InlineResponse2005Links.
- :param href: The href of this InlineResponse2002Links.
+ :param href: The href of this InlineResponse2005Links.
:type: str
"""
@@ -138,7 +138,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2002Links):
+ if not isinstance(other, InlineResponse2005Links):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2006.py b/CyberSource/models/inline_response2006.py
new file mode 100644
index 00000000..1ac12bce
--- /dev/null
+++ b/CyberSource/models/inline_response2006.py
@@ -0,0 +1,366 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse2006(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'InlineResponse2006Links',
+ 'batch_id': 'str',
+ 'batch_created_date': 'str',
+ 'batch_source': 'str',
+ 'merchant_reference': 'str',
+ 'batch_ca_endpoints': 'str',
+ 'status': 'str',
+ 'totals': 'InlineResponse2005EmbeddedTotals',
+ 'billing': 'InlineResponse2006Billing',
+ 'description': 'str'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'batch_id': 'batchId',
+ 'batch_created_date': 'batchCreatedDate',
+ 'batch_source': 'batchSource',
+ 'merchant_reference': 'merchantReference',
+ 'batch_ca_endpoints': 'batchCaEndpoints',
+ 'status': 'status',
+ 'totals': 'totals',
+ 'billing': 'billing',
+ 'description': 'description'
+ }
+
+ def __init__(self, links=None, batch_id=None, batch_created_date=None, batch_source=None, merchant_reference=None, batch_ca_endpoints=None, status=None, totals=None, billing=None, description=None):
+ """
+ InlineResponse2006 - a model defined in Swagger
+ """
+
+ self._links = None
+ self._batch_id = None
+ self._batch_created_date = None
+ self._batch_source = None
+ self._merchant_reference = None
+ self._batch_ca_endpoints = None
+ self._status = None
+ self._totals = None
+ self._billing = None
+ self._description = None
+
+ if links is not None:
+ self.links = links
+ if batch_id is not None:
+ self.batch_id = batch_id
+ if batch_created_date is not None:
+ self.batch_created_date = batch_created_date
+ if batch_source is not None:
+ self.batch_source = batch_source
+ if merchant_reference is not None:
+ self.merchant_reference = merchant_reference
+ if batch_ca_endpoints is not None:
+ self.batch_ca_endpoints = batch_ca_endpoints
+ if status is not None:
+ self.status = status
+ if totals is not None:
+ self.totals = totals
+ if billing is not None:
+ self.billing = billing
+ if description is not None:
+ self.description = description
+
+ @property
+ def links(self):
+ """
+ Gets the links of this InlineResponse2006.
+
+ :return: The links of this InlineResponse2006.
+ :rtype: InlineResponse2006Links
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this InlineResponse2006.
+
+ :param links: The links of this InlineResponse2006.
+ :type: InlineResponse2006Links
+ """
+
+ self._links = links
+
+ @property
+ def batch_id(self):
+ """
+ Gets the batch_id of this InlineResponse2006.
+ Unique identification number assigned to the submitted request.
+
+ :return: The batch_id of this InlineResponse2006.
+ :rtype: str
+ """
+ return self._batch_id
+
+ @batch_id.setter
+ def batch_id(self, batch_id):
+ """
+ Sets the batch_id of this InlineResponse2006.
+ Unique identification number assigned to the submitted request.
+
+ :param batch_id: The batch_id of this InlineResponse2006.
+ :type: str
+ """
+
+ self._batch_id = batch_id
+
+ @property
+ def batch_created_date(self):
+ """
+ Gets the batch_created_date of this InlineResponse2006.
+ ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+
+ :return: The batch_created_date of this InlineResponse2006.
+ :rtype: str
+ """
+ return self._batch_created_date
+
+ @batch_created_date.setter
+ def batch_created_date(self, batch_created_date):
+ """
+ Sets the batch_created_date of this InlineResponse2006.
+ ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+
+ :param batch_created_date: The batch_created_date of this InlineResponse2006.
+ :type: str
+ """
+
+ self._batch_created_date = batch_created_date
+
+ @property
+ def batch_source(self):
+ """
+ Gets the batch_source of this InlineResponse2006.
+ Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+
+ :return: The batch_source of this InlineResponse2006.
+ :rtype: str
+ """
+ return self._batch_source
+
+ @batch_source.setter
+ def batch_source(self, batch_source):
+ """
+ Sets the batch_source of this InlineResponse2006.
+ Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+
+ :param batch_source: The batch_source of this InlineResponse2006.
+ :type: str
+ """
+
+ self._batch_source = batch_source
+
+ @property
+ def merchant_reference(self):
+ """
+ Gets the merchant_reference of this InlineResponse2006.
+ Reference used by merchant to identify batch.
+
+ :return: The merchant_reference of this InlineResponse2006.
+ :rtype: str
+ """
+ return self._merchant_reference
+
+ @merchant_reference.setter
+ def merchant_reference(self, merchant_reference):
+ """
+ Sets the merchant_reference of this InlineResponse2006.
+ Reference used by merchant to identify batch.
+
+ :param merchant_reference: The merchant_reference of this InlineResponse2006.
+ :type: str
+ """
+
+ self._merchant_reference = merchant_reference
+
+ @property
+ def batch_ca_endpoints(self):
+ """
+ Gets the batch_ca_endpoints of this InlineResponse2006.
+
+ :return: The batch_ca_endpoints of this InlineResponse2006.
+ :rtype: str
+ """
+ return self._batch_ca_endpoints
+
+ @batch_ca_endpoints.setter
+ def batch_ca_endpoints(self, batch_ca_endpoints):
+ """
+ Sets the batch_ca_endpoints of this InlineResponse2006.
+
+ :param batch_ca_endpoints: The batch_ca_endpoints of this InlineResponse2006.
+ :type: str
+ """
+
+ self._batch_ca_endpoints = batch_ca_endpoints
+
+ @property
+ def status(self):
+ """
+ Gets the status of this InlineResponse2006.
+ Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED
+
+ :return: The status of this InlineResponse2006.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this InlineResponse2006.
+ Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED
+
+ :param status: The status of this InlineResponse2006.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def totals(self):
+ """
+ Gets the totals of this InlineResponse2006.
+
+ :return: The totals of this InlineResponse2006.
+ :rtype: InlineResponse2005EmbeddedTotals
+ """
+ return self._totals
+
+ @totals.setter
+ def totals(self, totals):
+ """
+ Sets the totals of this InlineResponse2006.
+
+ :param totals: The totals of this InlineResponse2006.
+ :type: InlineResponse2005EmbeddedTotals
+ """
+
+ self._totals = totals
+
+ @property
+ def billing(self):
+ """
+ Gets the billing of this InlineResponse2006.
+
+ :return: The billing of this InlineResponse2006.
+ :rtype: InlineResponse2006Billing
+ """
+ return self._billing
+
+ @billing.setter
+ def billing(self, billing):
+ """
+ Sets the billing of this InlineResponse2006.
+
+ :param billing: The billing of this InlineResponse2006.
+ :type: InlineResponse2006Billing
+ """
+
+ self._billing = billing
+
+ @property
+ def description(self):
+ """
+ Gets the description of this InlineResponse2006.
+
+ :return: The description of this InlineResponse2006.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this InlineResponse2006.
+
+ :param description: The description of this InlineResponse2006.
+ :type: str
+ """
+
+ self._description = description
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse2006):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response2003_billing.py b/CyberSource/models/inline_response2006_billing.py
similarity index 76%
rename from CyberSource/models/inline_response2003_billing.py
rename to CyberSource/models/inline_response2006_billing.py
index f1e876df..80c2153f 100644
--- a/CyberSource/models/inline_response2003_billing.py
+++ b/CyberSource/models/inline_response2006_billing.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2003Billing(object):
+class InlineResponse2006Billing(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -45,7 +45,7 @@ class InlineResponse2003Billing(object):
def __init__(self, nan=None, ned=None, acl=None, cch=None):
"""
- InlineResponse2003Billing - a model defined in Swagger
+ InlineResponse2006Billing - a model defined in Swagger
"""
self._nan = None
@@ -65,9 +65,9 @@ def __init__(self, nan=None, ned=None, acl=None, cch=None):
@property
def nan(self):
"""
- Gets the nan of this InlineResponse2003Billing.
+ Gets the nan of this InlineResponse2006Billing.
- :return: The nan of this InlineResponse2003Billing.
+ :return: The nan of this InlineResponse2006Billing.
:rtype: int
"""
return self._nan
@@ -75,9 +75,9 @@ def nan(self):
@nan.setter
def nan(self, nan):
"""
- Sets the nan of this InlineResponse2003Billing.
+ Sets the nan of this InlineResponse2006Billing.
- :param nan: The nan of this InlineResponse2003Billing.
+ :param nan: The nan of this InlineResponse2006Billing.
:type: int
"""
@@ -86,9 +86,9 @@ def nan(self, nan):
@property
def ned(self):
"""
- Gets the ned of this InlineResponse2003Billing.
+ Gets the ned of this InlineResponse2006Billing.
- :return: The ned of this InlineResponse2003Billing.
+ :return: The ned of this InlineResponse2006Billing.
:rtype: int
"""
return self._ned
@@ -96,9 +96,9 @@ def ned(self):
@ned.setter
def ned(self, ned):
"""
- Sets the ned of this InlineResponse2003Billing.
+ Sets the ned of this InlineResponse2006Billing.
- :param ned: The ned of this InlineResponse2003Billing.
+ :param ned: The ned of this InlineResponse2006Billing.
:type: int
"""
@@ -107,9 +107,9 @@ def ned(self, ned):
@property
def acl(self):
"""
- Gets the acl of this InlineResponse2003Billing.
+ Gets the acl of this InlineResponse2006Billing.
- :return: The acl of this InlineResponse2003Billing.
+ :return: The acl of this InlineResponse2006Billing.
:rtype: int
"""
return self._acl
@@ -117,9 +117,9 @@ def acl(self):
@acl.setter
def acl(self, acl):
"""
- Sets the acl of this InlineResponse2003Billing.
+ Sets the acl of this InlineResponse2006Billing.
- :param acl: The acl of this InlineResponse2003Billing.
+ :param acl: The acl of this InlineResponse2006Billing.
:type: int
"""
@@ -128,9 +128,9 @@ def acl(self, acl):
@property
def cch(self):
"""
- Gets the cch of this InlineResponse2003Billing.
+ Gets the cch of this InlineResponse2006Billing.
- :return: The cch of this InlineResponse2003Billing.
+ :return: The cch of this InlineResponse2006Billing.
:rtype: int
"""
return self._cch
@@ -138,9 +138,9 @@ def cch(self):
@cch.setter
def cch(self, cch):
"""
- Sets the cch of this InlineResponse2003Billing.
+ Sets the cch of this InlineResponse2006Billing.
- :param cch: The cch of this InlineResponse2003Billing.
+ :param cch: The cch of this InlineResponse2006Billing.
:type: int
"""
@@ -188,7 +188,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2003Billing):
+ if not isinstance(other, InlineResponse2006Billing):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2003_links.py b/CyberSource/models/inline_response2006_links.py
similarity index 79%
rename from CyberSource/models/inline_response2003_links.py
rename to CyberSource/models/inline_response2006_links.py
index 77fa93d8..76f51475 100644
--- a/CyberSource/models/inline_response2003_links.py
+++ b/CyberSource/models/inline_response2006_links.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2003Links(object):
+class InlineResponse2006Links(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -31,7 +31,7 @@ class InlineResponse2003Links(object):
"""
swagger_types = {
'_self': 'InlineResponse202LinksStatus',
- 'report': 'list[InlineResponse2003LinksReport]'
+ 'report': 'list[InlineResponse2006LinksReport]'
}
attribute_map = {
@@ -41,7 +41,7 @@ class InlineResponse2003Links(object):
def __init__(self, _self=None, report=None):
"""
- InlineResponse2003Links - a model defined in Swagger
+ InlineResponse2006Links - a model defined in Swagger
"""
self.__self = None
@@ -55,9 +55,9 @@ def __init__(self, _self=None, report=None):
@property
def _self(self):
"""
- Gets the _self of this InlineResponse2003Links.
+ Gets the _self of this InlineResponse2006Links.
- :return: The _self of this InlineResponse2003Links.
+ :return: The _self of this InlineResponse2006Links.
:rtype: InlineResponse202LinksStatus
"""
return self.__self
@@ -65,9 +65,9 @@ def _self(self):
@_self.setter
def _self(self, _self):
"""
- Sets the _self of this InlineResponse2003Links.
+ Sets the _self of this InlineResponse2006Links.
- :param _self: The _self of this InlineResponse2003Links.
+ :param _self: The _self of this InlineResponse2006Links.
:type: InlineResponse202LinksStatus
"""
@@ -76,20 +76,20 @@ def _self(self, _self):
@property
def report(self):
"""
- Gets the report of this InlineResponse2003Links.
+ Gets the report of this InlineResponse2006Links.
- :return: The report of this InlineResponse2003Links.
- :rtype: list[InlineResponse2003LinksReport]
+ :return: The report of this InlineResponse2006Links.
+ :rtype: list[InlineResponse2006LinksReport]
"""
return self._report
@report.setter
def report(self, report):
"""
- Sets the report of this InlineResponse2003Links.
+ Sets the report of this InlineResponse2006Links.
- :param report: The report of this InlineResponse2003Links.
- :type: list[InlineResponse2003LinksReport]
+ :param report: The report of this InlineResponse2006Links.
+ :type: list[InlineResponse2006LinksReport]
"""
self._report = report
@@ -136,7 +136,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2003Links):
+ if not isinstance(other, InlineResponse2006Links):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2003_links_report.py b/CyberSource/models/inline_response2006_links_report.py
similarity index 86%
rename from CyberSource/models/inline_response2003_links_report.py
rename to CyberSource/models/inline_response2006_links_report.py
index 7b8016b8..3967306a 100644
--- a/CyberSource/models/inline_response2003_links_report.py
+++ b/CyberSource/models/inline_response2006_links_report.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2003LinksReport(object):
+class InlineResponse2006LinksReport(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -39,7 +39,7 @@ class InlineResponse2003LinksReport(object):
def __init__(self, href=None):
"""
- InlineResponse2003LinksReport - a model defined in Swagger
+ InlineResponse2006LinksReport - a model defined in Swagger
"""
self._href = None
@@ -50,9 +50,9 @@ def __init__(self, href=None):
@property
def href(self):
"""
- Gets the href of this InlineResponse2003LinksReport.
+ Gets the href of this InlineResponse2006LinksReport.
- :return: The href of this InlineResponse2003LinksReport.
+ :return: The href of this InlineResponse2006LinksReport.
:rtype: str
"""
return self._href
@@ -60,9 +60,9 @@ def href(self):
@href.setter
def href(self, href):
"""
- Sets the href of this InlineResponse2003LinksReport.
+ Sets the href of this InlineResponse2006LinksReport.
- :param href: The href of this InlineResponse2003LinksReport.
+ :param href: The href of this InlineResponse2006LinksReport.
:type: str
"""
@@ -110,7 +110,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2003LinksReport):
+ if not isinstance(other, InlineResponse2006LinksReport):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2007.py b/CyberSource/models/inline_response2007.py
new file mode 100644
index 00000000..a662e693
--- /dev/null
+++ b/CyberSource/models/inline_response2007.py
@@ -0,0 +1,366 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse2007(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'version': 'str',
+ 'report_created_date': 'str',
+ 'batch_id': 'str',
+ 'batch_source': 'str',
+ 'batch_ca_endpoints': 'str',
+ 'batch_created_date': 'str',
+ 'merchant_reference': 'str',
+ 'totals': 'InlineResponse2005EmbeddedTotals',
+ 'billing': 'InlineResponse2006Billing',
+ 'records': 'list[InlineResponse2007Records]'
+ }
+
+ attribute_map = {
+ 'version': 'version',
+ 'report_created_date': 'reportCreatedDate',
+ 'batch_id': 'batchId',
+ 'batch_source': 'batchSource',
+ 'batch_ca_endpoints': 'batchCaEndpoints',
+ 'batch_created_date': 'batchCreatedDate',
+ 'merchant_reference': 'merchantReference',
+ 'totals': 'totals',
+ 'billing': 'billing',
+ 'records': 'records'
+ }
+
+ def __init__(self, version=None, report_created_date=None, batch_id=None, batch_source=None, batch_ca_endpoints=None, batch_created_date=None, merchant_reference=None, totals=None, billing=None, records=None):
+ """
+ InlineResponse2007 - a model defined in Swagger
+ """
+
+ self._version = None
+ self._report_created_date = None
+ self._batch_id = None
+ self._batch_source = None
+ self._batch_ca_endpoints = None
+ self._batch_created_date = None
+ self._merchant_reference = None
+ self._totals = None
+ self._billing = None
+ self._records = None
+
+ if version is not None:
+ self.version = version
+ if report_created_date is not None:
+ self.report_created_date = report_created_date
+ if batch_id is not None:
+ self.batch_id = batch_id
+ if batch_source is not None:
+ self.batch_source = batch_source
+ if batch_ca_endpoints is not None:
+ self.batch_ca_endpoints = batch_ca_endpoints
+ if batch_created_date is not None:
+ self.batch_created_date = batch_created_date
+ if merchant_reference is not None:
+ self.merchant_reference = merchant_reference
+ if totals is not None:
+ self.totals = totals
+ if billing is not None:
+ self.billing = billing
+ if records is not None:
+ self.records = records
+
+ @property
+ def version(self):
+ """
+ Gets the version of this InlineResponse2007.
+
+ :return: The version of this InlineResponse2007.
+ :rtype: str
+ """
+ return self._version
+
+ @version.setter
+ def version(self, version):
+ """
+ Sets the version of this InlineResponse2007.
+
+ :param version: The version of this InlineResponse2007.
+ :type: str
+ """
+
+ self._version = version
+
+ @property
+ def report_created_date(self):
+ """
+ Gets the report_created_date of this InlineResponse2007.
+ ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+
+ :return: The report_created_date of this InlineResponse2007.
+ :rtype: str
+ """
+ return self._report_created_date
+
+ @report_created_date.setter
+ def report_created_date(self, report_created_date):
+ """
+ Sets the report_created_date of this InlineResponse2007.
+ ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+
+ :param report_created_date: The report_created_date of this InlineResponse2007.
+ :type: str
+ """
+
+ self._report_created_date = report_created_date
+
+ @property
+ def batch_id(self):
+ """
+ Gets the batch_id of this InlineResponse2007.
+ Unique identification number assigned to the submitted request.
+
+ :return: The batch_id of this InlineResponse2007.
+ :rtype: str
+ """
+ return self._batch_id
+
+ @batch_id.setter
+ def batch_id(self, batch_id):
+ """
+ Sets the batch_id of this InlineResponse2007.
+ Unique identification number assigned to the submitted request.
+
+ :param batch_id: The batch_id of this InlineResponse2007.
+ :type: str
+ """
+
+ self._batch_id = batch_id
+
+ @property
+ def batch_source(self):
+ """
+ Gets the batch_source of this InlineResponse2007.
+ Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+
+ :return: The batch_source of this InlineResponse2007.
+ :rtype: str
+ """
+ return self._batch_source
+
+ @batch_source.setter
+ def batch_source(self, batch_source):
+ """
+ Sets the batch_source of this InlineResponse2007.
+ Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE
+
+ :param batch_source: The batch_source of this InlineResponse2007.
+ :type: str
+ """
+
+ self._batch_source = batch_source
+
+ @property
+ def batch_ca_endpoints(self):
+ """
+ Gets the batch_ca_endpoints of this InlineResponse2007.
+
+ :return: The batch_ca_endpoints of this InlineResponse2007.
+ :rtype: str
+ """
+ return self._batch_ca_endpoints
+
+ @batch_ca_endpoints.setter
+ def batch_ca_endpoints(self, batch_ca_endpoints):
+ """
+ Sets the batch_ca_endpoints of this InlineResponse2007.
+
+ :param batch_ca_endpoints: The batch_ca_endpoints of this InlineResponse2007.
+ :type: str
+ """
+
+ self._batch_ca_endpoints = batch_ca_endpoints
+
+ @property
+ def batch_created_date(self):
+ """
+ Gets the batch_created_date of this InlineResponse2007.
+ ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+
+ :return: The batch_created_date of this InlineResponse2007.
+ :rtype: str
+ """
+ return self._batch_created_date
+
+ @batch_created_date.setter
+ def batch_created_date(self, batch_created_date):
+ """
+ Sets the batch_created_date of this InlineResponse2007.
+ ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ
+
+ :param batch_created_date: The batch_created_date of this InlineResponse2007.
+ :type: str
+ """
+
+ self._batch_created_date = batch_created_date
+
+ @property
+ def merchant_reference(self):
+ """
+ Gets the merchant_reference of this InlineResponse2007.
+ Reference used by merchant to identify batch.
+
+ :return: The merchant_reference of this InlineResponse2007.
+ :rtype: str
+ """
+ return self._merchant_reference
+
+ @merchant_reference.setter
+ def merchant_reference(self, merchant_reference):
+ """
+ Sets the merchant_reference of this InlineResponse2007.
+ Reference used by merchant to identify batch.
+
+ :param merchant_reference: The merchant_reference of this InlineResponse2007.
+ :type: str
+ """
+
+ self._merchant_reference = merchant_reference
+
+ @property
+ def totals(self):
+ """
+ Gets the totals of this InlineResponse2007.
+
+ :return: The totals of this InlineResponse2007.
+ :rtype: InlineResponse2005EmbeddedTotals
+ """
+ return self._totals
+
+ @totals.setter
+ def totals(self, totals):
+ """
+ Sets the totals of this InlineResponse2007.
+
+ :param totals: The totals of this InlineResponse2007.
+ :type: InlineResponse2005EmbeddedTotals
+ """
+
+ self._totals = totals
+
+ @property
+ def billing(self):
+ """
+ Gets the billing of this InlineResponse2007.
+
+ :return: The billing of this InlineResponse2007.
+ :rtype: InlineResponse2006Billing
+ """
+ return self._billing
+
+ @billing.setter
+ def billing(self, billing):
+ """
+ Sets the billing of this InlineResponse2007.
+
+ :param billing: The billing of this InlineResponse2007.
+ :type: InlineResponse2006Billing
+ """
+
+ self._billing = billing
+
+ @property
+ def records(self):
+ """
+ Gets the records of this InlineResponse2007.
+
+ :return: The records of this InlineResponse2007.
+ :rtype: list[InlineResponse2007Records]
+ """
+ return self._records
+
+ @records.setter
+ def records(self, records):
+ """
+ Sets the records of this InlineResponse2007.
+
+ :param records: The records of this InlineResponse2007.
+ :type: list[InlineResponse2007Records]
+ """
+
+ self._records = records
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse2007):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response2004_records.py b/CyberSource/models/inline_response2007_records.py
similarity index 76%
rename from CyberSource/models/inline_response2004_records.py
rename to CyberSource/models/inline_response2007_records.py
index 48c347ef..60ebd4f6 100644
--- a/CyberSource/models/inline_response2004_records.py
+++ b/CyberSource/models/inline_response2007_records.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2004Records(object):
+class InlineResponse2007Records(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -31,8 +31,8 @@ class InlineResponse2004Records(object):
"""
swagger_types = {
'id': 'str',
- 'source_record': 'InlineResponse2004SourceRecord',
- 'response_record': 'InlineResponse2004ResponseRecord'
+ 'source_record': 'InlineResponse2007SourceRecord',
+ 'response_record': 'InlineResponse2007ResponseRecord'
}
attribute_map = {
@@ -43,7 +43,7 @@ class InlineResponse2004Records(object):
def __init__(self, id=None, source_record=None, response_record=None):
"""
- InlineResponse2004Records - a model defined in Swagger
+ InlineResponse2007Records - a model defined in Swagger
"""
self._id = None
@@ -60,9 +60,9 @@ def __init__(self, id=None, source_record=None, response_record=None):
@property
def id(self):
"""
- Gets the id of this InlineResponse2004Records.
+ Gets the id of this InlineResponse2007Records.
- :return: The id of this InlineResponse2004Records.
+ :return: The id of this InlineResponse2007Records.
:rtype: str
"""
return self._id
@@ -70,9 +70,9 @@ def id(self):
@id.setter
def id(self, id):
"""
- Sets the id of this InlineResponse2004Records.
+ Sets the id of this InlineResponse2007Records.
- :param id: The id of this InlineResponse2004Records.
+ :param id: The id of this InlineResponse2007Records.
:type: str
"""
@@ -81,20 +81,20 @@ def id(self, id):
@property
def source_record(self):
"""
- Gets the source_record of this InlineResponse2004Records.
+ Gets the source_record of this InlineResponse2007Records.
- :return: The source_record of this InlineResponse2004Records.
- :rtype: InlineResponse2004SourceRecord
+ :return: The source_record of this InlineResponse2007Records.
+ :rtype: InlineResponse2007SourceRecord
"""
return self._source_record
@source_record.setter
def source_record(self, source_record):
"""
- Sets the source_record of this InlineResponse2004Records.
+ Sets the source_record of this InlineResponse2007Records.
- :param source_record: The source_record of this InlineResponse2004Records.
- :type: InlineResponse2004SourceRecord
+ :param source_record: The source_record of this InlineResponse2007Records.
+ :type: InlineResponse2007SourceRecord
"""
self._source_record = source_record
@@ -102,20 +102,20 @@ def source_record(self, source_record):
@property
def response_record(self):
"""
- Gets the response_record of this InlineResponse2004Records.
+ Gets the response_record of this InlineResponse2007Records.
- :return: The response_record of this InlineResponse2004Records.
- :rtype: InlineResponse2004ResponseRecord
+ :return: The response_record of this InlineResponse2007Records.
+ :rtype: InlineResponse2007ResponseRecord
"""
return self._response_record
@response_record.setter
def response_record(self, response_record):
"""
- Sets the response_record of this InlineResponse2004Records.
+ Sets the response_record of this InlineResponse2007Records.
- :param response_record: The response_record of this InlineResponse2004Records.
- :type: InlineResponse2004ResponseRecord
+ :param response_record: The response_record of this InlineResponse2007Records.
+ :type: InlineResponse2007ResponseRecord
"""
self._response_record = response_record
@@ -162,7 +162,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2004Records):
+ if not isinstance(other, InlineResponse2007Records):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2004_response_record.py b/CyberSource/models/inline_response2007_response_record.py
similarity index 78%
rename from CyberSource/models/inline_response2004_response_record.py
rename to CyberSource/models/inline_response2007_response_record.py
index 59afeb3b..dc75af41 100644
--- a/CyberSource/models/inline_response2004_response_record.py
+++ b/CyberSource/models/inline_response2007_response_record.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2004ResponseRecord(object):
+class InlineResponse2007ResponseRecord(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -39,7 +39,7 @@ class InlineResponse2004ResponseRecord(object):
'card_expiry_month': 'str',
'card_expiry_year': 'str',
'card_type': 'str',
- 'additional_updates': 'list[InlineResponse2004ResponseRecordAdditionalUpdates]'
+ 'additional_updates': 'list[InlineResponse2007ResponseRecordAdditionalUpdates]'
}
attribute_map = {
@@ -57,7 +57,7 @@ class InlineResponse2004ResponseRecord(object):
def __init__(self, response=None, reason=None, token=None, instrument_identifier_id=None, instrument_identifier_created=None, card_number=None, card_expiry_month=None, card_expiry_year=None, card_type=None, additional_updates=None):
"""
- InlineResponse2004ResponseRecord - a model defined in Swagger
+ InlineResponse2007ResponseRecord - a model defined in Swagger
"""
self._response = None
@@ -95,10 +95,10 @@ def __init__(self, response=None, reason=None, token=None, instrument_identifier
@property
def response(self):
"""
- Gets the response of this InlineResponse2004ResponseRecord.
+ Gets the response of this InlineResponse2007ResponseRecord.
Valid Values: * NAN * NED * ACL * CCH * CUR * NUP * UNA * ERR * DEC
- :return: The response of this InlineResponse2004ResponseRecord.
+ :return: The response of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._response
@@ -106,10 +106,10 @@ def response(self):
@response.setter
def response(self, response):
"""
- Sets the response of this InlineResponse2004ResponseRecord.
+ Sets the response of this InlineResponse2007ResponseRecord.
Valid Values: * NAN * NED * ACL * CCH * CUR * NUP * UNA * ERR * DEC
- :param response: The response of this InlineResponse2004ResponseRecord.
+ :param response: The response of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -118,9 +118,9 @@ def response(self, response):
@property
def reason(self):
"""
- Gets the reason of this InlineResponse2004ResponseRecord.
+ Gets the reason of this InlineResponse2007ResponseRecord.
- :return: The reason of this InlineResponse2004ResponseRecord.
+ :return: The reason of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._reason
@@ -128,9 +128,9 @@ def reason(self):
@reason.setter
def reason(self, reason):
"""
- Sets the reason of this InlineResponse2004ResponseRecord.
+ Sets the reason of this InlineResponse2007ResponseRecord.
- :param reason: The reason of this InlineResponse2004ResponseRecord.
+ :param reason: The reason of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -139,9 +139,9 @@ def reason(self, reason):
@property
def token(self):
"""
- Gets the token of this InlineResponse2004ResponseRecord.
+ Gets the token of this InlineResponse2007ResponseRecord.
- :return: The token of this InlineResponse2004ResponseRecord.
+ :return: The token of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._token
@@ -149,9 +149,9 @@ def token(self):
@token.setter
def token(self, token):
"""
- Sets the token of this InlineResponse2004ResponseRecord.
+ Sets the token of this InlineResponse2007ResponseRecord.
- :param token: The token of this InlineResponse2004ResponseRecord.
+ :param token: The token of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -160,9 +160,9 @@ def token(self, token):
@property
def instrument_identifier_id(self):
"""
- Gets the instrument_identifier_id of this InlineResponse2004ResponseRecord.
+ Gets the instrument_identifier_id of this InlineResponse2007ResponseRecord.
- :return: The instrument_identifier_id of this InlineResponse2004ResponseRecord.
+ :return: The instrument_identifier_id of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._instrument_identifier_id
@@ -170,9 +170,9 @@ def instrument_identifier_id(self):
@instrument_identifier_id.setter
def instrument_identifier_id(self, instrument_identifier_id):
"""
- Sets the instrument_identifier_id of this InlineResponse2004ResponseRecord.
+ Sets the instrument_identifier_id of this InlineResponse2007ResponseRecord.
- :param instrument_identifier_id: The instrument_identifier_id of this InlineResponse2004ResponseRecord.
+ :param instrument_identifier_id: The instrument_identifier_id of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -181,10 +181,10 @@ def instrument_identifier_id(self, instrument_identifier_id):
@property
def instrument_identifier_created(self):
"""
- Gets the instrument_identifier_created of this InlineResponse2004ResponseRecord.
+ Gets the instrument_identifier_created of this InlineResponse2007ResponseRecord.
Valid Values: * true * false
- :return: The instrument_identifier_created of this InlineResponse2004ResponseRecord.
+ :return: The instrument_identifier_created of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._instrument_identifier_created
@@ -192,10 +192,10 @@ def instrument_identifier_created(self):
@instrument_identifier_created.setter
def instrument_identifier_created(self, instrument_identifier_created):
"""
- Sets the instrument_identifier_created of this InlineResponse2004ResponseRecord.
+ Sets the instrument_identifier_created of this InlineResponse2007ResponseRecord.
Valid Values: * true * false
- :param instrument_identifier_created: The instrument_identifier_created of this InlineResponse2004ResponseRecord.
+ :param instrument_identifier_created: The instrument_identifier_created of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -204,9 +204,9 @@ def instrument_identifier_created(self, instrument_identifier_created):
@property
def card_number(self):
"""
- Gets the card_number of this InlineResponse2004ResponseRecord.
+ Gets the card_number of this InlineResponse2007ResponseRecord.
- :return: The card_number of this InlineResponse2004ResponseRecord.
+ :return: The card_number of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._card_number
@@ -214,9 +214,9 @@ def card_number(self):
@card_number.setter
def card_number(self, card_number):
"""
- Sets the card_number of this InlineResponse2004ResponseRecord.
+ Sets the card_number of this InlineResponse2007ResponseRecord.
- :param card_number: The card_number of this InlineResponse2004ResponseRecord.
+ :param card_number: The card_number of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -225,9 +225,9 @@ def card_number(self, card_number):
@property
def card_expiry_month(self):
"""
- Gets the card_expiry_month of this InlineResponse2004ResponseRecord.
+ Gets the card_expiry_month of this InlineResponse2007ResponseRecord.
- :return: The card_expiry_month of this InlineResponse2004ResponseRecord.
+ :return: The card_expiry_month of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._card_expiry_month
@@ -235,9 +235,9 @@ def card_expiry_month(self):
@card_expiry_month.setter
def card_expiry_month(self, card_expiry_month):
"""
- Sets the card_expiry_month of this InlineResponse2004ResponseRecord.
+ Sets the card_expiry_month of this InlineResponse2007ResponseRecord.
- :param card_expiry_month: The card_expiry_month of this InlineResponse2004ResponseRecord.
+ :param card_expiry_month: The card_expiry_month of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -246,9 +246,9 @@ def card_expiry_month(self, card_expiry_month):
@property
def card_expiry_year(self):
"""
- Gets the card_expiry_year of this InlineResponse2004ResponseRecord.
+ Gets the card_expiry_year of this InlineResponse2007ResponseRecord.
- :return: The card_expiry_year of this InlineResponse2004ResponseRecord.
+ :return: The card_expiry_year of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._card_expiry_year
@@ -256,9 +256,9 @@ def card_expiry_year(self):
@card_expiry_year.setter
def card_expiry_year(self, card_expiry_year):
"""
- Sets the card_expiry_year of this InlineResponse2004ResponseRecord.
+ Sets the card_expiry_year of this InlineResponse2007ResponseRecord.
- :param card_expiry_year: The card_expiry_year of this InlineResponse2004ResponseRecord.
+ :param card_expiry_year: The card_expiry_year of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -267,9 +267,9 @@ def card_expiry_year(self, card_expiry_year):
@property
def card_type(self):
"""
- Gets the card_type of this InlineResponse2004ResponseRecord.
+ Gets the card_type of this InlineResponse2007ResponseRecord.
- :return: The card_type of this InlineResponse2004ResponseRecord.
+ :return: The card_type of this InlineResponse2007ResponseRecord.
:rtype: str
"""
return self._card_type
@@ -277,9 +277,9 @@ def card_type(self):
@card_type.setter
def card_type(self, card_type):
"""
- Sets the card_type of this InlineResponse2004ResponseRecord.
+ Sets the card_type of this InlineResponse2007ResponseRecord.
- :param card_type: The card_type of this InlineResponse2004ResponseRecord.
+ :param card_type: The card_type of this InlineResponse2007ResponseRecord.
:type: str
"""
@@ -288,20 +288,20 @@ def card_type(self, card_type):
@property
def additional_updates(self):
"""
- Gets the additional_updates of this InlineResponse2004ResponseRecord.
+ Gets the additional_updates of this InlineResponse2007ResponseRecord.
- :return: The additional_updates of this InlineResponse2004ResponseRecord.
- :rtype: list[InlineResponse2004ResponseRecordAdditionalUpdates]
+ :return: The additional_updates of this InlineResponse2007ResponseRecord.
+ :rtype: list[InlineResponse2007ResponseRecordAdditionalUpdates]
"""
return self._additional_updates
@additional_updates.setter
def additional_updates(self, additional_updates):
"""
- Sets the additional_updates of this InlineResponse2004ResponseRecord.
+ Sets the additional_updates of this InlineResponse2007ResponseRecord.
- :param additional_updates: The additional_updates of this InlineResponse2004ResponseRecord.
- :type: list[InlineResponse2004ResponseRecordAdditionalUpdates]
+ :param additional_updates: The additional_updates of this InlineResponse2007ResponseRecord.
+ :type: list[InlineResponse2007ResponseRecordAdditionalUpdates]
"""
self._additional_updates = additional_updates
@@ -348,7 +348,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2004ResponseRecord):
+ if not isinstance(other, InlineResponse2007ResponseRecord):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2004_response_record_additional_updates.py b/CyberSource/models/inline_response2007_response_record_additional_updates.py
similarity index 79%
rename from CyberSource/models/inline_response2004_response_record_additional_updates.py
rename to CyberSource/models/inline_response2007_response_record_additional_updates.py
index 51bbf815..9a3a645d 100644
--- a/CyberSource/models/inline_response2004_response_record_additional_updates.py
+++ b/CyberSource/models/inline_response2007_response_record_additional_updates.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2004ResponseRecordAdditionalUpdates(object):
+class InlineResponse2007ResponseRecordAdditionalUpdates(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -47,7 +47,7 @@ class InlineResponse2004ResponseRecordAdditionalUpdates(object):
def __init__(self, customer_id=None, payment_instrument_id=None, creator=None, state=None, message=None):
"""
- InlineResponse2004ResponseRecordAdditionalUpdates - a model defined in Swagger
+ InlineResponse2007ResponseRecordAdditionalUpdates - a model defined in Swagger
"""
self._customer_id = None
@@ -70,9 +70,9 @@ def __init__(self, customer_id=None, payment_instrument_id=None, creator=None, s
@property
def customer_id(self):
"""
- Gets the customer_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Gets the customer_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :return: The customer_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :return: The customer_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
:rtype: str
"""
return self._customer_id
@@ -80,9 +80,9 @@ def customer_id(self):
@customer_id.setter
def customer_id(self, customer_id):
"""
- Sets the customer_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Sets the customer_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :param customer_id: The customer_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :param customer_id: The customer_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
:type: str
"""
@@ -91,9 +91,9 @@ def customer_id(self, customer_id):
@property
def payment_instrument_id(self):
"""
- Gets the payment_instrument_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Gets the payment_instrument_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :return: The payment_instrument_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :return: The payment_instrument_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
:rtype: str
"""
return self._payment_instrument_id
@@ -101,9 +101,9 @@ def payment_instrument_id(self):
@payment_instrument_id.setter
def payment_instrument_id(self, payment_instrument_id):
"""
- Sets the payment_instrument_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Sets the payment_instrument_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :param payment_instrument_id: The payment_instrument_id of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :param payment_instrument_id: The payment_instrument_id of this InlineResponse2007ResponseRecordAdditionalUpdates.
:type: str
"""
@@ -112,9 +112,9 @@ def payment_instrument_id(self, payment_instrument_id):
@property
def creator(self):
"""
- Gets the creator of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Gets the creator of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :return: The creator of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :return: The creator of this InlineResponse2007ResponseRecordAdditionalUpdates.
:rtype: str
"""
return self._creator
@@ -122,9 +122,9 @@ def creator(self):
@creator.setter
def creator(self, creator):
"""
- Sets the creator of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Sets the creator of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :param creator: The creator of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :param creator: The creator of this InlineResponse2007ResponseRecordAdditionalUpdates.
:type: str
"""
@@ -133,10 +133,10 @@ def creator(self, creator):
@property
def state(self):
"""
- Gets the state of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Gets the state of this InlineResponse2007ResponseRecordAdditionalUpdates.
Valid Values: * ACTIVE * CLOSED
- :return: The state of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :return: The state of this InlineResponse2007ResponseRecordAdditionalUpdates.
:rtype: str
"""
return self._state
@@ -144,10 +144,10 @@ def state(self):
@state.setter
def state(self, state):
"""
- Sets the state of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Sets the state of this InlineResponse2007ResponseRecordAdditionalUpdates.
Valid Values: * ACTIVE * CLOSED
- :param state: The state of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :param state: The state of this InlineResponse2007ResponseRecordAdditionalUpdates.
:type: str
"""
@@ -156,9 +156,9 @@ def state(self, state):
@property
def message(self):
"""
- Gets the message of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Gets the message of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :return: The message of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :return: The message of this InlineResponse2007ResponseRecordAdditionalUpdates.
:rtype: str
"""
return self._message
@@ -166,9 +166,9 @@ def message(self):
@message.setter
def message(self, message):
"""
- Sets the message of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ Sets the message of this InlineResponse2007ResponseRecordAdditionalUpdates.
- :param message: The message of this InlineResponse2004ResponseRecordAdditionalUpdates.
+ :param message: The message of this InlineResponse2007ResponseRecordAdditionalUpdates.
:type: str
"""
@@ -216,7 +216,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2004ResponseRecordAdditionalUpdates):
+ if not isinstance(other, InlineResponse2007ResponseRecordAdditionalUpdates):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2004_source_record.py b/CyberSource/models/inline_response2007_source_record.py
similarity index 81%
rename from CyberSource/models/inline_response2004_source_record.py
rename to CyberSource/models/inline_response2007_source_record.py
index 1f679386..f09f5c01 100644
--- a/CyberSource/models/inline_response2004_source_record.py
+++ b/CyberSource/models/inline_response2007_source_record.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2004SourceRecord(object):
+class InlineResponse2007SourceRecord(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -53,7 +53,7 @@ class InlineResponse2004SourceRecord(object):
def __init__(self, token=None, customer_id=None, payment_instrument_id=None, instrument_identifier_id=None, card_number=None, card_expiry_month=None, card_expiry_year=None, card_type=None):
"""
- InlineResponse2004SourceRecord - a model defined in Swagger
+ InlineResponse2007SourceRecord - a model defined in Swagger
"""
self._token = None
@@ -85,9 +85,9 @@ def __init__(self, token=None, customer_id=None, payment_instrument_id=None, ins
@property
def token(self):
"""
- Gets the token of this InlineResponse2004SourceRecord.
+ Gets the token of this InlineResponse2007SourceRecord.
- :return: The token of this InlineResponse2004SourceRecord.
+ :return: The token of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._token
@@ -95,9 +95,9 @@ def token(self):
@token.setter
def token(self, token):
"""
- Sets the token of this InlineResponse2004SourceRecord.
+ Sets the token of this InlineResponse2007SourceRecord.
- :param token: The token of this InlineResponse2004SourceRecord.
+ :param token: The token of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -106,9 +106,9 @@ def token(self, token):
@property
def customer_id(self):
"""
- Gets the customer_id of this InlineResponse2004SourceRecord.
+ Gets the customer_id of this InlineResponse2007SourceRecord.
- :return: The customer_id of this InlineResponse2004SourceRecord.
+ :return: The customer_id of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._customer_id
@@ -116,9 +116,9 @@ def customer_id(self):
@customer_id.setter
def customer_id(self, customer_id):
"""
- Sets the customer_id of this InlineResponse2004SourceRecord.
+ Sets the customer_id of this InlineResponse2007SourceRecord.
- :param customer_id: The customer_id of this InlineResponse2004SourceRecord.
+ :param customer_id: The customer_id of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -127,9 +127,9 @@ def customer_id(self, customer_id):
@property
def payment_instrument_id(self):
"""
- Gets the payment_instrument_id of this InlineResponse2004SourceRecord.
+ Gets the payment_instrument_id of this InlineResponse2007SourceRecord.
- :return: The payment_instrument_id of this InlineResponse2004SourceRecord.
+ :return: The payment_instrument_id of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._payment_instrument_id
@@ -137,9 +137,9 @@ def payment_instrument_id(self):
@payment_instrument_id.setter
def payment_instrument_id(self, payment_instrument_id):
"""
- Sets the payment_instrument_id of this InlineResponse2004SourceRecord.
+ Sets the payment_instrument_id of this InlineResponse2007SourceRecord.
- :param payment_instrument_id: The payment_instrument_id of this InlineResponse2004SourceRecord.
+ :param payment_instrument_id: The payment_instrument_id of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -148,9 +148,9 @@ def payment_instrument_id(self, payment_instrument_id):
@property
def instrument_identifier_id(self):
"""
- Gets the instrument_identifier_id of this InlineResponse2004SourceRecord.
+ Gets the instrument_identifier_id of this InlineResponse2007SourceRecord.
- :return: The instrument_identifier_id of this InlineResponse2004SourceRecord.
+ :return: The instrument_identifier_id of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._instrument_identifier_id
@@ -158,9 +158,9 @@ def instrument_identifier_id(self):
@instrument_identifier_id.setter
def instrument_identifier_id(self, instrument_identifier_id):
"""
- Sets the instrument_identifier_id of this InlineResponse2004SourceRecord.
+ Sets the instrument_identifier_id of this InlineResponse2007SourceRecord.
- :param instrument_identifier_id: The instrument_identifier_id of this InlineResponse2004SourceRecord.
+ :param instrument_identifier_id: The instrument_identifier_id of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -169,9 +169,9 @@ def instrument_identifier_id(self, instrument_identifier_id):
@property
def card_number(self):
"""
- Gets the card_number of this InlineResponse2004SourceRecord.
+ Gets the card_number of this InlineResponse2007SourceRecord.
- :return: The card_number of this InlineResponse2004SourceRecord.
+ :return: The card_number of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._card_number
@@ -179,9 +179,9 @@ def card_number(self):
@card_number.setter
def card_number(self, card_number):
"""
- Sets the card_number of this InlineResponse2004SourceRecord.
+ Sets the card_number of this InlineResponse2007SourceRecord.
- :param card_number: The card_number of this InlineResponse2004SourceRecord.
+ :param card_number: The card_number of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -190,9 +190,9 @@ def card_number(self, card_number):
@property
def card_expiry_month(self):
"""
- Gets the card_expiry_month of this InlineResponse2004SourceRecord.
+ Gets the card_expiry_month of this InlineResponse2007SourceRecord.
- :return: The card_expiry_month of this InlineResponse2004SourceRecord.
+ :return: The card_expiry_month of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._card_expiry_month
@@ -200,9 +200,9 @@ def card_expiry_month(self):
@card_expiry_month.setter
def card_expiry_month(self, card_expiry_month):
"""
- Sets the card_expiry_month of this InlineResponse2004SourceRecord.
+ Sets the card_expiry_month of this InlineResponse2007SourceRecord.
- :param card_expiry_month: The card_expiry_month of this InlineResponse2004SourceRecord.
+ :param card_expiry_month: The card_expiry_month of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -211,9 +211,9 @@ def card_expiry_month(self, card_expiry_month):
@property
def card_expiry_year(self):
"""
- Gets the card_expiry_year of this InlineResponse2004SourceRecord.
+ Gets the card_expiry_year of this InlineResponse2007SourceRecord.
- :return: The card_expiry_year of this InlineResponse2004SourceRecord.
+ :return: The card_expiry_year of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._card_expiry_year
@@ -221,9 +221,9 @@ def card_expiry_year(self):
@card_expiry_year.setter
def card_expiry_year(self, card_expiry_year):
"""
- Sets the card_expiry_year of this InlineResponse2004SourceRecord.
+ Sets the card_expiry_year of this InlineResponse2007SourceRecord.
- :param card_expiry_year: The card_expiry_year of this InlineResponse2004SourceRecord.
+ :param card_expiry_year: The card_expiry_year of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -232,9 +232,9 @@ def card_expiry_year(self, card_expiry_year):
@property
def card_type(self):
"""
- Gets the card_type of this InlineResponse2004SourceRecord.
+ Gets the card_type of this InlineResponse2007SourceRecord.
- :return: The card_type of this InlineResponse2004SourceRecord.
+ :return: The card_type of this InlineResponse2007SourceRecord.
:rtype: str
"""
return self._card_type
@@ -242,9 +242,9 @@ def card_type(self):
@card_type.setter
def card_type(self, card_type):
"""
- Sets the card_type of this InlineResponse2004SourceRecord.
+ Sets the card_type of this InlineResponse2007SourceRecord.
- :param card_type: The card_type of this InlineResponse2004SourceRecord.
+ :param card_type: The card_type of this InlineResponse2007SourceRecord.
:type: str
"""
@@ -292,7 +292,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2004SourceRecord):
+ if not isinstance(other, InlineResponse2007SourceRecord):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response200_content.py b/CyberSource/models/inline_response200_content.py
new file mode 100644
index 00000000..57a88523
--- /dev/null
+++ b/CyberSource/models/inline_response200_content.py
@@ -0,0 +1,208 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse200Content(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'type': 'str',
+ 'data': 'str',
+ 'width': 'int',
+ 'height': 'int'
+ }
+
+ attribute_map = {
+ 'type': 'type',
+ 'data': 'data',
+ 'width': 'width',
+ 'height': 'height'
+ }
+
+ def __init__(self, type=None, data=None, width=None, height=None):
+ """
+ InlineResponse200Content - a model defined in Swagger
+ """
+
+ self._type = None
+ self._data = None
+ self._width = None
+ self._height = None
+
+ if type is not None:
+ self.type = type
+ if data is not None:
+ self.data = data
+ if width is not None:
+ self.width = width
+ if height is not None:
+ self.height = height
+
+ @property
+ def type(self):
+ """
+ Gets the type of this InlineResponse200Content.
+ The MIME type of the Asset.
+
+ :return: The type of this InlineResponse200Content.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this InlineResponse200Content.
+ The MIME type of the Asset.
+
+ :param type: The type of this InlineResponse200Content.
+ :type: str
+ """
+
+ self._type = type
+
+ @property
+ def data(self):
+ """
+ Gets the data of this InlineResponse200Content.
+ The base64-encoded data of the Asset.
+
+ :return: The data of this InlineResponse200Content.
+ :rtype: str
+ """
+ return self._data
+
+ @data.setter
+ def data(self, data):
+ """
+ Sets the data of this InlineResponse200Content.
+ The base64-encoded data of the Asset.
+
+ :param data: The data of this InlineResponse200Content.
+ :type: str
+ """
+
+ self._data = data
+
+ @property
+ def width(self):
+ """
+ Gets the width of this InlineResponse200Content.
+ The width of the Asset in pixels.
+
+ :return: The width of this InlineResponse200Content.
+ :rtype: int
+ """
+ return self._width
+
+ @width.setter
+ def width(self, width):
+ """
+ Sets the width of this InlineResponse200Content.
+ The width of the Asset in pixels.
+
+ :param width: The width of this InlineResponse200Content.
+ :type: int
+ """
+
+ self._width = width
+
+ @property
+ def height(self):
+ """
+ Gets the height of this InlineResponse200Content.
+ The height of the Asset in pixels.
+
+ :return: The height of this InlineResponse200Content.
+ :rtype: int
+ """
+ return self._height
+
+ @height.setter
+ def height(self, height):
+ """
+ Sets the height of this InlineResponse200Content.
+ The height of the Asset in pixels.
+
+ :param height: The height of this InlineResponse200Content.
+ :type: int
+ """
+
+ self._height = height
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse200Content):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response2014.py b/CyberSource/models/inline_response2014.py
index bb1e5145..ccc2bf44 100644
--- a/CyberSource/models/inline_response2014.py
+++ b/CyberSource/models/inline_response2014.py
@@ -30,267 +30,347 @@ class InlineResponse2014(object):
and the value is json key in definition.
"""
swagger_types = {
- 'event_date': 'str',
- 'event_type': 'str',
+ 'webhook_id': 'str',
'organization_id': 'str',
- 'payloads': 'InlineResponse2014Payloads',
- 'product_id': 'str',
- 'request_type': 'str',
- 'retry_number': 'int',
- 'transaction_trace_id': 'str',
- 'webhook_id': 'str'
+ 'products': 'list[Notificationsubscriptionsv2webhooksProducts]',
+ 'webhook_url': 'str',
+ 'health_check_url': 'str',
+ 'status': 'str',
+ 'name': 'str',
+ 'description': 'str',
+ 'retry_policy': 'Notificationsubscriptionsv2webhooksRetryPolicy',
+ 'security_policy': 'Notificationsubscriptionsv2webhooksSecurityPolicy',
+ 'created_on': 'str',
+ 'updated_on': 'str'
}
attribute_map = {
- 'event_date': 'eventDate',
- 'event_type': 'eventType',
+ 'webhook_id': 'webhookId',
'organization_id': 'organizationId',
- 'payloads': 'payloads',
- 'product_id': 'productId',
- 'request_type': 'requestType',
- 'retry_number': 'retryNumber',
- 'transaction_trace_id': 'transactionTraceId',
- 'webhook_id': 'webhookId'
+ 'products': 'products',
+ 'webhook_url': 'webhookUrl',
+ 'health_check_url': 'healthCheckUrl',
+ 'status': 'status',
+ 'name': 'name',
+ 'description': 'description',
+ 'retry_policy': 'retryPolicy',
+ 'security_policy': 'securityPolicy',
+ 'created_on': 'createdOn',
+ 'updated_on': 'updatedOn'
}
- def __init__(self, event_date=None, event_type=None, organization_id=None, payloads=None, product_id=None, request_type=None, retry_number=None, transaction_trace_id=None, webhook_id=None):
+ def __init__(self, webhook_id=None, organization_id=None, products=None, webhook_url=None, health_check_url=None, status='INACTIVE', name=None, description=None, retry_policy=None, security_policy=None, created_on=None, updated_on=None):
"""
InlineResponse2014 - a model defined in Swagger
"""
- self._event_date = None
- self._event_type = None
- self._organization_id = None
- self._payloads = None
- self._product_id = None
- self._request_type = None
- self._retry_number = None
- self._transaction_trace_id = None
self._webhook_id = None
+ self._organization_id = None
+ self._products = None
+ self._webhook_url = None
+ self._health_check_url = None
+ self._status = None
+ self._name = None
+ self._description = None
+ self._retry_policy = None
+ self._security_policy = None
+ self._created_on = None
+ self._updated_on = None
- if event_date is not None:
- self.event_date = event_date
- if event_type is not None:
- self.event_type = event_type
- if organization_id is not None:
- self.organization_id = organization_id
- if payloads is not None:
- self.payloads = payloads
- if product_id is not None:
- self.product_id = product_id
- if request_type is not None:
- self.request_type = request_type
- if retry_number is not None:
- self.retry_number = retry_number
- if transaction_trace_id is not None:
- self.transaction_trace_id = transaction_trace_id
if webhook_id is not None:
self.webhook_id = webhook_id
+ if organization_id is not None:
+ self.organization_id = organization_id
+ if products is not None:
+ self.products = products
+ if webhook_url is not None:
+ self.webhook_url = webhook_url
+ if health_check_url is not None:
+ self.health_check_url = health_check_url
+ if status is not None:
+ self.status = status
+ if name is not None:
+ self.name = name
+ if description is not None:
+ self.description = description
+ if retry_policy is not None:
+ self.retry_policy = retry_policy
+ if security_policy is not None:
+ self.security_policy = security_policy
+ if created_on is not None:
+ self.created_on = created_on
+ if updated_on is not None:
+ self.updated_on = updated_on
@property
- def event_date(self):
+ def webhook_id(self):
"""
- Gets the event_date of this InlineResponse2014.
- Date that the webhook was delivered
+ Gets the webhook_id of this InlineResponse2014.
+ Webhook Id. This is generated by the server.
- :return: The event_date of this InlineResponse2014.
+ :return: The webhook_id of this InlineResponse2014.
:rtype: str
"""
- return self._event_date
+ return self._webhook_id
- @event_date.setter
- def event_date(self, event_date):
+ @webhook_id.setter
+ def webhook_id(self, webhook_id):
"""
- Sets the event_date of this InlineResponse2014.
- Date that the webhook was delivered
+ Sets the webhook_id of this InlineResponse2014.
+ Webhook Id. This is generated by the server.
- :param event_date: The event_date of this InlineResponse2014.
+ :param webhook_id: The webhook_id of this InlineResponse2014.
:type: str
"""
- self._event_date = event_date
+ self._webhook_id = webhook_id
@property
- def event_type(self):
+ def organization_id(self):
"""
- Gets the event_type of this InlineResponse2014.
- The event name the webhook was delivered for
+ Gets the organization_id of this InlineResponse2014.
+ Organization ID.
- :return: The event_type of this InlineResponse2014.
+ :return: The organization_id of this InlineResponse2014.
:rtype: str
"""
- return self._event_type
+ return self._organization_id
- @event_type.setter
- def event_type(self, event_type):
+ @organization_id.setter
+ def organization_id(self, organization_id):
"""
- Sets the event_type of this InlineResponse2014.
- The event name the webhook was delivered for
+ Sets the organization_id of this InlineResponse2014.
+ Organization ID.
- :param event_type: The event_type of this InlineResponse2014.
+ :param organization_id: The organization_id of this InlineResponse2014.
:type: str
"""
- self._event_type = event_type
+ self._organization_id = organization_id
@property
- def organization_id(self):
+ def products(self):
"""
- Gets the organization_id of this InlineResponse2014.
- The Organization Identifier.
+ Gets the products of this InlineResponse2014.
- :return: The organization_id of this InlineResponse2014.
+ :return: The products of this InlineResponse2014.
+ :rtype: list[Notificationsubscriptionsv2webhooksProducts]
+ """
+ return self._products
+
+ @products.setter
+ def products(self, products):
+ """
+ Sets the products of this InlineResponse2014.
+
+ :param products: The products of this InlineResponse2014.
+ :type: list[Notificationsubscriptionsv2webhooksProducts]
+ """
+
+ self._products = products
+
+ @property
+ def webhook_url(self):
+ """
+ Gets the webhook_url of this InlineResponse2014.
+ The client's endpoint (URL) to receive webhooks.
+
+ :return: The webhook_url of this InlineResponse2014.
:rtype: str
"""
- return self._organization_id
+ return self._webhook_url
- @organization_id.setter
- def organization_id(self, organization_id):
+ @webhook_url.setter
+ def webhook_url(self, webhook_url):
"""
- Sets the organization_id of this InlineResponse2014.
- The Organization Identifier.
+ Sets the webhook_url of this InlineResponse2014.
+ The client's endpoint (URL) to receive webhooks.
- :param organization_id: The organization_id of this InlineResponse2014.
+ :param webhook_url: The webhook_url of this InlineResponse2014.
:type: str
"""
- self._organization_id = organization_id
+ self._webhook_url = webhook_url
@property
- def payloads(self):
+ def health_check_url(self):
"""
- Gets the payloads of this InlineResponse2014.
+ Gets the health_check_url of this InlineResponse2014.
+ The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.
- :return: The payloads of this InlineResponse2014.
- :rtype: InlineResponse2014Payloads
+ :return: The health_check_url of this InlineResponse2014.
+ :rtype: str
"""
- return self._payloads
+ return self._health_check_url
- @payloads.setter
- def payloads(self, payloads):
+ @health_check_url.setter
+ def health_check_url(self, health_check_url):
"""
- Sets the payloads of this InlineResponse2014.
+ Sets the health_check_url of this InlineResponse2014.
+ The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.
+
+ :param health_check_url: The health_check_url of this InlineResponse2014.
+ :type: str
+ """
+
+ self._health_check_url = health_check_url
- :param payloads: The payloads of this InlineResponse2014.
- :type: InlineResponse2014Payloads
+ @property
+ def status(self):
+ """
+ Gets the status of this InlineResponse2014.
+ Webhook status.
+
+ :return: The status of this InlineResponse2014.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this InlineResponse2014.
+ Webhook status.
+
+ :param status: The status of this InlineResponse2014.
+ :type: str
"""
- self._payloads = payloads
+ self._status = status
@property
- def product_id(self):
+ def name(self):
"""
- Gets the product_id of this InlineResponse2014.
- The product the webhook was delivered for
+ Gets the name of this InlineResponse2014.
+ Client friendly webhook name.
- :return: The product_id of this InlineResponse2014.
+ :return: The name of this InlineResponse2014.
:rtype: str
"""
- return self._product_id
+ return self._name
- @product_id.setter
- def product_id(self, product_id):
+ @name.setter
+ def name(self, name):
"""
- Sets the product_id of this InlineResponse2014.
- The product the webhook was delivered for
+ Sets the name of this InlineResponse2014.
+ Client friendly webhook name.
- :param product_id: The product_id of this InlineResponse2014.
+ :param name: The name of this InlineResponse2014.
:type: str
"""
- self._product_id = product_id
+ self._name = name
@property
- def request_type(self):
+ def description(self):
"""
- Gets the request_type of this InlineResponse2014.
- Identifies the the type of request
+ Gets the description of this InlineResponse2014.
+ Client friendly webhook description.
- :return: The request_type of this InlineResponse2014.
+ :return: The description of this InlineResponse2014.
:rtype: str
"""
- return self._request_type
+ return self._description
- @request_type.setter
- def request_type(self, request_type):
+ @description.setter
+ def description(self, description):
"""
- Sets the request_type of this InlineResponse2014.
- Identifies the the type of request
+ Sets the description of this InlineResponse2014.
+ Client friendly webhook description.
- :param request_type: The request_type of this InlineResponse2014.
+ :param description: The description of this InlineResponse2014.
:type: str
"""
- self._request_type = request_type
+ self._description = description
@property
- def retry_number(self):
+ def retry_policy(self):
"""
- Gets the retry_number of this InlineResponse2014.
- The number of retry attempts for a given webhook
+ Gets the retry_policy of this InlineResponse2014.
- :return: The retry_number of this InlineResponse2014.
- :rtype: int
+ :return: The retry_policy of this InlineResponse2014.
+ :rtype: Notificationsubscriptionsv2webhooksRetryPolicy
"""
- return self._retry_number
+ return self._retry_policy
- @retry_number.setter
- def retry_number(self, retry_number):
+ @retry_policy.setter
+ def retry_policy(self, retry_policy):
"""
- Sets the retry_number of this InlineResponse2014.
- The number of retry attempts for a given webhook
+ Sets the retry_policy of this InlineResponse2014.
- :param retry_number: The retry_number of this InlineResponse2014.
- :type: int
+ :param retry_policy: The retry_policy of this InlineResponse2014.
+ :type: Notificationsubscriptionsv2webhooksRetryPolicy
"""
- self._retry_number = retry_number
+ self._retry_policy = retry_policy
@property
- def transaction_trace_id(self):
+ def security_policy(self):
"""
- Gets the transaction_trace_id of this InlineResponse2014.
- The identifier for the webhook
+ Gets the security_policy of this InlineResponse2014.
- :return: The transaction_trace_id of this InlineResponse2014.
+ :return: The security_policy of this InlineResponse2014.
+ :rtype: Notificationsubscriptionsv2webhooksSecurityPolicy
+ """
+ return self._security_policy
+
+ @security_policy.setter
+ def security_policy(self, security_policy):
+ """
+ Sets the security_policy of this InlineResponse2014.
+
+ :param security_policy: The security_policy of this InlineResponse2014.
+ :type: Notificationsubscriptionsv2webhooksSecurityPolicy
+ """
+
+ self._security_policy = security_policy
+
+ @property
+ def created_on(self):
+ """
+ Gets the created_on of this InlineResponse2014.
+ Date on which webhook was created/registered.
+
+ :return: The created_on of this InlineResponse2014.
:rtype: str
"""
- return self._transaction_trace_id
+ return self._created_on
- @transaction_trace_id.setter
- def transaction_trace_id(self, transaction_trace_id):
+ @created_on.setter
+ def created_on(self, created_on):
"""
- Sets the transaction_trace_id of this InlineResponse2014.
- The identifier for the webhook
+ Sets the created_on of this InlineResponse2014.
+ Date on which webhook was created/registered.
- :param transaction_trace_id: The transaction_trace_id of this InlineResponse2014.
+ :param created_on: The created_on of this InlineResponse2014.
:type: str
"""
- self._transaction_trace_id = transaction_trace_id
+ self._created_on = created_on
@property
- def webhook_id(self):
+ def updated_on(self):
"""
- Gets the webhook_id of this InlineResponse2014.
- The identifier of the subscription
+ Gets the updated_on of this InlineResponse2014.
+ Date on which webhook was most recently updated.
- :return: The webhook_id of this InlineResponse2014.
+ :return: The updated_on of this InlineResponse2014.
:rtype: str
"""
- return self._webhook_id
+ return self._updated_on
- @webhook_id.setter
- def webhook_id(self, webhook_id):
+ @updated_on.setter
+ def updated_on(self, updated_on):
"""
- Sets the webhook_id of this InlineResponse2014.
- The identifier of the subscription
+ Sets the updated_on of this InlineResponse2014.
+ Date on which webhook was most recently updated.
- :param webhook_id: The webhook_id of this InlineResponse2014.
+ :param updated_on: The updated_on of this InlineResponse2014.
:type: str
"""
- self._webhook_id = webhook_id
+ self._updated_on = updated_on
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response2015.py b/CyberSource/models/inline_response2015.py
index 1cf41a41..86641222 100644
--- a/CyberSource/models/inline_response2015.py
+++ b/CyberSource/models/inline_response2015.py
@@ -30,73 +30,267 @@ class InlineResponse2015(object):
and the value is json key in definition.
"""
swagger_types = {
- 'submit_time_utc': 'str',
- 'status': 'str'
+ 'event_date': 'str',
+ 'event_type': 'str',
+ 'organization_id': 'str',
+ 'payloads': 'InlineResponse2015Payloads',
+ 'product_id': 'str',
+ 'request_type': 'str',
+ 'retry_number': 'int',
+ 'transaction_trace_id': 'str',
+ 'webhook_id': 'str'
}
attribute_map = {
- 'submit_time_utc': 'submitTimeUtc',
- 'status': 'status'
+ 'event_date': 'eventDate',
+ 'event_type': 'eventType',
+ 'organization_id': 'organizationId',
+ 'payloads': 'payloads',
+ 'product_id': 'productId',
+ 'request_type': 'requestType',
+ 'retry_number': 'retryNumber',
+ 'transaction_trace_id': 'transactionTraceId',
+ 'webhook_id': 'webhookId'
}
- def __init__(self, submit_time_utc=None, status=None):
+ def __init__(self, event_date=None, event_type=None, organization_id=None, payloads=None, product_id=None, request_type=None, retry_number=None, transaction_trace_id=None, webhook_id=None):
"""
InlineResponse2015 - a model defined in Swagger
"""
- self._submit_time_utc = None
- self._status = None
+ self._event_date = None
+ self._event_type = None
+ self._organization_id = None
+ self._payloads = None
+ self._product_id = None
+ self._request_type = None
+ self._retry_number = None
+ self._transaction_trace_id = None
+ self._webhook_id = None
- if submit_time_utc is not None:
- self.submit_time_utc = submit_time_utc
- if status is not None:
- self.status = status
+ if event_date is not None:
+ self.event_date = event_date
+ if event_type is not None:
+ self.event_type = event_type
+ if organization_id is not None:
+ self.organization_id = organization_id
+ if payloads is not None:
+ self.payloads = payloads
+ if product_id is not None:
+ self.product_id = product_id
+ if request_type is not None:
+ self.request_type = request_type
+ if retry_number is not None:
+ self.retry_number = retry_number
+ if transaction_trace_id is not None:
+ self.transaction_trace_id = transaction_trace_id
+ if webhook_id is not None:
+ self.webhook_id = webhook_id
@property
- def submit_time_utc(self):
+ def event_date(self):
"""
- Gets the submit_time_utc of this InlineResponse2015.
- 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.
+ Gets the event_date of this InlineResponse2015.
+ Date that the webhook was delivered
- :return: The submit_time_utc of this InlineResponse2015.
+ :return: The event_date of this InlineResponse2015.
:rtype: str
"""
- return self._submit_time_utc
+ return self._event_date
- @submit_time_utc.setter
- def submit_time_utc(self, submit_time_utc):
+ @event_date.setter
+ def event_date(self, event_date):
"""
- Sets the submit_time_utc of this InlineResponse2015.
- 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.
+ Sets the event_date of this InlineResponse2015.
+ Date that the webhook was delivered
- :param submit_time_utc: The submit_time_utc of this InlineResponse2015.
+ :param event_date: The event_date of this InlineResponse2015.
:type: str
"""
- self._submit_time_utc = submit_time_utc
+ self._event_date = event_date
@property
- def status(self):
+ def event_type(self):
"""
- Gets the status of this InlineResponse2015.
- The status of the submitted transaction. Possible values: - ACCEPTED
+ Gets the event_type of this InlineResponse2015.
+ The event name the webhook was delivered for
- :return: The status of this InlineResponse2015.
+ :return: The event_type of this InlineResponse2015.
:rtype: str
"""
- return self._status
+ return self._event_type
- @status.setter
- def status(self, status):
+ @event_type.setter
+ def event_type(self, event_type):
"""
- Sets the status of this InlineResponse2015.
- The status of the submitted transaction. Possible values: - ACCEPTED
+ Sets the event_type of this InlineResponse2015.
+ The event name the webhook was delivered for
- :param status: The status of this InlineResponse2015.
+ :param event_type: The event_type of this InlineResponse2015.
:type: str
"""
- self._status = status
+ self._event_type = event_type
+
+ @property
+ def organization_id(self):
+ """
+ Gets the organization_id of this InlineResponse2015.
+ The Organization Identifier.
+
+ :return: The organization_id of this InlineResponse2015.
+ :rtype: str
+ """
+ return self._organization_id
+
+ @organization_id.setter
+ def organization_id(self, organization_id):
+ """
+ Sets the organization_id of this InlineResponse2015.
+ The Organization Identifier.
+
+ :param organization_id: The organization_id of this InlineResponse2015.
+ :type: str
+ """
+
+ self._organization_id = organization_id
+
+ @property
+ def payloads(self):
+ """
+ Gets the payloads of this InlineResponse2015.
+
+ :return: The payloads of this InlineResponse2015.
+ :rtype: InlineResponse2015Payloads
+ """
+ return self._payloads
+
+ @payloads.setter
+ def payloads(self, payloads):
+ """
+ Sets the payloads of this InlineResponse2015.
+
+ :param payloads: The payloads of this InlineResponse2015.
+ :type: InlineResponse2015Payloads
+ """
+
+ self._payloads = payloads
+
+ @property
+ def product_id(self):
+ """
+ Gets the product_id of this InlineResponse2015.
+ The product the webhook was delivered for
+
+ :return: The product_id of this InlineResponse2015.
+ :rtype: str
+ """
+ return self._product_id
+
+ @product_id.setter
+ def product_id(self, product_id):
+ """
+ Sets the product_id of this InlineResponse2015.
+ The product the webhook was delivered for
+
+ :param product_id: The product_id of this InlineResponse2015.
+ :type: str
+ """
+
+ self._product_id = product_id
+
+ @property
+ def request_type(self):
+ """
+ Gets the request_type of this InlineResponse2015.
+ Identifies the the type of request
+
+ :return: The request_type of this InlineResponse2015.
+ :rtype: str
+ """
+ return self._request_type
+
+ @request_type.setter
+ def request_type(self, request_type):
+ """
+ Sets the request_type of this InlineResponse2015.
+ Identifies the the type of request
+
+ :param request_type: The request_type of this InlineResponse2015.
+ :type: str
+ """
+
+ self._request_type = request_type
+
+ @property
+ def retry_number(self):
+ """
+ Gets the retry_number of this InlineResponse2015.
+ The number of retry attempts for a given webhook
+
+ :return: The retry_number of this InlineResponse2015.
+ :rtype: int
+ """
+ return self._retry_number
+
+ @retry_number.setter
+ def retry_number(self, retry_number):
+ """
+ Sets the retry_number of this InlineResponse2015.
+ The number of retry attempts for a given webhook
+
+ :param retry_number: The retry_number of this InlineResponse2015.
+ :type: int
+ """
+
+ self._retry_number = retry_number
+
+ @property
+ def transaction_trace_id(self):
+ """
+ Gets the transaction_trace_id of this InlineResponse2015.
+ The identifier for the webhook
+
+ :return: The transaction_trace_id of this InlineResponse2015.
+ :rtype: str
+ """
+ return self._transaction_trace_id
+
+ @transaction_trace_id.setter
+ def transaction_trace_id(self, transaction_trace_id):
+ """
+ Sets the transaction_trace_id of this InlineResponse2015.
+ The identifier for the webhook
+
+ :param transaction_trace_id: The transaction_trace_id of this InlineResponse2015.
+ :type: str
+ """
+
+ self._transaction_trace_id = transaction_trace_id
+
+ @property
+ def webhook_id(self):
+ """
+ Gets the webhook_id of this InlineResponse2015.
+ The identifier of the subscription
+
+ :return: The webhook_id of this InlineResponse2015.
+ :rtype: str
+ """
+ return self._webhook_id
+
+ @webhook_id.setter
+ def webhook_id(self, webhook_id):
+ """
+ Sets the webhook_id of this InlineResponse2015.
+ The identifier of the subscription
+
+ :param webhook_id: The webhook_id of this InlineResponse2015.
+ :type: str
+ """
+
+ self._webhook_id = webhook_id
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response2014_payloads.py b/CyberSource/models/inline_response2015_payloads.py
similarity index 83%
rename from CyberSource/models/inline_response2014_payloads.py
rename to CyberSource/models/inline_response2015_payloads.py
index c1b874d8..65d64f3a 100644
--- a/CyberSource/models/inline_response2014_payloads.py
+++ b/CyberSource/models/inline_response2015_payloads.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2014Payloads(object):
+class InlineResponse2015Payloads(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -30,7 +30,7 @@ class InlineResponse2014Payloads(object):
and the value is json key in definition.
"""
swagger_types = {
- 'test_payload': 'InlineResponse2014PayloadsTestPayload'
+ 'test_payload': 'InlineResponse2015PayloadsTestPayload'
}
attribute_map = {
@@ -39,7 +39,7 @@ class InlineResponse2014Payloads(object):
def __init__(self, test_payload=None):
"""
- InlineResponse2014Payloads - a model defined in Swagger
+ InlineResponse2015Payloads - a model defined in Swagger
"""
self._test_payload = None
@@ -50,20 +50,20 @@ def __init__(self, test_payload=None):
@property
def test_payload(self):
"""
- Gets the test_payload of this InlineResponse2014Payloads.
+ Gets the test_payload of this InlineResponse2015Payloads.
- :return: The test_payload of this InlineResponse2014Payloads.
- :rtype: InlineResponse2014PayloadsTestPayload
+ :return: The test_payload of this InlineResponse2015Payloads.
+ :rtype: InlineResponse2015PayloadsTestPayload
"""
return self._test_payload
@test_payload.setter
def test_payload(self, test_payload):
"""
- Sets the test_payload of this InlineResponse2014Payloads.
+ Sets the test_payload of this InlineResponse2015Payloads.
- :param test_payload: The test_payload of this InlineResponse2014Payloads.
- :type: InlineResponse2014PayloadsTestPayload
+ :param test_payload: The test_payload of this InlineResponse2015Payloads.
+ :type: InlineResponse2015PayloadsTestPayload
"""
self._test_payload = test_payload
@@ -110,7 +110,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2014Payloads):
+ if not isinstance(other, InlineResponse2015Payloads):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2014_payloads_test_payload.py b/CyberSource/models/inline_response2015_payloads_test_payload.py
similarity index 86%
rename from CyberSource/models/inline_response2014_payloads_test_payload.py
rename to CyberSource/models/inline_response2015_payloads_test_payload.py
index f0bb5e19..a347e933 100644
--- a/CyberSource/models/inline_response2014_payloads_test_payload.py
+++ b/CyberSource/models/inline_response2015_payloads_test_payload.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse2014PayloadsTestPayload(object):
+class InlineResponse2015PayloadsTestPayload(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -39,7 +39,7 @@ class InlineResponse2014PayloadsTestPayload(object):
def __init__(self, message=None):
"""
- InlineResponse2014PayloadsTestPayload - a model defined in Swagger
+ InlineResponse2015PayloadsTestPayload - a model defined in Swagger
"""
self._message = None
@@ -50,10 +50,10 @@ def __init__(self, message=None):
@property
def message(self):
"""
- Gets the message of this InlineResponse2014PayloadsTestPayload.
+ Gets the message of this InlineResponse2015PayloadsTestPayload.
The test message delivered in the webhook
- :return: The message of this InlineResponse2014PayloadsTestPayload.
+ :return: The message of this InlineResponse2015PayloadsTestPayload.
:rtype: str
"""
return self._message
@@ -61,10 +61,10 @@ def message(self):
@message.setter
def message(self, message):
"""
- Sets the message of this InlineResponse2014PayloadsTestPayload.
+ Sets the message of this InlineResponse2015PayloadsTestPayload.
The test message delivered in the webhook
- :param message: The message of this InlineResponse2014PayloadsTestPayload.
+ :param message: The message of this InlineResponse2015PayloadsTestPayload.
:type: str
"""
@@ -112,7 +112,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse2014PayloadsTestPayload):
+ if not isinstance(other, InlineResponse2015PayloadsTestPayload):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response2016.py b/CyberSource/models/inline_response2016.py
new file mode 100644
index 00000000..666949a0
--- /dev/null
+++ b/CyberSource/models/inline_response2016.py
@@ -0,0 +1,152 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse2016(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'submit_time_utc': 'str',
+ 'status': 'str'
+ }
+
+ attribute_map = {
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status'
+ }
+
+ def __init__(self, submit_time_utc=None, status=None):
+ """
+ InlineResponse2016 - a model defined in Swagger
+ """
+
+ self._submit_time_utc = None
+ self._status = None
+
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this InlineResponse2016.
+ 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.
+
+ :return: The submit_time_utc of this InlineResponse2016.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this InlineResponse2016.
+ 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.
+
+ :param submit_time_utc: The submit_time_utc of this InlineResponse2016.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this InlineResponse2016.
+ The status of the submitted transaction. Possible values: - ACCEPTED
+
+ :return: The status of this InlineResponse2016.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this InlineResponse2016.
+ The status of the submitted transaction. Possible values: - ACCEPTED
+
+ :param status: The status of this InlineResponse2016.
+ :type: str
+ """
+
+ self._status = status
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse2016):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response4005.py b/CyberSource/models/inline_response4005.py
index 2ce25654..7e051aa4 100644
--- a/CyberSource/models/inline_response4005.py
+++ b/CyberSource/models/inline_response4005.py
@@ -30,183 +30,155 @@ class InlineResponse4005(object):
and the value is json key in definition.
"""
swagger_types = {
- 'code': 'str',
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'reason': 'str',
'message': 'str',
- 'localization_key': 'str',
- 'correlation_id': 'str',
- 'detail': 'str',
- 'fields': 'list[InlineResponse4005Fields]'
+ 'details': 'list[PtsV2PaymentsPost201ResponseErrorInformationDetails]'
}
attribute_map = {
- 'code': 'code',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'reason': 'reason',
'message': 'message',
- 'localization_key': 'localizationKey',
- 'correlation_id': 'correlationId',
- 'detail': 'detail',
- 'fields': 'fields'
+ 'details': 'details'
}
- def __init__(self, code=None, message=None, localization_key=None, correlation_id=None, detail=None, fields=None):
+ def __init__(self, submit_time_utc=None, status=None, reason=None, message=None, details=None):
"""
InlineResponse4005 - a model defined in Swagger
"""
- self._code = None
+ self._submit_time_utc = None
+ self._status = None
+ self._reason = None
self._message = None
- self._localization_key = None
- self._correlation_id = None
- self._detail = None
- self._fields = None
-
- self.code = code
- self.message = message
- if localization_key is not None:
- self.localization_key = localization_key
- if correlation_id is not None:
- self.correlation_id = correlation_id
- if detail is not None:
- self.detail = detail
- if fields is not None:
- self.fields = fields
+ self._details = None
+
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if reason is not None:
+ self.reason = reason
+ if message is not None:
+ self.message = message
+ if details is not None:
+ self.details = details
@property
- def code(self):
+ def submit_time_utc(self):
"""
- Gets the code of this InlineResponse4005.
- Error code
+ Gets the submit_time_utc of this InlineResponse4005.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
- :return: The code of this InlineResponse4005.
+ :return: The submit_time_utc of this InlineResponse4005.
:rtype: str
"""
- return self._code
+ return self._submit_time_utc
- @code.setter
- def code(self, code):
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
"""
- Sets the code of this InlineResponse4005.
- Error code
+ Sets the submit_time_utc of this InlineResponse4005.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
- :param code: The code of this InlineResponse4005.
+ :param submit_time_utc: The submit_time_utc of this InlineResponse4005.
:type: str
"""
- self._code = code
+ self._submit_time_utc = submit_time_utc
@property
- def message(self):
- """
- Gets the message of this InlineResponse4005.
- Error message
-
- :return: The message of this InlineResponse4005.
- :rtype: str
- """
- return self._message
-
- @message.setter
- def message(self, message):
- """
- Sets the message of this InlineResponse4005.
- Error message
-
- :param message: The message of this InlineResponse4005.
- :type: str
- """
-
- self._message = message
-
- @property
- def localization_key(self):
+ def status(self):
"""
- Gets the localization_key of this InlineResponse4005.
- Localization Key Name
+ Gets the status of this InlineResponse4005.
+ The status of the submitted transaction. Possible values: - INVALID_REQUEST
- :return: The localization_key of this InlineResponse4005.
+ :return: The status of this InlineResponse4005.
:rtype: str
"""
- return self._localization_key
+ return self._status
- @localization_key.setter
- def localization_key(self, localization_key):
+ @status.setter
+ def status(self, status):
"""
- Sets the localization_key of this InlineResponse4005.
- Localization Key Name
+ Sets the status of this InlineResponse4005.
+ The status of the submitted transaction. Possible values: - INVALID_REQUEST
- :param localization_key: The localization_key of this InlineResponse4005.
+ :param status: The status of this InlineResponse4005.
:type: str
"""
- self._localization_key = localization_key
+ self._status = status
@property
- def correlation_id(self):
+ def reason(self):
"""
- Gets the correlation_id of this InlineResponse4005.
- Correlation Id
+ Gets the reason of this InlineResponse4005.
+ The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE - INVALID_FOLLOW_ON_TRANSACTION_STATUS
- :return: The correlation_id of this InlineResponse4005.
+ :return: The reason of this InlineResponse4005.
:rtype: str
"""
- return self._correlation_id
+ return self._reason
- @correlation_id.setter
- def correlation_id(self, correlation_id):
+ @reason.setter
+ def reason(self, reason):
"""
- Sets the correlation_id of this InlineResponse4005.
- Correlation Id
+ Sets the reason of this InlineResponse4005.
+ The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE - INVALID_FOLLOW_ON_TRANSACTION_STATUS
- :param correlation_id: The correlation_id of this InlineResponse4005.
+ :param reason: The reason of this InlineResponse4005.
:type: str
"""
- self._correlation_id = correlation_id
+ self._reason = reason
@property
- def detail(self):
+ def message(self):
"""
- Gets the detail of this InlineResponse4005.
- Error Detail
+ Gets the message of this InlineResponse4005.
+ The detail message related to the status and reason listed above.
- :return: The detail of this InlineResponse4005.
+ :return: The message of this InlineResponse4005.
:rtype: str
"""
- return self._detail
+ return self._message
- @detail.setter
- def detail(self, detail):
+ @message.setter
+ def message(self, message):
"""
- Sets the detail of this InlineResponse4005.
- Error Detail
+ Sets the message of this InlineResponse4005.
+ The detail message related to the status and reason listed above.
- :param detail: The detail of this InlineResponse4005.
+ :param message: The message of this InlineResponse4005.
:type: str
"""
- self._detail = detail
+ self._message = message
@property
- def fields(self):
+ def details(self):
"""
- Gets the fields of this InlineResponse4005.
- Error fields List
+ Gets the details of this InlineResponse4005.
- :return: The fields of this InlineResponse4005.
- :rtype: list[InlineResponse4005Fields]
+ :return: The details of this InlineResponse4005.
+ :rtype: list[PtsV2PaymentsPost201ResponseErrorInformationDetails]
"""
- return self._fields
+ return self._details
- @fields.setter
- def fields(self, fields):
+ @details.setter
+ def details(self, details):
"""
- Sets the fields of this InlineResponse4005.
- Error fields List
+ Sets the details of this InlineResponse4005.
- :param fields: The fields of this InlineResponse4005.
- :type: list[InlineResponse4005Fields]
+ :param details: The details of this InlineResponse4005.
+ :type: list[PtsV2PaymentsPost201ResponseErrorInformationDetails]
"""
- self._fields = fields
+ self._details = details
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response4006.py b/CyberSource/models/inline_response4006.py
index 24a81410..4817579f 100644
--- a/CyberSource/models/inline_response4006.py
+++ b/CyberSource/models/inline_response4006.py
@@ -30,155 +30,183 @@ class InlineResponse4006(object):
and the value is json key in definition.
"""
swagger_types = {
- 'submit_time_utc': 'datetime',
- 'status': 'str',
- 'reason': 'str',
+ 'code': 'str',
'message': 'str',
- 'details': 'list[InlineResponse4006Details]'
+ 'localization_key': 'str',
+ 'correlation_id': 'str',
+ 'detail': 'str',
+ 'fields': 'list[InlineResponse4006Fields]'
}
attribute_map = {
- 'submit_time_utc': 'submitTimeUtc',
- 'status': 'status',
- 'reason': 'reason',
+ 'code': 'code',
'message': 'message',
- 'details': 'details'
+ 'localization_key': 'localizationKey',
+ 'correlation_id': 'correlationId',
+ 'detail': 'detail',
+ 'fields': 'fields'
}
- def __init__(self, submit_time_utc=None, status=None, reason=None, message=None, details=None):
+ def __init__(self, code=None, message=None, localization_key=None, correlation_id=None, detail=None, fields=None):
"""
InlineResponse4006 - a model defined in Swagger
"""
- self._submit_time_utc = None
- self._status = None
- self._reason = None
+ self._code = None
self._message = None
- self._details = None
-
- if submit_time_utc is not None:
- self.submit_time_utc = submit_time_utc
- if status is not None:
- self.status = status
- if reason is not None:
- self.reason = reason
- if message is not None:
- self.message = message
- if details is not None:
- self.details = details
+ self._localization_key = None
+ self._correlation_id = None
+ self._detail = None
+ self._fields = None
+
+ self.code = code
+ self.message = message
+ if localization_key is not None:
+ self.localization_key = localization_key
+ if correlation_id is not None:
+ self.correlation_id = correlation_id
+ if detail is not None:
+ self.detail = detail
+ if fields is not None:
+ self.fields = fields
@property
- def submit_time_utc(self):
+ def code(self):
"""
- Gets the submit_time_utc of this InlineResponse4006.
- 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.
+ Gets the code of this InlineResponse4006.
+ Error code
- :return: The submit_time_utc of this InlineResponse4006.
- :rtype: datetime
+ :return: The code of this InlineResponse4006.
+ :rtype: str
"""
- return self._submit_time_utc
+ return self._code
- @submit_time_utc.setter
- def submit_time_utc(self, submit_time_utc):
+ @code.setter
+ def code(self, code):
"""
- Sets the submit_time_utc of this InlineResponse4006.
- 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.
+ Sets the code of this InlineResponse4006.
+ Error code
- :param submit_time_utc: The submit_time_utc of this InlineResponse4006.
- :type: datetime
+ :param code: The code of this InlineResponse4006.
+ :type: str
"""
- self._submit_time_utc = submit_time_utc
+ self._code = code
@property
- def status(self):
+ def message(self):
"""
- Gets the status of this InlineResponse4006.
- The http status description of the submitted request.
+ Gets the message of this InlineResponse4006.
+ Error message
- :return: The status of this InlineResponse4006.
+ :return: The message of this InlineResponse4006.
:rtype: str
"""
- return self._status
+ return self._message
- @status.setter
- def status(self, status):
+ @message.setter
+ def message(self, message):
"""
- Sets the status of this InlineResponse4006.
- The http status description of the submitted request.
+ Sets the message of this InlineResponse4006.
+ Error message
- :param status: The status of this InlineResponse4006.
+ :param message: The message of this InlineResponse4006.
:type: str
"""
- self._status = status
+ self._message = message
@property
- def reason(self):
+ def localization_key(self):
"""
- Gets the reason of this InlineResponse4006.
- Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'INVALID_DATA' - 'SYSTEM_ERROR' - 'RESOURCE_NOT_FOUND'
+ Gets the localization_key of this InlineResponse4006.
+ Localization Key Name
- :return: The reason of this InlineResponse4006.
+ :return: The localization_key of this InlineResponse4006.
:rtype: str
"""
- return self._reason
+ return self._localization_key
- @reason.setter
- def reason(self, reason):
+ @localization_key.setter
+ def localization_key(self, localization_key):
"""
- Sets the reason of this InlineResponse4006.
- Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'INVALID_DATA' - 'SYSTEM_ERROR' - 'RESOURCE_NOT_FOUND'
+ Sets the localization_key of this InlineResponse4006.
+ Localization Key Name
- :param reason: The reason of this InlineResponse4006.
+ :param localization_key: The localization_key of this InlineResponse4006.
:type: str
"""
- self._reason = reason
+ self._localization_key = localization_key
@property
- def message(self):
+ def correlation_id(self):
"""
- Gets the message of this InlineResponse4006.
- Descriptive message for the error.
+ Gets the correlation_id of this InlineResponse4006.
+ Correlation Id
- :return: The message of this InlineResponse4006.
+ :return: The correlation_id of this InlineResponse4006.
:rtype: str
"""
- return self._message
+ return self._correlation_id
- @message.setter
- def message(self, message):
+ @correlation_id.setter
+ def correlation_id(self, correlation_id):
"""
- Sets the message of this InlineResponse4006.
- Descriptive message for the error.
+ Sets the correlation_id of this InlineResponse4006.
+ Correlation Id
- :param message: The message of this InlineResponse4006.
+ :param correlation_id: The correlation_id of this InlineResponse4006.
:type: str
"""
- self._message = message
+ self._correlation_id = correlation_id
+
+ @property
+ def detail(self):
+ """
+ Gets the detail of this InlineResponse4006.
+ Error Detail
+
+ :return: The detail of this InlineResponse4006.
+ :rtype: str
+ """
+ return self._detail
+
+ @detail.setter
+ def detail(self, detail):
+ """
+ Sets the detail of this InlineResponse4006.
+ Error Detail
+
+ :param detail: The detail of this InlineResponse4006.
+ :type: str
+ """
+
+ self._detail = detail
@property
- def details(self):
+ def fields(self):
"""
- Gets the details of this InlineResponse4006.
+ Gets the fields of this InlineResponse4006.
+ Error fields List
- :return: The details of this InlineResponse4006.
- :rtype: list[InlineResponse4006Details]
+ :return: The fields of this InlineResponse4006.
+ :rtype: list[InlineResponse4006Fields]
"""
- return self._details
+ return self._fields
- @details.setter
- def details(self, details):
+ @fields.setter
+ def fields(self, fields):
"""
- Sets the details of this InlineResponse4006.
+ Sets the fields of this InlineResponse4006.
+ Error fields List
- :param details: The details of this InlineResponse4006.
- :type: list[InlineResponse4006Details]
+ :param fields: The fields of this InlineResponse4006.
+ :type: list[InlineResponse4006Fields]
"""
- self._details = details
+ self._fields = fields
def to_dict(self):
"""
diff --git a/CyberSource/models/inline_response4005_fields.py b/CyberSource/models/inline_response4006_fields.py
similarity index 81%
rename from CyberSource/models/inline_response4005_fields.py
rename to CyberSource/models/inline_response4006_fields.py
index 3391c704..bec2bc44 100644
--- a/CyberSource/models/inline_response4005_fields.py
+++ b/CyberSource/models/inline_response4006_fields.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse4005Fields(object):
+class InlineResponse4006Fields(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -43,7 +43,7 @@ class InlineResponse4005Fields(object):
def __init__(self, path=None, message=None, localization_key=None):
"""
- InlineResponse4005Fields - a model defined in Swagger
+ InlineResponse4006Fields - a model defined in Swagger
"""
self._path = None
@@ -60,10 +60,10 @@ def __init__(self, path=None, message=None, localization_key=None):
@property
def path(self):
"""
- Gets the path of this InlineResponse4005Fields.
+ Gets the path of this InlineResponse4006Fields.
Path of the failed property
- :return: The path of this InlineResponse4005Fields.
+ :return: The path of this InlineResponse4006Fields.
:rtype: str
"""
return self._path
@@ -71,10 +71,10 @@ def path(self):
@path.setter
def path(self, path):
"""
- Sets the path of this InlineResponse4005Fields.
+ Sets the path of this InlineResponse4006Fields.
Path of the failed property
- :param path: The path of this InlineResponse4005Fields.
+ :param path: The path of this InlineResponse4006Fields.
:type: str
"""
@@ -83,10 +83,10 @@ def path(self, path):
@property
def message(self):
"""
- Gets the message of this InlineResponse4005Fields.
+ Gets the message of this InlineResponse4006Fields.
Error description about validation failed field
- :return: The message of this InlineResponse4005Fields.
+ :return: The message of this InlineResponse4006Fields.
:rtype: str
"""
return self._message
@@ -94,10 +94,10 @@ def message(self):
@message.setter
def message(self, message):
"""
- Sets the message of this InlineResponse4005Fields.
+ Sets the message of this InlineResponse4006Fields.
Error description about validation failed field
- :param message: The message of this InlineResponse4005Fields.
+ :param message: The message of this InlineResponse4006Fields.
:type: str
"""
@@ -106,10 +106,10 @@ def message(self, message):
@property
def localization_key(self):
"""
- Gets the localization_key of this InlineResponse4005Fields.
+ Gets the localization_key of this InlineResponse4006Fields.
Localized Key Name
- :return: The localization_key of this InlineResponse4005Fields.
+ :return: The localization_key of this InlineResponse4006Fields.
:rtype: str
"""
return self._localization_key
@@ -117,10 +117,10 @@ def localization_key(self):
@localization_key.setter
def localization_key(self, localization_key):
"""
- Sets the localization_key of this InlineResponse4005Fields.
+ Sets the localization_key of this InlineResponse4006Fields.
Localized Key Name
- :param localization_key: The localization_key of this InlineResponse4005Fields.
+ :param localization_key: The localization_key of this InlineResponse4006Fields.
:type: str
"""
@@ -168,7 +168,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse4005Fields):
+ if not isinstance(other, InlineResponse4006Fields):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response4007.py b/CyberSource/models/inline_response4007.py
new file mode 100644
index 00000000..b664d7a8
--- /dev/null
+++ b/CyberSource/models/inline_response4007.py
@@ -0,0 +1,234 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse4007(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'submit_time_utc': 'datetime',
+ 'status': 'str',
+ 'reason': 'str',
+ 'message': 'str',
+ 'details': 'list[InlineResponse4007Details]'
+ }
+
+ attribute_map = {
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'reason': 'reason',
+ 'message': 'message',
+ 'details': 'details'
+ }
+
+ def __init__(self, submit_time_utc=None, status=None, reason=None, message=None, details=None):
+ """
+ InlineResponse4007 - a model defined in Swagger
+ """
+
+ self._submit_time_utc = None
+ self._status = None
+ self._reason = None
+ self._message = None
+ self._details = None
+
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if reason is not None:
+ self.reason = reason
+ if message is not None:
+ self.message = message
+ if details is not None:
+ self.details = details
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this InlineResponse4007.
+ 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.
+
+ :return: The submit_time_utc of this InlineResponse4007.
+ :rtype: datetime
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this InlineResponse4007.
+ 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.
+
+ :param submit_time_utc: The submit_time_utc of this InlineResponse4007.
+ :type: datetime
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this InlineResponse4007.
+ The http status description of the submitted request.
+
+ :return: The status of this InlineResponse4007.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this InlineResponse4007.
+ The http status description of the submitted request.
+
+ :param status: The status of this InlineResponse4007.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def reason(self):
+ """
+ Gets the reason of this InlineResponse4007.
+ Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'INVALID_DATA' - 'SYSTEM_ERROR' - 'RESOURCE_NOT_FOUND'
+
+ :return: The reason of this InlineResponse4007.
+ :rtype: str
+ """
+ return self._reason
+
+ @reason.setter
+ def reason(self, reason):
+ """
+ Sets the reason of this InlineResponse4007.
+ Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'INVALID_DATA' - 'SYSTEM_ERROR' - 'RESOURCE_NOT_FOUND'
+
+ :param reason: The reason of this InlineResponse4007.
+ :type: str
+ """
+
+ self._reason = reason
+
+ @property
+ def message(self):
+ """
+ Gets the message of this InlineResponse4007.
+ Descriptive message for the error.
+
+ :return: The message of this InlineResponse4007.
+ :rtype: str
+ """
+ return self._message
+
+ @message.setter
+ def message(self, message):
+ """
+ Sets the message of this InlineResponse4007.
+ Descriptive message for the error.
+
+ :param message: The message of this InlineResponse4007.
+ :type: str
+ """
+
+ self._message = message
+
+ @property
+ def details(self):
+ """
+ Gets the details of this InlineResponse4007.
+
+ :return: The details of this InlineResponse4007.
+ :rtype: list[InlineResponse4007Details]
+ """
+ return self._details
+
+ @details.setter
+ def details(self, details):
+ """
+ Sets the details of this InlineResponse4007.
+
+ :param details: The details of this InlineResponse4007.
+ :type: list[InlineResponse4007Details]
+ """
+
+ self._details = details
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse4007):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response4006_details.py b/CyberSource/models/inline_response4007_details.py
similarity index 83%
rename from CyberSource/models/inline_response4006_details.py
rename to CyberSource/models/inline_response4007_details.py
index 637c024a..260747ab 100644
--- a/CyberSource/models/inline_response4006_details.py
+++ b/CyberSource/models/inline_response4007_details.py
@@ -15,7 +15,7 @@
import re
-class InlineResponse4006Details(object):
+class InlineResponse4007Details(object):
"""
NOTE: This class is auto generated by the swagger code generator program.
Do not edit the class manually.
@@ -41,7 +41,7 @@ class InlineResponse4006Details(object):
def __init__(self, field=None, reason=None):
"""
- InlineResponse4006Details - a model defined in Swagger
+ InlineResponse4007Details - a model defined in Swagger
"""
self._field = None
@@ -55,10 +55,10 @@ def __init__(self, field=None, reason=None):
@property
def field(self):
"""
- Gets the field of this InlineResponse4006Details.
+ Gets the field of this InlineResponse4007Details.
This is the flattened JSON object field name/path that is either missing or invalid.
- :return: The field of this InlineResponse4006Details.
+ :return: The field of this InlineResponse4007Details.
:rtype: str
"""
return self._field
@@ -66,10 +66,10 @@ def field(self):
@field.setter
def field(self, field):
"""
- Sets the field of this InlineResponse4006Details.
+ Sets the field of this InlineResponse4007Details.
This is the flattened JSON object field name/path that is either missing or invalid.
- :param field: The field of this InlineResponse4006Details.
+ :param field: The field of this InlineResponse4007Details.
:type: str
"""
@@ -78,10 +78,10 @@ def field(self, field):
@property
def reason(self):
"""
- Gets the reason of this InlineResponse4006Details.
+ Gets the reason of this InlineResponse4007Details.
Possible reasons for the error.
- :return: The reason of this InlineResponse4006Details.
+ :return: The reason of this InlineResponse4007Details.
:rtype: str
"""
return self._reason
@@ -89,10 +89,10 @@ def reason(self):
@reason.setter
def reason(self, reason):
"""
- Sets the reason of this InlineResponse4006Details.
+ Sets the reason of this InlineResponse4007Details.
Possible reasons for the error.
- :param reason: The reason of this InlineResponse4006Details.
+ :param reason: The reason of this InlineResponse4007Details.
:type: str
"""
@@ -140,7 +140,7 @@ def __eq__(self, other):
"""
Returns true if both objects are equal
"""
- if not isinstance(other, InlineResponse4006Details):
+ if not isinstance(other, InlineResponse4007Details):
return False
return self.__dict__ == other.__dict__
diff --git a/CyberSource/models/inline_response4041.py b/CyberSource/models/inline_response4041.py
index 6580e475..f413ab4c 100644
--- a/CyberSource/models/inline_response4041.py
+++ b/CyberSource/models/inline_response4041.py
@@ -34,7 +34,7 @@ class InlineResponse4041(object):
'status': 'str',
'reason': 'str',
'message': 'str',
- 'details': 'list[InlineResponse4006Details]'
+ 'details': 'list[InlineResponse4007Details]'
}
attribute_map = {
@@ -165,7 +165,7 @@ def details(self):
Gets the details of this InlineResponse4041.
:return: The details of this InlineResponse4041.
- :rtype: list[InlineResponse4006Details]
+ :rtype: list[InlineResponse4007Details]
"""
return self._details
@@ -175,7 +175,7 @@ def details(self, details):
Sets the details of this InlineResponse4041.
:param details: The details of this InlineResponse4041.
- :type: list[InlineResponse4006Details]
+ :type: list[InlineResponse4007Details]
"""
self._details = details
diff --git a/CyberSource/models/inline_response4042.py b/CyberSource/models/inline_response4042.py
new file mode 100644
index 00000000..fc2af278
--- /dev/null
+++ b/CyberSource/models/inline_response4042.py
@@ -0,0 +1,174 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse4042(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'reason': 'str',
+ 'message': 'str',
+ 'details': 'list[InlineResponse4042Details]'
+ }
+
+ attribute_map = {
+ 'reason': 'reason',
+ 'message': 'message',
+ 'details': 'details'
+ }
+
+ def __init__(self, reason=None, message=None, details=None):
+ """
+ InlineResponse4042 - a model defined in Swagger
+ """
+
+ self._reason = None
+ self._message = None
+ self._details = None
+
+ if reason is not None:
+ self.reason = reason
+ if message is not None:
+ self.message = message
+ if details is not None:
+ self.details = details
+
+ @property
+ def reason(self):
+ """
+ Gets the reason of this InlineResponse4042.
+
+ :return: The reason of this InlineResponse4042.
+ :rtype: str
+ """
+ return self._reason
+
+ @reason.setter
+ def reason(self, reason):
+ """
+ Sets the reason of this InlineResponse4042.
+
+ :param reason: The reason of this InlineResponse4042.
+ :type: str
+ """
+
+ self._reason = reason
+
+ @property
+ def message(self):
+ """
+ Gets the message of this InlineResponse4042.
+
+ :return: The message of this InlineResponse4042.
+ :rtype: str
+ """
+ return self._message
+
+ @message.setter
+ def message(self, message):
+ """
+ Sets the message of this InlineResponse4042.
+
+ :param message: The message of this InlineResponse4042.
+ :type: str
+ """
+
+ self._message = message
+
+ @property
+ def details(self):
+ """
+ Gets the details of this InlineResponse4042.
+
+ :return: The details of this InlineResponse4042.
+ :rtype: list[InlineResponse4042Details]
+ """
+ return self._details
+
+ @details.setter
+ def details(self, details):
+ """
+ Sets the details of this InlineResponse4042.
+
+ :param details: The details of this InlineResponse4042.
+ :type: list[InlineResponse4042Details]
+ """
+
+ self._details = details
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse4042):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response4042_details.py b/CyberSource/models/inline_response4042_details.py
new file mode 100644
index 00000000..19877812
--- /dev/null
+++ b/CyberSource/models/inline_response4042_details.py
@@ -0,0 +1,148 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InlineResponse4042Details(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'field': 'str',
+ 'reason': 'str'
+ }
+
+ attribute_map = {
+ 'field': 'field',
+ 'reason': 'reason'
+ }
+
+ def __init__(self, field=None, reason=None):
+ """
+ InlineResponse4042Details - a model defined in Swagger
+ """
+
+ self._field = None
+ self._reason = None
+
+ if field is not None:
+ self.field = field
+ if reason is not None:
+ self.reason = reason
+
+ @property
+ def field(self):
+ """
+ Gets the field of this InlineResponse4042Details.
+
+ :return: The field of this InlineResponse4042Details.
+ :rtype: str
+ """
+ return self._field
+
+ @field.setter
+ def field(self, field):
+ """
+ Sets the field of this InlineResponse4042Details.
+
+ :param field: The field of this InlineResponse4042Details.
+ :type: str
+ """
+
+ self._field = field
+
+ @property
+ def reason(self):
+ """
+ Gets the reason of this InlineResponse4042Details.
+
+ :return: The reason of this InlineResponse4042Details.
+ :rtype: str
+ """
+ return self._reason
+
+ @reason.setter
+ def reason(self, reason):
+ """
+ Sets the reason of this InlineResponse4042Details.
+
+ :param reason: The reason of this InlineResponse4042Details.
+ :type: str
+ """
+
+ self._reason = reason
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InlineResponse4042Details):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/inline_response4221.py b/CyberSource/models/inline_response4221.py
index 9112e5b8..d858e39e 100644
--- a/CyberSource/models/inline_response4221.py
+++ b/CyberSource/models/inline_response4221.py
@@ -34,7 +34,7 @@ class InlineResponse4221(object):
'status': 'str',
'reason': 'str',
'message': 'str',
- 'details': 'list[InlineResponse4006Details]'
+ 'details': 'list[InlineResponse4007Details]'
}
attribute_map = {
@@ -165,7 +165,7 @@ def details(self):
Gets the details of this InlineResponse4221.
:return: The details of this InlineResponse4221.
- :rtype: list[InlineResponse4006Details]
+ :rtype: list[InlineResponse4007Details]
"""
return self._details
@@ -175,7 +175,7 @@ def details(self, details):
Sets the details of this InlineResponse4221.
:param details: The details of this InlineResponse4221.
- :type: list[InlineResponse4006Details]
+ :type: list[InlineResponse4007Details]
"""
self._details = details
diff --git a/CyberSource/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information.py b/CyberSource/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information.py
index a52ab249..a93e30b7 100644
--- a/CyberSource/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information.py
+++ b/CyberSource/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information.py
@@ -39,7 +39,11 @@ class InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation(object)
'default_currency_code': 'str',
'payer_authentication3_ds_version': 'bool',
'show_vat_number': 'bool',
- 'vat_registration_number': 'str'
+ 'vat_registration_number': 'str',
+ 'ship_to': 'bool',
+ 'phone_number': 'bool',
+ 'email': 'bool',
+ 'enable_merchant_email_notifications': 'bool'
}
attribute_map = {
@@ -52,10 +56,14 @@ class InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation(object)
'default_currency_code': 'defaultCurrencyCode',
'payer_authentication3_ds_version': 'payerAuthentication3DSVersion',
'show_vat_number': 'showVatNumber',
- 'vat_registration_number': 'vatRegistrationNumber'
+ 'vat_registration_number': 'vatRegistrationNumber',
+ 'ship_to': 'shipTo',
+ 'phone_number': 'phoneNumber',
+ 'email': 'email',
+ 'enable_merchant_email_notifications': 'enableMerchantEmailNotifications'
}
- def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_message=None, enable_reminders=None, header_style=None, delivery_language=None, default_currency_code=None, payer_authentication3_ds_version=False, show_vat_number=False, vat_registration_number=None):
+ def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_message=None, enable_reminders=None, header_style=None, delivery_language=None, default_currency_code=None, payer_authentication3_ds_version=False, show_vat_number=False, vat_registration_number=None, ship_to=False, phone_number=False, email=False, enable_merchant_email_notifications=False):
"""
InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation - a model defined in Swagger
"""
@@ -70,6 +78,10 @@ def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_
self._payer_authentication3_ds_version = None
self._show_vat_number = None
self._vat_registration_number = None
+ self._ship_to = None
+ self._phone_number = None
+ self._email = None
+ self._enable_merchant_email_notifications = None
if merchant_logo is not None:
self.merchant_logo = merchant_logo
@@ -91,6 +103,14 @@ def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_
self.show_vat_number = show_vat_number
if vat_registration_number is not None:
self.vat_registration_number = vat_registration_number
+ if ship_to is not None:
+ self.ship_to = ship_to
+ if phone_number is not None:
+ self.phone_number = phone_number
+ if email is not None:
+ self.email = email
+ if enable_merchant_email_notifications is not None:
+ self.enable_merchant_email_notifications = enable_merchant_email_notifications
@property
def merchant_logo(self):
@@ -301,7 +321,7 @@ def show_vat_number(self, show_vat_number):
def vat_registration_number(self):
"""
Gets the vat_registration_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
- Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes.
+ Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes.
:return: The vat_registration_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
:rtype: str
@@ -312,7 +332,7 @@ def vat_registration_number(self):
def vat_registration_number(self, vat_registration_number):
"""
Sets the vat_registration_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
- Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes.
+ Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes.
:param vat_registration_number: The vat_registration_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
:type: str
@@ -320,6 +340,98 @@ def vat_registration_number(self, vat_registration_number):
self._vat_registration_number = vat_registration_number
+ @property
+ def ship_to(self):
+ """
+ Gets the ship_to of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Collect the payers shipping address.
+
+ :return: The ship_to of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._ship_to
+
+ @ship_to.setter
+ def ship_to(self, ship_to):
+ """
+ Sets the ship_to of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Collect the payers shipping address.
+
+ :param ship_to: The ship_to of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._ship_to = ship_to
+
+ @property
+ def phone_number(self):
+ """
+ Gets the phone_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Collect the payers phone number.
+
+ :return: The phone_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._phone_number
+
+ @phone_number.setter
+ def phone_number(self, phone_number):
+ """
+ Sets the phone_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Collect the payers phone number.
+
+ :param phone_number: The phone_number of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._phone_number = phone_number
+
+ @property
+ def email(self):
+ """
+ Gets the email of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.
+
+ :return: The email of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._email
+
+ @email.setter
+ def email(self, email):
+ """
+ Sets the email of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.
+
+ :param email: The email of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._email = email
+
+ @property
+ def enable_merchant_email_notifications(self):
+ """
+ Gets the enable_merchant_email_notifications of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Whether you would like to receive payment notification for successful transaction
+
+ :return: The enable_merchant_email_notifications of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._enable_merchant_email_notifications
+
+ @enable_merchant_email_notifications.setter
+ def enable_merchant_email_notifications(self, enable_merchant_email_notifications):
+ """
+ Sets the enable_merchant_email_notifications of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ Whether you would like to receive payment notification for successful transaction
+
+ :param enable_merchant_email_notifications: The enable_merchant_email_notifications of this InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._enable_merchant_email_notifications = enable_merchant_email_notifications
+
def to_dict(self):
"""
Returns the model properties as a dict
diff --git a/CyberSource/models/invoicing_v2_invoices_all_get200_response.py b/CyberSource/models/invoicing_v2_invoices_all_get200_response.py
index 98411494..7daf4c09 100644
--- a/CyberSource/models/invoicing_v2_invoices_all_get200_response.py
+++ b/CyberSource/models/invoicing_v2_invoices_all_get200_response.py
@@ -30,7 +30,7 @@ class InvoicingV2InvoicesAllGet200Response(object):
and the value is json key in definition.
"""
swagger_types = {
- 'links': 'GetAllPlansResponseLinks',
+ 'links': 'InvoicingV2InvoicesAllGet200ResponseLinks',
'submit_time_utc': 'str',
'total_invoices': 'int',
'invoices': 'list[InvoicingV2InvoicesAllGet200ResponseInvoices]'
@@ -68,7 +68,7 @@ def links(self):
Gets the links of this InvoicingV2InvoicesAllGet200Response.
:return: The links of this InvoicingV2InvoicesAllGet200Response.
- :rtype: GetAllPlansResponseLinks
+ :rtype: InvoicingV2InvoicesAllGet200ResponseLinks
"""
return self._links
@@ -78,7 +78,7 @@ def links(self, links):
Sets the links of this InvoicingV2InvoicesAllGet200Response.
:param links: The links of this InvoicingV2InvoicesAllGet200Response.
- :type: GetAllPlansResponseLinks
+ :type: InvoicingV2InvoicesAllGet200ResponseLinks
"""
self._links = links
diff --git a/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoice_information.py b/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoice_information.py
index 5f7b8213..b685b76e 100644
--- a/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoice_information.py
+++ b/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoice_information.py
@@ -30,22 +30,27 @@ class InvoicingV2InvoicesAllGet200ResponseInvoiceInformation(object):
and the value is json key in definition.
"""
swagger_types = {
- 'due_date': 'date'
+ 'due_date': 'date',
+ 'expiration_date': 'date'
}
attribute_map = {
- 'due_date': 'dueDate'
+ 'due_date': 'dueDate',
+ 'expiration_date': 'expirationDate'
}
- def __init__(self, due_date=None):
+ def __init__(self, due_date=None, expiration_date=None):
"""
InvoicingV2InvoicesAllGet200ResponseInvoiceInformation - a model defined in Swagger
"""
self._due_date = None
+ self._expiration_date = None
if due_date is not None:
self.due_date = due_date
+ if expiration_date is not None:
+ self.expiration_date = expiration_date
@property
def due_date(self):
@@ -70,6 +75,29 @@ def due_date(self, due_date):
self._due_date = due_date
+ @property
+ def expiration_date(self):
+ """
+ Gets the expiration_date of this InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :return: The expiration_date of this InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.
+ :rtype: date
+ """
+ return self._expiration_date
+
+ @expiration_date.setter
+ def expiration_date(self, expiration_date):
+ """
+ Sets the expiration_date of this InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :param expiration_date: The expiration_date of this InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.
+ :type: date
+ """
+
+ self._expiration_date = expiration_date
+
def to_dict(self):
"""
Returns the model properties as a dict
diff --git a/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoices.py b/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoices.py
index 263e48f3..9495ddda 100644
--- a/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoices.py
+++ b/CyberSource/models/invoicing_v2_invoices_all_get200_response_invoices.py
@@ -33,6 +33,7 @@ class InvoicingV2InvoicesAllGet200ResponseInvoices(object):
'links': 'InvoicingV2InvoicesAllGet200ResponseLinks',
'id': 'str',
'status': 'str',
+ 'created_date': 'str',
'customer_information': 'InvoicingV2InvoicesAllGet200ResponseCustomerInformation',
'invoice_information': 'InvoicingV2InvoicesAllGet200ResponseInvoiceInformation',
'order_information': 'InvoicingV2InvoicesAllGet200ResponseOrderInformation'
@@ -42,12 +43,13 @@ class InvoicingV2InvoicesAllGet200ResponseInvoices(object):
'links': '_links',
'id': 'id',
'status': 'status',
+ 'created_date': 'createdDate',
'customer_information': 'customerInformation',
'invoice_information': 'invoiceInformation',
'order_information': 'orderInformation'
}
- def __init__(self, links=None, id=None, status=None, customer_information=None, invoice_information=None, order_information=None):
+ def __init__(self, links=None, id=None, status=None, created_date=None, customer_information=None, invoice_information=None, order_information=None):
"""
InvoicingV2InvoicesAllGet200ResponseInvoices - a model defined in Swagger
"""
@@ -55,6 +57,7 @@ def __init__(self, links=None, id=None, status=None, customer_information=None,
self._links = None
self._id = None
self._status = None
+ self._created_date = None
self._customer_information = None
self._invoice_information = None
self._order_information = None
@@ -65,6 +68,8 @@ def __init__(self, links=None, id=None, status=None, customer_information=None,
self.id = id
if status is not None:
self.status = status
+ if created_date is not None:
+ self.created_date = created_date
if customer_information is not None:
self.customer_information = customer_information
if invoice_information is not None:
@@ -139,6 +144,29 @@ def status(self, status):
self._status = status
+ @property
+ def created_date(self):
+ """
+ Gets the created_date of this InvoicingV2InvoicesAllGet200ResponseInvoices.
+ Date and time (UTC) the invoice was created. 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.
+
+ :return: The created_date of this InvoicingV2InvoicesAllGet200ResponseInvoices.
+ :rtype: str
+ """
+ return self._created_date
+
+ @created_date.setter
+ def created_date(self, created_date):
+ """
+ Sets the created_date of this InvoicingV2InvoicesAllGet200ResponseInvoices.
+ Date and time (UTC) the invoice was created. 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.
+
+ :param created_date: The created_date of this InvoicingV2InvoicesAllGet200ResponseInvoices.
+ :type: str
+ """
+
+ self._created_date = created_date
+
@property
def customer_information(self):
"""
diff --git a/CyberSource/models/invoicing_v2_invoices_all_get200_response_order_information_amount_details.py b/CyberSource/models/invoicing_v2_invoices_all_get200_response_order_information_amount_details.py
index ad5deb2c..01f38d9b 100644
--- a/CyberSource/models/invoicing_v2_invoices_all_get200_response_order_information_amount_details.py
+++ b/CyberSource/models/invoicing_v2_invoices_all_get200_response_order_information_amount_details.py
@@ -56,7 +56,7 @@ def __init__(self, total_amount=None, currency=None):
def total_amount(self):
"""
Gets the total_amount of this InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.
:rtype: str
@@ -67,7 +67,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/invoicing_v2_invoices_all_get400_response.py b/CyberSource/models/invoicing_v2_invoices_all_get400_response.py
index 5540220a..be95e22e 100644
--- a/CyberSource/models/invoicing_v2_invoices_all_get400_response.py
+++ b/CyberSource/models/invoicing_v2_invoices_all_get400_response.py
@@ -117,7 +117,7 @@ def status(self, status):
def reason(self):
"""
Gets the reason of this InvoicingV2InvoicesAllGet400Response.
- The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE
+ The reason of the status. Possible values: - DUPLICATE_RECORD - ACTION_NOT_ALLOWED - VALIDATION_ERRORS - INVALID_IMAGE - INVALID_TRANSIENT_TOKEN
:return: The reason of this InvoicingV2InvoicesAllGet400Response.
:rtype: str
@@ -128,7 +128,7 @@ def reason(self):
def reason(self, reason):
"""
Sets the reason of this InvoicingV2InvoicesAllGet400Response.
- The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE
+ The reason of the status. Possible values: - DUPLICATE_RECORD - ACTION_NOT_ALLOWED - VALIDATION_ERRORS - INVALID_IMAGE - INVALID_TRANSIENT_TOKEN
:param reason: The reason of this InvoicingV2InvoicesAllGet400Response.
:type: str
diff --git a/CyberSource/models/invoicing_v2_invoices_all_get404_response.py b/CyberSource/models/invoicing_v2_invoices_all_get404_response.py
index 545f952c..5031c8c8 100644
--- a/CyberSource/models/invoicing_v2_invoices_all_get404_response.py
+++ b/CyberSource/models/invoicing_v2_invoices_all_get404_response.py
@@ -117,7 +117,7 @@ def status(self, status):
def reason(self):
"""
Gets the reason of this InvoicingV2InvoicesAllGet404Response.
- The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE
+ The reason of the status. Possible values: - NOTFOUND
:return: The reason of this InvoicingV2InvoicesAllGet404Response.
:rtype: str
@@ -128,7 +128,7 @@ def reason(self):
def reason(self, reason):
"""
Sets the reason of this InvoicingV2InvoicesAllGet404Response.
- The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE
+ The reason of the status. Possible values: - NOTFOUND
:param reason: The reason of this InvoicingV2InvoicesAllGet404Response.
:type: str
diff --git a/CyberSource/models/invoicing_v2_invoices_cancel200_response.py b/CyberSource/models/invoicing_v2_invoices_cancel200_response.py
new file mode 100644
index 00000000..0cf72e05
--- /dev/null
+++ b/CyberSource/models/invoicing_v2_invoices_cancel200_response.py
@@ -0,0 +1,310 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InvoicingV2InvoicesCancel200Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'InvoicingV2InvoicesAllGet200ResponseLinks',
+ 'id': 'str',
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'customer_information': 'Invoicingv2invoicesCustomerInformation',
+ 'processing_information': 'Invoicingv2invoicesProcessingInformation',
+ 'invoice_information': 'InvoicingV2InvoicesPost201ResponseInvoiceInformation',
+ 'order_information': 'InvoicingV2InvoicesPost201ResponseOrderInformation'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'id': 'id',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'customer_information': 'customerInformation',
+ 'processing_information': 'processingInformation',
+ 'invoice_information': 'invoiceInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, customer_information=None, processing_information=None, invoice_information=None, order_information=None):
+ """
+ InvoicingV2InvoicesCancel200Response - a model defined in Swagger
+ """
+
+ self._links = None
+ self._id = None
+ self._submit_time_utc = None
+ self._status = None
+ self._customer_information = None
+ self._processing_information = None
+ self._invoice_information = None
+ self._order_information = None
+
+ if links is not None:
+ self.links = links
+ if id is not None:
+ self.id = id
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if customer_information is not None:
+ self.customer_information = customer_information
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if invoice_information is not None:
+ self.invoice_information = invoice_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def links(self):
+ """
+ Gets the links of this InvoicingV2InvoicesCancel200Response.
+
+ :return: The links of this InvoicingV2InvoicesCancel200Response.
+ :rtype: InvoicingV2InvoicesAllGet200ResponseLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this InvoicingV2InvoicesCancel200Response.
+
+ :param links: The links of this InvoicingV2InvoicesCancel200Response.
+ :type: InvoicingV2InvoicesAllGet200ResponseLinks
+ """
+
+ self._links = links
+
+ @property
+ def id(self):
+ """
+ Gets the id of this InvoicingV2InvoicesCancel200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :return: The id of this InvoicingV2InvoicesCancel200Response.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this InvoicingV2InvoicesCancel200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :param id: The id of this InvoicingV2InvoicesCancel200Response.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this InvoicingV2InvoicesCancel200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this InvoicingV2InvoicesCancel200Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this InvoicingV2InvoicesCancel200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this InvoicingV2InvoicesCancel200Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this InvoicingV2InvoicesCancel200Response.
+ The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+
+ :return: The status of this InvoicingV2InvoicesCancel200Response.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this InvoicingV2InvoicesCancel200Response.
+ The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+
+ :param status: The status of this InvoicingV2InvoicesCancel200Response.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def customer_information(self):
+ """
+ Gets the customer_information of this InvoicingV2InvoicesCancel200Response.
+
+ :return: The customer_information of this InvoicingV2InvoicesCancel200Response.
+ :rtype: Invoicingv2invoicesCustomerInformation
+ """
+ return self._customer_information
+
+ @customer_information.setter
+ def customer_information(self, customer_information):
+ """
+ Sets the customer_information of this InvoicingV2InvoicesCancel200Response.
+
+ :param customer_information: The customer_information of this InvoicingV2InvoicesCancel200Response.
+ :type: Invoicingv2invoicesCustomerInformation
+ """
+
+ self._customer_information = customer_information
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this InvoicingV2InvoicesCancel200Response.
+
+ :return: The processing_information of this InvoicingV2InvoicesCancel200Response.
+ :rtype: Invoicingv2invoicesProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this InvoicingV2InvoicesCancel200Response.
+
+ :param processing_information: The processing_information of this InvoicingV2InvoicesCancel200Response.
+ :type: Invoicingv2invoicesProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def invoice_information(self):
+ """
+ Gets the invoice_information of this InvoicingV2InvoicesCancel200Response.
+
+ :return: The invoice_information of this InvoicingV2InvoicesCancel200Response.
+ :rtype: InvoicingV2InvoicesPost201ResponseInvoiceInformation
+ """
+ return self._invoice_information
+
+ @invoice_information.setter
+ def invoice_information(self, invoice_information):
+ """
+ Sets the invoice_information of this InvoicingV2InvoicesCancel200Response.
+
+ :param invoice_information: The invoice_information of this InvoicingV2InvoicesCancel200Response.
+ :type: InvoicingV2InvoicesPost201ResponseInvoiceInformation
+ """
+
+ self._invoice_information = invoice_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this InvoicingV2InvoicesCancel200Response.
+
+ :return: The order_information of this InvoicingV2InvoicesCancel200Response.
+ :rtype: InvoicingV2InvoicesPost201ResponseOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this InvoicingV2InvoicesCancel200Response.
+
+ :param order_information: The order_information of this InvoicingV2InvoicesCancel200Response.
+ :type: InvoicingV2InvoicesPost201ResponseOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InvoicingV2InvoicesCancel200Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/invoicing_v2_invoices_get200_response.py b/CyberSource/models/invoicing_v2_invoices_get200_response.py
index b57a247d..c6d54d01 100644
--- a/CyberSource/models/invoicing_v2_invoices_get200_response.py
+++ b/CyberSource/models/invoicing_v2_invoices_get200_response.py
@@ -35,6 +35,7 @@ class InvoicingV2InvoicesGet200Response(object):
'submit_time_utc': 'str',
'status': 'str',
'customer_information': 'Invoicingv2invoicesCustomerInformation',
+ 'processing_information': 'Invoicingv2invoicesProcessingInformation',
'invoice_information': 'InvoicingV2InvoicesPost201ResponseInvoiceInformation',
'order_information': 'InvoicingV2InvoicesPost201ResponseOrderInformation',
'invoice_history': 'list[InvoicingV2InvoicesGet200ResponseInvoiceHistory]'
@@ -46,12 +47,13 @@ class InvoicingV2InvoicesGet200Response(object):
'submit_time_utc': 'submitTimeUtc',
'status': 'status',
'customer_information': 'customerInformation',
+ 'processing_information': 'processingInformation',
'invoice_information': 'invoiceInformation',
'order_information': 'orderInformation',
'invoice_history': 'invoiceHistory'
}
- def __init__(self, links=None, id=None, submit_time_utc=None, status=None, customer_information=None, invoice_information=None, order_information=None, invoice_history=None):
+ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, customer_information=None, processing_information=None, invoice_information=None, order_information=None, invoice_history=None):
"""
InvoicingV2InvoicesGet200Response - a model defined in Swagger
"""
@@ -61,6 +63,7 @@ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, custo
self._submit_time_utc = None
self._status = None
self._customer_information = None
+ self._processing_information = None
self._invoice_information = None
self._order_information = None
self._invoice_history = None
@@ -75,6 +78,8 @@ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, custo
self.status = status
if customer_information is not None:
self.customer_information = customer_information
+ if processing_information is not None:
+ self.processing_information = processing_information
if invoice_information is not None:
self.invoice_information = invoice_information
if order_information is not None:
@@ -193,6 +198,27 @@ def customer_information(self, customer_information):
self._customer_information = customer_information
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this InvoicingV2InvoicesGet200Response.
+
+ :return: The processing_information of this InvoicingV2InvoicesGet200Response.
+ :rtype: Invoicingv2invoicesProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this InvoicingV2InvoicesGet200Response.
+
+ :param processing_information: The processing_information of this InvoicingV2InvoicesGet200Response.
+ :type: Invoicingv2invoicesProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
@property
def invoice_information(self):
"""
diff --git a/CyberSource/models/invoicing_v2_invoices_get200_response_invoice_history.py b/CyberSource/models/invoicing_v2_invoices_get200_response_invoice_history.py
index b65b8ccd..b2a27efc 100644
--- a/CyberSource/models/invoicing_v2_invoices_get200_response_invoice_history.py
+++ b/CyberSource/models/invoicing_v2_invoices_get200_response_invoice_history.py
@@ -61,7 +61,7 @@ def __init__(self, event=None, _date=None, transaction_details=None):
def event(self):
"""
Gets the event of this InvoicingV2InvoicesGet200ResponseInvoiceHistory.
- The event triggered for the invoice. Possible values: - `CREATE` - `UPDATE` - `SEND` - `RESEND` - `REMINDER` - `PAYMENT` - `CANCEL`
+ The event triggered for the invoice. Possible values: - `UNKNOWN` - `DRAFT` - `CREATE` - `UPDATE` - `SEND` - `RESEND` - `REMINDER` - `PAYMENT` - `CANCEL` - `PENDING` - `REJECTED`
:return: The event of this InvoicingV2InvoicesGet200ResponseInvoiceHistory.
:rtype: str
@@ -72,7 +72,7 @@ def event(self):
def event(self, event):
"""
Sets the event of this InvoicingV2InvoicesGet200ResponseInvoiceHistory.
- The event triggered for the invoice. Possible values: - `CREATE` - `UPDATE` - `SEND` - `RESEND` - `REMINDER` - `PAYMENT` - `CANCEL`
+ The event triggered for the invoice. Possible values: - `UNKNOWN` - `DRAFT` - `CREATE` - `UPDATE` - `SEND` - `RESEND` - `REMINDER` - `PAYMENT` - `CANCEL` - `PENDING` - `REJECTED`
:param event: The event of this InvoicingV2InvoicesGet200ResponseInvoiceHistory.
:type: str
diff --git a/CyberSource/models/invoicing_v2_invoices_get200_response_transaction_details.py b/CyberSource/models/invoicing_v2_invoices_get200_response_transaction_details.py
index fc2c2be4..44a93ceb 100644
--- a/CyberSource/models/invoicing_v2_invoices_get200_response_transaction_details.py
+++ b/CyberSource/models/invoicing_v2_invoices_get200_response_transaction_details.py
@@ -79,7 +79,7 @@ def transaction_id(self, transaction_id):
def amount(self):
"""
Gets the amount of this InvoicingV2InvoicesGet200ResponseTransactionDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The amount of this InvoicingV2InvoicesGet200ResponseTransactionDetails.
:rtype: str
@@ -90,7 +90,7 @@ def amount(self):
def amount(self, amount):
"""
Sets the amount of this InvoicingV2InvoicesGet200ResponseTransactionDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param amount: The amount of this InvoicingV2InvoicesGet200ResponseTransactionDetails.
:type: str
diff --git a/CyberSource/models/invoicing_v2_invoices_post201_response.py b/CyberSource/models/invoicing_v2_invoices_post201_response.py
index 714ebea0..776c4f52 100644
--- a/CyberSource/models/invoicing_v2_invoices_post201_response.py
+++ b/CyberSource/models/invoicing_v2_invoices_post201_response.py
@@ -35,6 +35,7 @@ class InvoicingV2InvoicesPost201Response(object):
'submit_time_utc': 'str',
'status': 'str',
'customer_information': 'Invoicingv2invoicesCustomerInformation',
+ 'processing_information': 'Invoicingv2invoicesProcessingInformation',
'invoice_information': 'InvoicingV2InvoicesPost201ResponseInvoiceInformation',
'order_information': 'InvoicingV2InvoicesPost201ResponseOrderInformation'
}
@@ -45,11 +46,12 @@ class InvoicingV2InvoicesPost201Response(object):
'submit_time_utc': 'submitTimeUtc',
'status': 'status',
'customer_information': 'customerInformation',
+ 'processing_information': 'processingInformation',
'invoice_information': 'invoiceInformation',
'order_information': 'orderInformation'
}
- def __init__(self, links=None, id=None, submit_time_utc=None, status=None, customer_information=None, invoice_information=None, order_information=None):
+ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, customer_information=None, processing_information=None, invoice_information=None, order_information=None):
"""
InvoicingV2InvoicesPost201Response - a model defined in Swagger
"""
@@ -59,6 +61,7 @@ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, custo
self._submit_time_utc = None
self._status = None
self._customer_information = None
+ self._processing_information = None
self._invoice_information = None
self._order_information = None
@@ -72,6 +75,8 @@ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, custo
self.status = status
if customer_information is not None:
self.customer_information = customer_information
+ if processing_information is not None:
+ self.processing_information = processing_information
if invoice_information is not None:
self.invoice_information = invoice_information
if order_information is not None:
@@ -188,6 +193,27 @@ def customer_information(self, customer_information):
self._customer_information = customer_information
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this InvoicingV2InvoicesPost201Response.
+
+ :return: The processing_information of this InvoicingV2InvoicesPost201Response.
+ :rtype: Invoicingv2invoicesProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this InvoicingV2InvoicesPost201Response.
+
+ :param processing_information: The processing_information of this InvoicingV2InvoicesPost201Response.
+ :type: Invoicingv2invoicesProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
@property
def invoice_information(self):
"""
diff --git a/CyberSource/models/invoicing_v2_invoices_post201_response_invoice_information.py b/CyberSource/models/invoicing_v2_invoices_post201_response_invoice_information.py
index 2c83141e..8038a302 100644
--- a/CyberSource/models/invoicing_v2_invoices_post201_response_invoice_information.py
+++ b/CyberSource/models/invoicing_v2_invoices_post201_response_invoice_information.py
@@ -33,6 +33,7 @@ class InvoicingV2InvoicesPost201ResponseInvoiceInformation(object):
'invoice_number': 'str',
'description': 'str',
'due_date': 'date',
+ 'expiration_date': 'date',
'allow_partial_payments': 'bool',
'payment_link': 'str',
'delivery_mode': 'str'
@@ -42,12 +43,13 @@ class InvoicingV2InvoicesPost201ResponseInvoiceInformation(object):
'invoice_number': 'invoiceNumber',
'description': 'description',
'due_date': 'dueDate',
+ 'expiration_date': 'expirationDate',
'allow_partial_payments': 'allowPartialPayments',
'payment_link': 'paymentLink',
'delivery_mode': 'deliveryMode'
}
- def __init__(self, invoice_number=None, description=None, due_date=None, allow_partial_payments=None, payment_link=None, delivery_mode=None):
+ def __init__(self, invoice_number=None, description=None, due_date=None, expiration_date=None, allow_partial_payments=False, payment_link=None, delivery_mode=None):
"""
InvoicingV2InvoicesPost201ResponseInvoiceInformation - a model defined in Swagger
"""
@@ -55,6 +57,7 @@ def __init__(self, invoice_number=None, description=None, due_date=None, allow_p
self._invoice_number = None
self._description = None
self._due_date = None
+ self._expiration_date = None
self._allow_partial_payments = None
self._payment_link = None
self._delivery_mode = None
@@ -65,6 +68,8 @@ def __init__(self, invoice_number=None, description=None, due_date=None, allow_p
self.description = description
if due_date is not None:
self.due_date = due_date
+ if expiration_date is not None:
+ self.expiration_date = expiration_date
if allow_partial_payments is not None:
self.allow_partial_payments = allow_partial_payments
if payment_link is not None:
@@ -141,6 +146,29 @@ def due_date(self, due_date):
self._due_date = due_date
+ @property
+ def expiration_date(self):
+ """
+ Gets the expiration_date of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :return: The expiration_date of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
+ :rtype: date
+ """
+ return self._expiration_date
+
+ @expiration_date.setter
+ def expiration_date(self, expiration_date):
+ """
+ Sets the expiration_date of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :param expiration_date: The expiration_date of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
+ :type: date
+ """
+
+ self._expiration_date = expiration_date
+
@property
def allow_partial_payments(self):
"""
@@ -191,7 +219,7 @@ def payment_link(self, payment_link):
def delivery_mode(self):
"""
Gets the delivery_mode of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
- If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email`
+ If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email`
:return: The delivery_mode of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
:rtype: str
@@ -202,7 +230,7 @@ def delivery_mode(self):
def delivery_mode(self, delivery_mode):
"""
Sets the delivery_mode of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
- If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email`
+ If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email`
:param delivery_mode: The delivery_mode of this InvoicingV2InvoicesPost201ResponseInvoiceInformation.
:type: str
diff --git a/CyberSource/models/invoicing_v2_invoices_post201_response_order_information.py b/CyberSource/models/invoicing_v2_invoices_post201_response_order_information.py
index 7c84b150..13d1fd8c 100644
--- a/CyberSource/models/invoicing_v2_invoices_post201_response_order_information.py
+++ b/CyberSource/models/invoicing_v2_invoices_post201_response_order_information.py
@@ -77,6 +77,7 @@ def amount_details(self, amount_details):
def line_items(self):
"""
Gets the line_items of this InvoicingV2InvoicesPost201ResponseOrderInformation.
+ List of the line items from the order.
:return: The line_items of this InvoicingV2InvoicesPost201ResponseOrderInformation.
:rtype: list[Invoicingv2invoicesOrderInformationLineItems]
@@ -87,6 +88,7 @@ def line_items(self):
def line_items(self, line_items):
"""
Sets the line_items of this InvoicingV2InvoicesPost201ResponseOrderInformation.
+ List of the line items from the order.
:param line_items: The line_items of this InvoicingV2InvoicesPost201ResponseOrderInformation.
:type: list[Invoicingv2invoicesOrderInformationLineItems]
diff --git a/CyberSource/models/invoicing_v2_invoices_post201_response_order_information_amount_details.py b/CyberSource/models/invoicing_v2_invoices_post201_response_order_information_amount_details.py
index 3f8cb7b8..4603ebf8 100644
--- a/CyberSource/models/invoicing_v2_invoices_post201_response_order_information_amount_details.py
+++ b/CyberSource/models/invoicing_v2_invoices_post201_response_order_information_amount_details.py
@@ -34,9 +34,9 @@ class InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails(object):
'currency': 'str',
'balance_amount': 'str',
'discount_amount': 'str',
- 'discount_percent': 'float',
- 'sub_amount': 'float',
- 'minimum_partial_amount': 'float',
+ 'discount_percent': 'str',
+ 'sub_amount': 'str',
+ 'minimum_partial_amount': 'str',
'tax_details': 'Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails',
'freight': 'Invoicingv2invoicesOrderInformationAmountDetailsFreight'
}
@@ -91,7 +91,7 @@ def __init__(self, total_amount=None, currency=None, balance_amount=None, discou
def total_amount(self):
"""
Gets the total_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
:rtype: str
@@ -102,7 +102,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
:type: str
@@ -183,10 +183,10 @@ def discount_amount(self, discount_amount):
def discount_percent(self):
"""
Gets the discount_percent of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- The total discount percentage applied to the invoice.
+ The total discount percentage applied to the order.
:return: The discount_percent of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- :rtype: float
+ :rtype: str
"""
return self._discount_percent
@@ -194,10 +194,10 @@ def discount_percent(self):
def discount_percent(self, discount_percent):
"""
Sets the discount_percent of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- The total discount percentage applied to the invoice.
+ The total discount percentage applied to the order.
:param discount_percent: The discount_percent of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- :type: float
+ :type: str
"""
self._discount_percent = discount_percent
@@ -206,10 +206,10 @@ def discount_percent(self, discount_percent):
def sub_amount(self):
"""
Gets the sub_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- Sub-amount of the invoice.
+ Sub-amount of the order.
:return: The sub_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- :rtype: float
+ :rtype: str
"""
return self._sub_amount
@@ -217,10 +217,10 @@ def sub_amount(self):
def sub_amount(self, sub_amount):
"""
Sets the sub_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- Sub-amount of the invoice.
+ Sub-amount of the order.
:param sub_amount: The sub_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- :type: float
+ :type: str
"""
self._sub_amount = sub_amount
@@ -232,7 +232,7 @@ def minimum_partial_amount(self):
The minimum partial amount required to pay the invoice.
:return: The minimum_partial_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- :rtype: float
+ :rtype: str
"""
return self._minimum_partial_amount
@@ -243,7 +243,7 @@ def minimum_partial_amount(self, minimum_partial_amount):
The minimum partial amount required to pay the invoice.
:param minimum_partial_amount: The minimum_partial_amount of this InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.
- :type: float
+ :type: str
"""
self._minimum_partial_amount = minimum_partial_amount
diff --git a/CyberSource/models/invoicing_v2_invoices_put200_response.py b/CyberSource/models/invoicing_v2_invoices_put200_response.py
new file mode 100644
index 00000000..f0c26301
--- /dev/null
+++ b/CyberSource/models/invoicing_v2_invoices_put200_response.py
@@ -0,0 +1,310 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InvoicingV2InvoicesPut200Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'InvoicingV2InvoicesAllGet200ResponseLinks',
+ 'id': 'str',
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'customer_information': 'Invoicingv2invoicesCustomerInformation',
+ 'processing_information': 'Invoicingv2invoicesProcessingInformation',
+ 'invoice_information': 'InvoicingV2InvoicesPost201ResponseInvoiceInformation',
+ 'order_information': 'InvoicingV2InvoicesPost201ResponseOrderInformation'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'id': 'id',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'customer_information': 'customerInformation',
+ 'processing_information': 'processingInformation',
+ 'invoice_information': 'invoiceInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, customer_information=None, processing_information=None, invoice_information=None, order_information=None):
+ """
+ InvoicingV2InvoicesPut200Response - a model defined in Swagger
+ """
+
+ self._links = None
+ self._id = None
+ self._submit_time_utc = None
+ self._status = None
+ self._customer_information = None
+ self._processing_information = None
+ self._invoice_information = None
+ self._order_information = None
+
+ if links is not None:
+ self.links = links
+ if id is not None:
+ self.id = id
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if customer_information is not None:
+ self.customer_information = customer_information
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if invoice_information is not None:
+ self.invoice_information = invoice_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def links(self):
+ """
+ Gets the links of this InvoicingV2InvoicesPut200Response.
+
+ :return: The links of this InvoicingV2InvoicesPut200Response.
+ :rtype: InvoicingV2InvoicesAllGet200ResponseLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this InvoicingV2InvoicesPut200Response.
+
+ :param links: The links of this InvoicingV2InvoicesPut200Response.
+ :type: InvoicingV2InvoicesAllGet200ResponseLinks
+ """
+
+ self._links = links
+
+ @property
+ def id(self):
+ """
+ Gets the id of this InvoicingV2InvoicesPut200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :return: The id of this InvoicingV2InvoicesPut200Response.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this InvoicingV2InvoicesPut200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :param id: The id of this InvoicingV2InvoicesPut200Response.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this InvoicingV2InvoicesPut200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this InvoicingV2InvoicesPut200Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this InvoicingV2InvoicesPut200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this InvoicingV2InvoicesPut200Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this InvoicingV2InvoicesPut200Response.
+ The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+
+ :return: The status of this InvoicingV2InvoicesPut200Response.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this InvoicingV2InvoicesPut200Response.
+ The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+
+ :param status: The status of this InvoicingV2InvoicesPut200Response.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def customer_information(self):
+ """
+ Gets the customer_information of this InvoicingV2InvoicesPut200Response.
+
+ :return: The customer_information of this InvoicingV2InvoicesPut200Response.
+ :rtype: Invoicingv2invoicesCustomerInformation
+ """
+ return self._customer_information
+
+ @customer_information.setter
+ def customer_information(self, customer_information):
+ """
+ Sets the customer_information of this InvoicingV2InvoicesPut200Response.
+
+ :param customer_information: The customer_information of this InvoicingV2InvoicesPut200Response.
+ :type: Invoicingv2invoicesCustomerInformation
+ """
+
+ self._customer_information = customer_information
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this InvoicingV2InvoicesPut200Response.
+
+ :return: The processing_information of this InvoicingV2InvoicesPut200Response.
+ :rtype: Invoicingv2invoicesProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this InvoicingV2InvoicesPut200Response.
+
+ :param processing_information: The processing_information of this InvoicingV2InvoicesPut200Response.
+ :type: Invoicingv2invoicesProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def invoice_information(self):
+ """
+ Gets the invoice_information of this InvoicingV2InvoicesPut200Response.
+
+ :return: The invoice_information of this InvoicingV2InvoicesPut200Response.
+ :rtype: InvoicingV2InvoicesPost201ResponseInvoiceInformation
+ """
+ return self._invoice_information
+
+ @invoice_information.setter
+ def invoice_information(self, invoice_information):
+ """
+ Sets the invoice_information of this InvoicingV2InvoicesPut200Response.
+
+ :param invoice_information: The invoice_information of this InvoicingV2InvoicesPut200Response.
+ :type: InvoicingV2InvoicesPost201ResponseInvoiceInformation
+ """
+
+ self._invoice_information = invoice_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this InvoicingV2InvoicesPut200Response.
+
+ :return: The order_information of this InvoicingV2InvoicesPut200Response.
+ :rtype: InvoicingV2InvoicesPost201ResponseOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this InvoicingV2InvoicesPut200Response.
+
+ :param order_information: The order_information of this InvoicingV2InvoicesPut200Response.
+ :type: InvoicingV2InvoicesPost201ResponseOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InvoicingV2InvoicesPut200Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/invoicing_v2_invoices_send200_response.py b/CyberSource/models/invoicing_v2_invoices_send200_response.py
new file mode 100644
index 00000000..cc3084c4
--- /dev/null
+++ b/CyberSource/models/invoicing_v2_invoices_send200_response.py
@@ -0,0 +1,310 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class InvoicingV2InvoicesSend200Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'InvoicingV2InvoicesAllGet200ResponseLinks',
+ 'id': 'str',
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'customer_information': 'Invoicingv2invoicesCustomerInformation',
+ 'processing_information': 'Invoicingv2invoicesProcessingInformation',
+ 'invoice_information': 'InvoicingV2InvoicesPost201ResponseInvoiceInformation',
+ 'order_information': 'InvoicingV2InvoicesPost201ResponseOrderInformation'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'id': 'id',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'customer_information': 'customerInformation',
+ 'processing_information': 'processingInformation',
+ 'invoice_information': 'invoiceInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, customer_information=None, processing_information=None, invoice_information=None, order_information=None):
+ """
+ InvoicingV2InvoicesSend200Response - a model defined in Swagger
+ """
+
+ self._links = None
+ self._id = None
+ self._submit_time_utc = None
+ self._status = None
+ self._customer_information = None
+ self._processing_information = None
+ self._invoice_information = None
+ self._order_information = None
+
+ if links is not None:
+ self.links = links
+ if id is not None:
+ self.id = id
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if customer_information is not None:
+ self.customer_information = customer_information
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if invoice_information is not None:
+ self.invoice_information = invoice_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def links(self):
+ """
+ Gets the links of this InvoicingV2InvoicesSend200Response.
+
+ :return: The links of this InvoicingV2InvoicesSend200Response.
+ :rtype: InvoicingV2InvoicesAllGet200ResponseLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this InvoicingV2InvoicesSend200Response.
+
+ :param links: The links of this InvoicingV2InvoicesSend200Response.
+ :type: InvoicingV2InvoicesAllGet200ResponseLinks
+ """
+
+ self._links = links
+
+ @property
+ def id(self):
+ """
+ Gets the id of this InvoicingV2InvoicesSend200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :return: The id of this InvoicingV2InvoicesSend200Response.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this InvoicingV2InvoicesSend200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :param id: The id of this InvoicingV2InvoicesSend200Response.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this InvoicingV2InvoicesSend200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this InvoicingV2InvoicesSend200Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this InvoicingV2InvoicesSend200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this InvoicingV2InvoicesSend200Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this InvoicingV2InvoicesSend200Response.
+ The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+
+ :return: The status of this InvoicingV2InvoicesSend200Response.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this InvoicingV2InvoicesSend200Response.
+ The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING
+
+ :param status: The status of this InvoicingV2InvoicesSend200Response.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def customer_information(self):
+ """
+ Gets the customer_information of this InvoicingV2InvoicesSend200Response.
+
+ :return: The customer_information of this InvoicingV2InvoicesSend200Response.
+ :rtype: Invoicingv2invoicesCustomerInformation
+ """
+ return self._customer_information
+
+ @customer_information.setter
+ def customer_information(self, customer_information):
+ """
+ Sets the customer_information of this InvoicingV2InvoicesSend200Response.
+
+ :param customer_information: The customer_information of this InvoicingV2InvoicesSend200Response.
+ :type: Invoicingv2invoicesCustomerInformation
+ """
+
+ self._customer_information = customer_information
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this InvoicingV2InvoicesSend200Response.
+
+ :return: The processing_information of this InvoicingV2InvoicesSend200Response.
+ :rtype: Invoicingv2invoicesProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this InvoicingV2InvoicesSend200Response.
+
+ :param processing_information: The processing_information of this InvoicingV2InvoicesSend200Response.
+ :type: Invoicingv2invoicesProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def invoice_information(self):
+ """
+ Gets the invoice_information of this InvoicingV2InvoicesSend200Response.
+
+ :return: The invoice_information of this InvoicingV2InvoicesSend200Response.
+ :rtype: InvoicingV2InvoicesPost201ResponseInvoiceInformation
+ """
+ return self._invoice_information
+
+ @invoice_information.setter
+ def invoice_information(self, invoice_information):
+ """
+ Sets the invoice_information of this InvoicingV2InvoicesSend200Response.
+
+ :param invoice_information: The invoice_information of this InvoicingV2InvoicesSend200Response.
+ :type: InvoicingV2InvoicesPost201ResponseInvoiceInformation
+ """
+
+ self._invoice_information = invoice_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this InvoicingV2InvoicesSend200Response.
+
+ :return: The order_information of this InvoicingV2InvoicesSend200Response.
+ :rtype: InvoicingV2InvoicesPost201ResponseOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this InvoicingV2InvoicesSend200Response.
+
+ :param order_information: The order_information of this InvoicingV2InvoicesSend200Response.
+ :type: InvoicingV2InvoicesPost201ResponseOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, InvoicingV2InvoicesSend200Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/invoicingv2invoice_settings_invoice_settings_information.py b/CyberSource/models/invoicingv2invoice_settings_invoice_settings_information.py
index d2e9c13d..5f3eeca9 100644
--- a/CyberSource/models/invoicingv2invoice_settings_invoice_settings_information.py
+++ b/CyberSource/models/invoicingv2invoice_settings_invoice_settings_information.py
@@ -39,7 +39,11 @@ class Invoicingv2invoiceSettingsInvoiceSettingsInformation(object):
'default_currency_code': 'str',
'payer_authentication_in_invoicing': 'str',
'show_vat_number': 'bool',
- 'vat_registration_number': 'str'
+ 'vat_registration_number': 'str',
+ 'ship_to': 'bool',
+ 'phone_number': 'bool',
+ 'email': 'bool',
+ 'enable_merchant_email_notifications': 'bool'
}
attribute_map = {
@@ -52,10 +56,14 @@ class Invoicingv2invoiceSettingsInvoiceSettingsInformation(object):
'default_currency_code': 'defaultCurrencyCode',
'payer_authentication_in_invoicing': 'payerAuthenticationInInvoicing',
'show_vat_number': 'showVatNumber',
- 'vat_registration_number': 'vatRegistrationNumber'
+ 'vat_registration_number': 'vatRegistrationNumber',
+ 'ship_to': 'shipTo',
+ 'phone_number': 'phoneNumber',
+ 'email': 'email',
+ 'enable_merchant_email_notifications': 'enableMerchantEmailNotifications'
}
- def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_message=None, enable_reminders=None, header_style=None, delivery_language=None, default_currency_code=None, payer_authentication_in_invoicing=None, show_vat_number=False, vat_registration_number=None):
+ def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_message=None, enable_reminders=None, header_style=None, delivery_language=None, default_currency_code=None, payer_authentication_in_invoicing=None, show_vat_number=False, vat_registration_number=None, ship_to=False, phone_number=False, email=False, enable_merchant_email_notifications=False):
"""
Invoicingv2invoiceSettingsInvoiceSettingsInformation - a model defined in Swagger
"""
@@ -70,6 +78,10 @@ def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_
self._payer_authentication_in_invoicing = None
self._show_vat_number = None
self._vat_registration_number = None
+ self._ship_to = None
+ self._phone_number = None
+ self._email = None
+ self._enable_merchant_email_notifications = None
if merchant_logo is not None:
self.merchant_logo = merchant_logo
@@ -91,6 +103,14 @@ def __init__(self, merchant_logo=None, merchant_display_name=None, custom_email_
self.show_vat_number = show_vat_number
if vat_registration_number is not None:
self.vat_registration_number = vat_registration_number
+ if ship_to is not None:
+ self.ship_to = ship_to
+ if phone_number is not None:
+ self.phone_number = phone_number
+ if email is not None:
+ self.email = email
+ if enable_merchant_email_notifications is not None:
+ self.enable_merchant_email_notifications = enable_merchant_email_notifications
@property
def merchant_logo(self):
@@ -320,6 +340,98 @@ def vat_registration_number(self, vat_registration_number):
self._vat_registration_number = vat_registration_number
+ @property
+ def ship_to(self):
+ """
+ Gets the ship_to of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Collect the payers shipping address.
+
+ :return: The ship_to of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._ship_to
+
+ @ship_to.setter
+ def ship_to(self, ship_to):
+ """
+ Sets the ship_to of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Collect the payers shipping address.
+
+ :param ship_to: The ship_to of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._ship_to = ship_to
+
+ @property
+ def phone_number(self):
+ """
+ Gets the phone_number of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Collect the payers phone number.
+
+ :return: The phone_number of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._phone_number
+
+ @phone_number.setter
+ def phone_number(self, phone_number):
+ """
+ Sets the phone_number of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Collect the payers phone number.
+
+ :param phone_number: The phone_number of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._phone_number = phone_number
+
+ @property
+ def email(self):
+ """
+ Gets the email of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.
+
+ :return: The email of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._email
+
+ @email.setter
+ def email(self, email):
+ """
+ Sets the email of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.
+
+ :param email: The email of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._email = email
+
+ @property
+ def enable_merchant_email_notifications(self):
+ """
+ Gets the enable_merchant_email_notifications of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Whether you would like to receive payment notification for successful transaction
+
+ :return: The enable_merchant_email_notifications of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :rtype: bool
+ """
+ return self._enable_merchant_email_notifications
+
+ @enable_merchant_email_notifications.setter
+ def enable_merchant_email_notifications(self, enable_merchant_email_notifications):
+ """
+ Sets the enable_merchant_email_notifications of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ Whether you would like to receive payment notification for successful transaction
+
+ :param enable_merchant_email_notifications: The enable_merchant_email_notifications of this Invoicingv2invoiceSettingsInvoiceSettingsInformation.
+ :type: bool
+ """
+
+ self._enable_merchant_email_notifications = enable_merchant_email_notifications
+
def to_dict(self):
"""
Returns the model properties as a dict
diff --git a/CyberSource/models/invoicingv2invoices_client_reference_information.py b/CyberSource/models/invoicingv2invoices_client_reference_information.py
new file mode 100644
index 00000000..aa1a4eaf
--- /dev/null
+++ b/CyberSource/models/invoicingv2invoices_client_reference_information.py
@@ -0,0 +1,122 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Invoicingv2invoicesClientReferenceInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'partner': 'Invoicingv2invoicesClientReferenceInformationPartner'
+ }
+
+ attribute_map = {
+ 'partner': 'partner'
+ }
+
+ def __init__(self, partner=None):
+ """
+ Invoicingv2invoicesClientReferenceInformation - a model defined in Swagger
+ """
+
+ self._partner = None
+
+ if partner is not None:
+ self.partner = partner
+
+ @property
+ def partner(self):
+ """
+ Gets the partner of this Invoicingv2invoicesClientReferenceInformation.
+
+ :return: The partner of this Invoicingv2invoicesClientReferenceInformation.
+ :rtype: Invoicingv2invoicesClientReferenceInformationPartner
+ """
+ return self._partner
+
+ @partner.setter
+ def partner(self, partner):
+ """
+ Sets the partner of this Invoicingv2invoicesClientReferenceInformation.
+
+ :param partner: The partner of this Invoicingv2invoicesClientReferenceInformation.
+ :type: Invoicingv2invoicesClientReferenceInformationPartner
+ """
+
+ self._partner = partner
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Invoicingv2invoicesClientReferenceInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/invoicingv2invoices_client_reference_information_partner.py b/CyberSource/models/invoicingv2invoices_client_reference_information_partner.py
new file mode 100644
index 00000000..aa212731
--- /dev/null
+++ b/CyberSource/models/invoicingv2invoices_client_reference_information_partner.py
@@ -0,0 +1,152 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Invoicingv2invoicesClientReferenceInformationPartner(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'developer_id': 'str',
+ 'solution_id': 'str'
+ }
+
+ attribute_map = {
+ 'developer_id': 'developerId',
+ 'solution_id': 'solutionId'
+ }
+
+ def __init__(self, developer_id=None, solution_id=None):
+ """
+ Invoicingv2invoicesClientReferenceInformationPartner - a model defined in Swagger
+ """
+
+ self._developer_id = None
+ self._solution_id = None
+
+ if developer_id is not None:
+ self.developer_id = developer_id
+ if solution_id is not None:
+ self.solution_id = solution_id
+
+ @property
+ def developer_id(self):
+ """
+ Gets the developer_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer. **Note** A developerId set to 999 means the submitted developer ID is incorrect.
+
+ :return: The developer_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ :rtype: str
+ """
+ return self._developer_id
+
+ @developer_id.setter
+ def developer_id(self, developer_id):
+ """
+ Sets the developer_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer. **Note** A developerId set to 999 means the submitted developer ID is incorrect.
+
+ :param developer_id: The developer_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ :type: str
+ """
+
+ self._developer_id = developer_id
+
+ @property
+ def solution_id(self):
+ """
+ Gets the solution_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner. **Note** A solutionId set to 999 means the submitted solutionId is incorrect.
+
+ :return: The solution_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ :rtype: str
+ """
+ return self._solution_id
+
+ @solution_id.setter
+ def solution_id(self, solution_id):
+ """
+ Sets the solution_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner. **Note** A solutionId set to 999 means the submitted solutionId is incorrect.
+
+ :param solution_id: The solution_id of this Invoicingv2invoicesClientReferenceInformationPartner.
+ :type: str
+ """
+
+ self._solution_id = solution_id
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Invoicingv2invoicesClientReferenceInformationPartner):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/invoicingv2invoices_invoice_information.py b/CyberSource/models/invoicingv2invoices_invoice_information.py
index c7affcea..3af35c79 100644
--- a/CyberSource/models/invoicingv2invoices_invoice_information.py
+++ b/CyberSource/models/invoicingv2invoices_invoice_information.py
@@ -33,6 +33,7 @@ class Invoicingv2invoicesInvoiceInformation(object):
'invoice_number': 'str',
'description': 'str',
'due_date': 'date',
+ 'expiration_date': 'date',
'send_immediately': 'bool',
'allow_partial_payments': 'bool',
'delivery_mode': 'str'
@@ -42,12 +43,13 @@ class Invoicingv2invoicesInvoiceInformation(object):
'invoice_number': 'invoiceNumber',
'description': 'description',
'due_date': 'dueDate',
+ 'expiration_date': 'expirationDate',
'send_immediately': 'sendImmediately',
'allow_partial_payments': 'allowPartialPayments',
'delivery_mode': 'deliveryMode'
}
- def __init__(self, invoice_number=None, description=None, due_date=None, send_immediately=None, allow_partial_payments=None, delivery_mode=None):
+ def __init__(self, invoice_number=None, description=None, due_date=None, expiration_date=None, send_immediately=False, allow_partial_payments=False, delivery_mode=None):
"""
Invoicingv2invoicesInvoiceInformation - a model defined in Swagger
"""
@@ -55,16 +57,17 @@ def __init__(self, invoice_number=None, description=None, due_date=None, send_im
self._invoice_number = None
self._description = None
self._due_date = None
+ self._expiration_date = None
self._send_immediately = None
self._allow_partial_payments = None
self._delivery_mode = None
if invoice_number is not None:
self.invoice_number = invoice_number
- if description is not None:
- self.description = description
- if due_date is not None:
- self.due_date = due_date
+ self.description = description
+ self.due_date = due_date
+ if expiration_date is not None:
+ self.expiration_date = expiration_date
if send_immediately is not None:
self.send_immediately = send_immediately
if allow_partial_payments is not None:
@@ -141,6 +144,29 @@ def due_date(self, due_date):
self._due_date = due_date
+ @property
+ def expiration_date(self):
+ """
+ Gets the expiration_date of this Invoicingv2invoicesInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :return: The expiration_date of this Invoicingv2invoicesInvoiceInformation.
+ :rtype: date
+ """
+ return self._expiration_date
+
+ @expiration_date.setter
+ def expiration_date(self, expiration_date):
+ """
+ Sets the expiration_date of this Invoicingv2invoicesInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :param expiration_date: The expiration_date of this Invoicingv2invoicesInvoiceInformation.
+ :type: date
+ """
+
+ self._expiration_date = expiration_date
+
@property
def send_immediately(self):
"""
@@ -191,7 +217,7 @@ def allow_partial_payments(self, allow_partial_payments):
def delivery_mode(self):
"""
Gets the delivery_mode of this Invoicingv2invoicesInvoiceInformation.
- If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email`
+ If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email`
:return: The delivery_mode of this Invoicingv2invoicesInvoiceInformation.
:rtype: str
@@ -202,7 +228,7 @@ def delivery_mode(self):
def delivery_mode(self, delivery_mode):
"""
Sets the delivery_mode of this Invoicingv2invoicesInvoiceInformation.
- If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email`
+ If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email`
:param delivery_mode: The delivery_mode of this Invoicingv2invoicesInvoiceInformation.
:type: str
diff --git a/CyberSource/models/invoicingv2invoices_order_information.py b/CyberSource/models/invoicingv2invoices_order_information.py
index 4dd38d8a..121cf78a 100644
--- a/CyberSource/models/invoicingv2invoices_order_information.py
+++ b/CyberSource/models/invoicingv2invoices_order_information.py
@@ -47,8 +47,7 @@ def __init__(self, amount_details=None, line_items=None):
self._amount_details = None
self._line_items = None
- if amount_details is not None:
- self.amount_details = amount_details
+ self.amount_details = amount_details
if line_items is not None:
self.line_items = line_items
@@ -77,6 +76,7 @@ def amount_details(self, amount_details):
def line_items(self):
"""
Gets the line_items of this Invoicingv2invoicesOrderInformation.
+ List of the line items from the order.
:return: The line_items of this Invoicingv2invoicesOrderInformation.
:rtype: list[Invoicingv2invoicesOrderInformationLineItems]
@@ -87,6 +87,7 @@ def line_items(self):
def line_items(self, line_items):
"""
Sets the line_items of this Invoicingv2invoicesOrderInformation.
+ List of the line items from the order.
:param line_items: The line_items of this Invoicingv2invoicesOrderInformation.
:type: list[Invoicingv2invoicesOrderInformationLineItems]
diff --git a/CyberSource/models/invoicingv2invoices_order_information_amount_details.py b/CyberSource/models/invoicingv2invoices_order_information_amount_details.py
index 130d1262..3947da7b 100644
--- a/CyberSource/models/invoicingv2invoices_order_information_amount_details.py
+++ b/CyberSource/models/invoicingv2invoices_order_information_amount_details.py
@@ -33,9 +33,9 @@ class Invoicingv2invoicesOrderInformationAmountDetails(object):
'total_amount': 'str',
'currency': 'str',
'discount_amount': 'str',
- 'discount_percent': 'float',
- 'sub_amount': 'float',
- 'minimum_partial_amount': 'float',
+ 'discount_percent': 'str',
+ 'sub_amount': 'str',
+ 'minimum_partial_amount': 'str',
'tax_details': 'Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails',
'freight': 'Invoicingv2invoicesOrderInformationAmountDetailsFreight'
}
@@ -65,10 +65,8 @@ def __init__(self, total_amount=None, currency=None, discount_amount=None, disco
self._tax_details = None
self._freight = None
- if total_amount is not None:
- self.total_amount = total_amount
- if currency is not None:
- self.currency = currency
+ self.total_amount = total_amount
+ self.currency = currency
if discount_amount is not None:
self.discount_amount = discount_amount
if discount_percent is not None:
@@ -86,7 +84,7 @@ def __init__(self, total_amount=None, currency=None, discount_amount=None, disco
def total_amount(self):
"""
Gets the total_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
:rtype: str
@@ -97,7 +95,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
:type: str
@@ -155,10 +153,10 @@ def discount_amount(self, discount_amount):
def discount_percent(self):
"""
Gets the discount_percent of this Invoicingv2invoicesOrderInformationAmountDetails.
- The total discount percentage applied to the invoice.
+ The total discount percentage applied to the order.
:return: The discount_percent of this Invoicingv2invoicesOrderInformationAmountDetails.
- :rtype: float
+ :rtype: str
"""
return self._discount_percent
@@ -166,10 +164,10 @@ def discount_percent(self):
def discount_percent(self, discount_percent):
"""
Sets the discount_percent of this Invoicingv2invoicesOrderInformationAmountDetails.
- The total discount percentage applied to the invoice.
+ The total discount percentage applied to the order.
:param discount_percent: The discount_percent of this Invoicingv2invoicesOrderInformationAmountDetails.
- :type: float
+ :type: str
"""
self._discount_percent = discount_percent
@@ -178,10 +176,10 @@ def discount_percent(self, discount_percent):
def sub_amount(self):
"""
Gets the sub_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- Sub-amount of the invoice.
+ Sub-amount of the order.
:return: The sub_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- :rtype: float
+ :rtype: str
"""
return self._sub_amount
@@ -189,10 +187,10 @@ def sub_amount(self):
def sub_amount(self, sub_amount):
"""
Sets the sub_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- Sub-amount of the invoice.
+ Sub-amount of the order.
:param sub_amount: The sub_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- :type: float
+ :type: str
"""
self._sub_amount = sub_amount
@@ -204,7 +202,7 @@ def minimum_partial_amount(self):
The minimum partial amount required to pay the invoice.
:return: The minimum_partial_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- :rtype: float
+ :rtype: str
"""
return self._minimum_partial_amount
@@ -215,7 +213,7 @@ def minimum_partial_amount(self, minimum_partial_amount):
The minimum partial amount required to pay the invoice.
:param minimum_partial_amount: The minimum_partial_amount of this Invoicingv2invoicesOrderInformationAmountDetails.
- :type: float
+ :type: str
"""
self._minimum_partial_amount = minimum_partial_amount
diff --git a/CyberSource/models/invoicingv2invoices_order_information_line_items.py b/CyberSource/models/invoicingv2invoices_order_information_line_items.py
index db588196..d1b2b79f 100644
--- a/CyberSource/models/invoicingv2invoices_order_information_line_items.py
+++ b/CyberSource/models/invoicingv2invoices_order_information_line_items.py
@@ -35,7 +35,7 @@ class Invoicingv2invoicesOrderInformationLineItems(object):
'quantity': 'int',
'unit_price': 'str',
'discount_amount': 'str',
- 'discount_rate': 'str',
+ 'discount_percent': 'str',
'tax_amount': 'str',
'tax_rate': 'str',
'total_amount': 'str'
@@ -47,13 +47,13 @@ class Invoicingv2invoicesOrderInformationLineItems(object):
'quantity': 'quantity',
'unit_price': 'unitPrice',
'discount_amount': 'discountAmount',
- 'discount_rate': 'discountRate',
+ 'discount_percent': 'discountPercent',
'tax_amount': 'taxAmount',
'tax_rate': 'taxRate',
'total_amount': 'totalAmount'
}
- def __init__(self, product_sku=None, product_name=None, quantity=None, unit_price=None, discount_amount=None, discount_rate=None, tax_amount=None, tax_rate=None, total_amount=None):
+ def __init__(self, product_sku=None, product_name=None, quantity=None, unit_price=None, discount_amount=None, discount_percent=None, tax_amount=None, tax_rate=None, total_amount=None):
"""
Invoicingv2invoicesOrderInformationLineItems - a model defined in Swagger
"""
@@ -63,7 +63,7 @@ def __init__(self, product_sku=None, product_name=None, quantity=None, unit_pric
self._quantity = None
self._unit_price = None
self._discount_amount = None
- self._discount_rate = None
+ self._discount_percent = None
self._tax_amount = None
self._tax_rate = None
self._total_amount = None
@@ -78,8 +78,8 @@ def __init__(self, product_sku=None, product_name=None, quantity=None, unit_pric
self.unit_price = unit_price
if discount_amount is not None:
self.discount_amount = discount_amount
- if discount_rate is not None:
- self.discount_rate = discount_rate
+ if discount_percent is not None:
+ self.discount_percent = discount_percent
if tax_amount is not None:
self.tax_amount = tax_amount
if tax_rate is not None:
@@ -203,27 +203,27 @@ def discount_amount(self, discount_amount):
self._discount_amount = discount_amount
@property
- def discount_rate(self):
+ def discount_percent(self):
"""
- Gets the discount_rate of this Invoicingv2invoicesOrderInformationLineItems.
+ Gets the discount_percent of this Invoicingv2invoicesOrderInformationLineItems.
Rate the item is discounted. Maximum of 2 decimal places. Example 5.25 (=5.25%)
- :return: The discount_rate of this Invoicingv2invoicesOrderInformationLineItems.
+ :return: The discount_percent of this Invoicingv2invoicesOrderInformationLineItems.
:rtype: str
"""
- return self._discount_rate
+ return self._discount_percent
- @discount_rate.setter
- def discount_rate(self, discount_rate):
+ @discount_percent.setter
+ def discount_percent(self, discount_percent):
"""
- Sets the discount_rate of this Invoicingv2invoicesOrderInformationLineItems.
+ Sets the discount_percent of this Invoicingv2invoicesOrderInformationLineItems.
Rate the item is discounted. Maximum of 2 decimal places. Example 5.25 (=5.25%)
- :param discount_rate: The discount_rate of this Invoicingv2invoicesOrderInformationLineItems.
+ :param discount_percent: The discount_percent of this Invoicingv2invoicesOrderInformationLineItems.
:type: str
"""
- self._discount_rate = discount_rate
+ self._discount_percent = discount_percent
@property
def tax_amount(self):
@@ -252,7 +252,7 @@ def tax_amount(self, tax_amount):
def tax_rate(self):
"""
Gets the tax_rate of this Invoicingv2invoicesOrderInformationLineItems.
- Tax rate applied to the item. **Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional decimal places will be truncated). **Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).
+ Valid range: 1% to 99%, with only whole percentage values accepted; values with additional decimal places will be truncated For processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.
:return: The tax_rate of this Invoicingv2invoicesOrderInformationLineItems.
:rtype: str
@@ -263,7 +263,7 @@ def tax_rate(self):
def tax_rate(self, tax_rate):
"""
Sets the tax_rate of this Invoicingv2invoicesOrderInformationLineItems.
- Tax rate applied to the item. **Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional decimal places will be truncated). **Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).
+ Valid range: 1% to 99%, with only whole percentage values accepted; values with additional decimal places will be truncated For processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.
:param tax_rate: The tax_rate of this Invoicingv2invoicesOrderInformationLineItems.
:type: str
diff --git a/CyberSource/models/invoicingv2invoices_processing_information.py b/CyberSource/models/invoicingv2invoices_processing_information.py
new file mode 100644
index 00000000..94c47ba9
--- /dev/null
+++ b/CyberSource/models/invoicingv2invoices_processing_information.py
@@ -0,0 +1,152 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Invoicingv2invoicesProcessingInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'request_phone': 'bool',
+ 'request_shipping': 'bool'
+ }
+
+ attribute_map = {
+ 'request_phone': 'requestPhone',
+ 'request_shipping': 'requestShipping'
+ }
+
+ def __init__(self, request_phone=False, request_shipping=False):
+ """
+ Invoicingv2invoicesProcessingInformation - a model defined in Swagger
+ """
+
+ self._request_phone = None
+ self._request_shipping = None
+
+ if request_phone is not None:
+ self.request_phone = request_phone
+ if request_shipping is not None:
+ self.request_shipping = request_shipping
+
+ @property
+ def request_phone(self):
+ """
+ Gets the request_phone of this Invoicingv2invoicesProcessingInformation.
+ Collect the payers phone number during the payment.
+
+ :return: The request_phone of this Invoicingv2invoicesProcessingInformation.
+ :rtype: bool
+ """
+ return self._request_phone
+
+ @request_phone.setter
+ def request_phone(self, request_phone):
+ """
+ Sets the request_phone of this Invoicingv2invoicesProcessingInformation.
+ Collect the payers phone number during the payment.
+
+ :param request_phone: The request_phone of this Invoicingv2invoicesProcessingInformation.
+ :type: bool
+ """
+
+ self._request_phone = request_phone
+
+ @property
+ def request_shipping(self):
+ """
+ Gets the request_shipping of this Invoicingv2invoicesProcessingInformation.
+ Collect the payers shipping address during the payment.
+
+ :return: The request_shipping of this Invoicingv2invoicesProcessingInformation.
+ :rtype: bool
+ """
+ return self._request_shipping
+
+ @request_shipping.setter
+ def request_shipping(self, request_shipping):
+ """
+ Sets the request_shipping of this Invoicingv2invoicesProcessingInformation.
+ Collect the payers shipping address during the payment.
+
+ :param request_shipping: The request_shipping of this Invoicingv2invoicesProcessingInformation.
+ :type: bool
+ """
+
+ self._request_shipping = request_shipping
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Invoicingv2invoicesProcessingInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/invoicingv2invoicesid_invoice_information.py b/CyberSource/models/invoicingv2invoicesid_invoice_information.py
index 7389ab46..28214173 100644
--- a/CyberSource/models/invoicingv2invoicesid_invoice_information.py
+++ b/CyberSource/models/invoicingv2invoicesid_invoice_information.py
@@ -32,6 +32,8 @@ class Invoicingv2invoicesidInvoiceInformation(object):
swagger_types = {
'description': 'str',
'due_date': 'date',
+ 'expiration_date': 'date',
+ 'send_immediately': 'bool',
'allow_partial_payments': 'bool',
'delivery_mode': 'str'
}
@@ -39,24 +41,30 @@ class Invoicingv2invoicesidInvoiceInformation(object):
attribute_map = {
'description': 'description',
'due_date': 'dueDate',
+ 'expiration_date': 'expirationDate',
+ 'send_immediately': 'sendImmediately',
'allow_partial_payments': 'allowPartialPayments',
'delivery_mode': 'deliveryMode'
}
- def __init__(self, description=None, due_date=None, allow_partial_payments=None, delivery_mode=None):
+ def __init__(self, description=None, due_date=None, expiration_date=None, send_immediately=False, allow_partial_payments=False, delivery_mode=None):
"""
Invoicingv2invoicesidInvoiceInformation - a model defined in Swagger
"""
self._description = None
self._due_date = None
+ self._expiration_date = None
+ self._send_immediately = None
self._allow_partial_payments = None
self._delivery_mode = None
- if description is not None:
- self.description = description
- if due_date is not None:
- self.due_date = due_date
+ self.description = description
+ self.due_date = due_date
+ if expiration_date is not None:
+ self.expiration_date = expiration_date
+ if send_immediately is not None:
+ self.send_immediately = send_immediately
if allow_partial_payments is not None:
self.allow_partial_payments = allow_partial_payments
if delivery_mode is not None:
@@ -108,6 +116,52 @@ def due_date(self, due_date):
self._due_date = due_date
+ @property
+ def expiration_date(self):
+ """
+ Gets the expiration_date of this Invoicingv2invoicesidInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :return: The expiration_date of this Invoicingv2invoicesidInvoiceInformation.
+ :rtype: date
+ """
+ return self._expiration_date
+
+ @expiration_date.setter
+ def expiration_date(self, expiration_date):
+ """
+ Sets the expiration_date of this Invoicingv2invoicesidInvoiceInformation.
+ Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day
+
+ :param expiration_date: The expiration_date of this Invoicingv2invoicesidInvoiceInformation.
+ :type: date
+ """
+
+ self._expiration_date = expiration_date
+
+ @property
+ def send_immediately(self):
+ """
+ Gets the send_immediately of this Invoicingv2invoicesidInvoiceInformation.
+ If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.
+
+ :return: The send_immediately of this Invoicingv2invoicesidInvoiceInformation.
+ :rtype: bool
+ """
+ return self._send_immediately
+
+ @send_immediately.setter
+ def send_immediately(self, send_immediately):
+ """
+ Sets the send_immediately of this Invoicingv2invoicesidInvoiceInformation.
+ If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.
+
+ :param send_immediately: The send_immediately of this Invoicingv2invoicesidInvoiceInformation.
+ :type: bool
+ """
+
+ self._send_immediately = send_immediately
+
@property
def allow_partial_payments(self):
"""
@@ -135,7 +189,7 @@ def allow_partial_payments(self, allow_partial_payments):
def delivery_mode(self):
"""
Gets the delivery_mode of this Invoicingv2invoicesidInvoiceInformation.
- If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email`
+ If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email`
:return: The delivery_mode of this Invoicingv2invoicesidInvoiceInformation.
:rtype: str
@@ -146,7 +200,7 @@ def delivery_mode(self):
def delivery_mode(self, delivery_mode):
"""
Sets the delivery_mode of this Invoicingv2invoicesidInvoiceInformation.
- If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email`
+ If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email`
:param delivery_mode: The delivery_mode of this Invoicingv2invoicesidInvoiceInformation.
:type: str
diff --git a/CyberSource/models/iplv2paymentlinks_order_information.py b/CyberSource/models/iplv2paymentlinks_order_information.py
new file mode 100644
index 00000000..950ea131
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinks_order_information.py
@@ -0,0 +1,148 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksOrderInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'amount_details': 'Iplv2paymentlinksOrderInformationAmountDetails',
+ 'line_items': 'list[Iplv2paymentlinksOrderInformationLineItems]'
+ }
+
+ attribute_map = {
+ 'amount_details': 'amountDetails',
+ 'line_items': 'lineItems'
+ }
+
+ def __init__(self, amount_details=None, line_items=None):
+ """
+ Iplv2paymentlinksOrderInformation - a model defined in Swagger
+ """
+
+ self._amount_details = None
+ self._line_items = None
+
+ self.amount_details = amount_details
+ self.line_items = line_items
+
+ @property
+ def amount_details(self):
+ """
+ Gets the amount_details of this Iplv2paymentlinksOrderInformation.
+
+ :return: The amount_details of this Iplv2paymentlinksOrderInformation.
+ :rtype: Iplv2paymentlinksOrderInformationAmountDetails
+ """
+ return self._amount_details
+
+ @amount_details.setter
+ def amount_details(self, amount_details):
+ """
+ Sets the amount_details of this Iplv2paymentlinksOrderInformation.
+
+ :param amount_details: The amount_details of this Iplv2paymentlinksOrderInformation.
+ :type: Iplv2paymentlinksOrderInformationAmountDetails
+ """
+
+ self._amount_details = amount_details
+
+ @property
+ def line_items(self):
+ """
+ Gets the line_items of this Iplv2paymentlinksOrderInformation.
+ List of the line items from the order.
+
+ :return: The line_items of this Iplv2paymentlinksOrderInformation.
+ :rtype: list[Iplv2paymentlinksOrderInformationLineItems]
+ """
+ return self._line_items
+
+ @line_items.setter
+ def line_items(self, line_items):
+ """
+ Sets the line_items of this Iplv2paymentlinksOrderInformation.
+ List of the line items from the order.
+
+ :param line_items: The line_items of this Iplv2paymentlinksOrderInformation.
+ :type: list[Iplv2paymentlinksOrderInformationLineItems]
+ """
+
+ self._line_items = line_items
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksOrderInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/iplv2paymentlinks_order_information_amount_details.py b/CyberSource/models/iplv2paymentlinks_order_information_amount_details.py
new file mode 100644
index 00000000..42163b0e
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinks_order_information_amount_details.py
@@ -0,0 +1,207 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksOrderInformationAmountDetails(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'total_amount': 'str',
+ 'currency': 'str',
+ 'max_amount': 'str',
+ 'min_amount': 'str'
+ }
+
+ attribute_map = {
+ 'total_amount': 'totalAmount',
+ 'currency': 'currency',
+ 'max_amount': 'maxAmount',
+ 'min_amount': 'minAmount'
+ }
+
+ def __init__(self, total_amount=None, currency=None, max_amount=None, min_amount=None):
+ """
+ Iplv2paymentlinksOrderInformationAmountDetails - a model defined in Swagger
+ """
+
+ self._total_amount = None
+ self._currency = None
+ self._max_amount = None
+ self._min_amount = None
+
+ if total_amount is not None:
+ self.total_amount = total_amount
+ self.currency = currency
+ if max_amount is not None:
+ self.max_amount = max_amount
+ if min_amount is not None:
+ self.min_amount = min_amount
+
+ @property
+ def total_amount(self):
+ """
+ Gets the total_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+
+ :return: The total_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._total_amount
+
+ @total_amount.setter
+ def total_amount(self, total_amount):
+ """
+ Sets the total_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+
+ :param total_amount: The total_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._total_amount = total_amount
+
+ @property
+ def currency(self):
+ """
+ Gets the currency of this Iplv2paymentlinksOrderInformationAmountDetails.
+ Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency.
+
+ :return: The currency of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._currency
+
+ @currency.setter
+ def currency(self, currency):
+ """
+ Sets the currency of this Iplv2paymentlinksOrderInformationAmountDetails.
+ Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency.
+
+ :param currency: The currency of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._currency = currency
+
+ @property
+ def max_amount(self):
+ """
+ Gets the max_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page.
+
+ :return: The max_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._max_amount
+
+ @max_amount.setter
+ def max_amount(self, max_amount):
+ """
+ Sets the max_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page.
+
+ :param max_amount: The max_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._max_amount = max_amount
+
+ @property
+ def min_amount(self):
+ """
+ Gets the min_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links.
+
+ :return: The min_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._min_amount
+
+ @min_amount.setter
+ def min_amount(self, min_amount):
+ """
+ Sets the min_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links.
+
+ :param min_amount: The min_amount of this Iplv2paymentlinksOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._min_amount = min_amount
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksOrderInformationAmountDetails):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/iplv2paymentlinks_order_information_line_items.py b/CyberSource/models/iplv2paymentlinks_order_information_line_items.py
new file mode 100644
index 00000000..0b17a8a9
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinks_order_information_line_items.py
@@ -0,0 +1,235 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksOrderInformationLineItems(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'product_sku': 'str',
+ 'product_name': 'str',
+ 'quantity': 'int',
+ 'unit_price': 'str',
+ 'product_description': 'str'
+ }
+
+ attribute_map = {
+ 'product_sku': 'productSku',
+ 'product_name': 'productName',
+ 'quantity': 'quantity',
+ 'unit_price': 'unitPrice',
+ 'product_description': 'productDescription'
+ }
+
+ def __init__(self, product_sku=None, product_name=None, quantity=None, unit_price=None, product_description=None):
+ """
+ Iplv2paymentlinksOrderInformationLineItems - a model defined in Swagger
+ """
+
+ self._product_sku = None
+ self._product_name = None
+ self._quantity = None
+ self._unit_price = None
+ self._product_description = None
+
+ if product_sku is not None:
+ self.product_sku = product_sku
+ self.product_name = product_name
+ if quantity is not None:
+ self.quantity = quantity
+ if unit_price is not None:
+ self.unit_price = unit_price
+ if product_description is not None:
+ self.product_description = product_description
+
+ @property
+ def product_sku(self):
+ """
+ Gets the product_sku of this Iplv2paymentlinksOrderInformationLineItems.
+ Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.
+
+ :return: The product_sku of this Iplv2paymentlinksOrderInformationLineItems.
+ :rtype: str
+ """
+ return self._product_sku
+
+ @product_sku.setter
+ def product_sku(self, product_sku):
+ """
+ Sets the product_sku of this Iplv2paymentlinksOrderInformationLineItems.
+ Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.
+
+ :param product_sku: The product_sku of this Iplv2paymentlinksOrderInformationLineItems.
+ :type: str
+ """
+
+ self._product_sku = product_sku
+
+ @property
+ def product_name(self):
+ """
+ Gets the product_name of this Iplv2paymentlinksOrderInformationLineItems.
+ For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes.
+
+ :return: The product_name of this Iplv2paymentlinksOrderInformationLineItems.
+ :rtype: str
+ """
+ return self._product_name
+
+ @product_name.setter
+ def product_name(self, product_name):
+ """
+ Sets the product_name of this Iplv2paymentlinksOrderInformationLineItems.
+ For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes.
+
+ :param product_name: The product_name of this Iplv2paymentlinksOrderInformationLineItems.
+ :type: str
+ """
+
+ self._product_name = product_name
+
+ @property
+ def quantity(self):
+ """
+ Gets the quantity of this Iplv2paymentlinksOrderInformationLineItems.
+ Number of units for this order. Must be a non-negative integer. The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes.
+
+ :return: The quantity of this Iplv2paymentlinksOrderInformationLineItems.
+ :rtype: int
+ """
+ return self._quantity
+
+ @quantity.setter
+ def quantity(self, quantity):
+ """
+ Sets the quantity of this Iplv2paymentlinksOrderInformationLineItems.
+ Number of units for this order. Must be a non-negative integer. The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes.
+
+ :param quantity: The quantity of this Iplv2paymentlinksOrderInformationLineItems.
+ :type: int
+ """
+
+ self._quantity = quantity
+
+ @property
+ def unit_price(self):
+ """
+ Gets the unit_price of this Iplv2paymentlinksOrderInformationLineItems.
+ Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15)
+
+ :return: The unit_price of this Iplv2paymentlinksOrderInformationLineItems.
+ :rtype: str
+ """
+ return self._unit_price
+
+ @unit_price.setter
+ def unit_price(self, unit_price):
+ """
+ Sets the unit_price of this Iplv2paymentlinksOrderInformationLineItems.
+ Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15)
+
+ :param unit_price: The unit_price of this Iplv2paymentlinksOrderInformationLineItems.
+ :type: str
+ """
+
+ self._unit_price = unit_price
+
+ @property
+ def product_description(self):
+ """
+ Gets the product_description of this Iplv2paymentlinksOrderInformationLineItems.
+ Brief description of item.
+
+ :return: The product_description of this Iplv2paymentlinksOrderInformationLineItems.
+ :rtype: str
+ """
+ return self._product_description
+
+ @product_description.setter
+ def product_description(self, product_description):
+ """
+ Sets the product_description of this Iplv2paymentlinksOrderInformationLineItems.
+ Brief description of item.
+
+ :param product_description: The product_description of this Iplv2paymentlinksOrderInformationLineItems.
+ :type: str
+ """
+
+ self._product_description = product_description
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksOrderInformationLineItems):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/iplv2paymentlinks_processing_information.py b/CyberSource/models/iplv2paymentlinks_processing_information.py
new file mode 100644
index 00000000..5946bfdf
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinks_processing_information.py
@@ -0,0 +1,179 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksProcessingInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'link_type': 'str',
+ 'request_phone': 'bool',
+ 'request_shipping': 'bool'
+ }
+
+ attribute_map = {
+ 'link_type': 'linkType',
+ 'request_phone': 'requestPhone',
+ 'request_shipping': 'requestShipping'
+ }
+
+ def __init__(self, link_type=None, request_phone=False, request_shipping=False):
+ """
+ Iplv2paymentlinksProcessingInformation - a model defined in Swagger
+ """
+
+ self._link_type = None
+ self._request_phone = None
+ self._request_shipping = None
+
+ self.link_type = link_type
+ if request_phone is not None:
+ self.request_phone = request_phone
+ if request_shipping is not None:
+ self.request_shipping = request_shipping
+
+ @property
+ def link_type(self):
+ """
+ Gets the link_type of this Iplv2paymentlinksProcessingInformation.
+ linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION`
+
+ :return: The link_type of this Iplv2paymentlinksProcessingInformation.
+ :rtype: str
+ """
+ return self._link_type
+
+ @link_type.setter
+ def link_type(self, link_type):
+ """
+ Sets the link_type of this Iplv2paymentlinksProcessingInformation.
+ linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION`
+
+ :param link_type: The link_type of this Iplv2paymentlinksProcessingInformation.
+ :type: str
+ """
+
+ self._link_type = link_type
+
+ @property
+ def request_phone(self):
+ """
+ Gets the request_phone of this Iplv2paymentlinksProcessingInformation.
+ Collect the payers phone number during the payment.
+
+ :return: The request_phone of this Iplv2paymentlinksProcessingInformation.
+ :rtype: bool
+ """
+ return self._request_phone
+
+ @request_phone.setter
+ def request_phone(self, request_phone):
+ """
+ Sets the request_phone of this Iplv2paymentlinksProcessingInformation.
+ Collect the payers phone number during the payment.
+
+ :param request_phone: The request_phone of this Iplv2paymentlinksProcessingInformation.
+ :type: bool
+ """
+
+ self._request_phone = request_phone
+
+ @property
+ def request_shipping(self):
+ """
+ Gets the request_shipping of this Iplv2paymentlinksProcessingInformation.
+ Collect the payers shipping address during the payment.
+
+ :return: The request_shipping of this Iplv2paymentlinksProcessingInformation.
+ :rtype: bool
+ """
+ return self._request_shipping
+
+ @request_shipping.setter
+ def request_shipping(self, request_shipping):
+ """
+ Sets the request_shipping of this Iplv2paymentlinksProcessingInformation.
+ Collect the payers shipping address during the payment.
+
+ :param request_shipping: The request_shipping of this Iplv2paymentlinksProcessingInformation.
+ :type: bool
+ """
+
+ self._request_shipping = request_shipping
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksProcessingInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/iplv2paymentlinks_purchase_information.py b/CyberSource/models/iplv2paymentlinks_purchase_information.py
new file mode 100644
index 00000000..575173a0
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinks_purchase_information.py
@@ -0,0 +1,123 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksPurchaseInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'purchase_number': 'str'
+ }
+
+ attribute_map = {
+ 'purchase_number': 'purchaseNumber'
+ }
+
+ def __init__(self, purchase_number=None):
+ """
+ Iplv2paymentlinksPurchaseInformation - a model defined in Swagger
+ """
+
+ self._purchase_number = None
+
+ self.purchase_number = purchase_number
+
+ @property
+ def purchase_number(self):
+ """
+ Gets the purchase_number of this Iplv2paymentlinksPurchaseInformation.
+ The purchase number
+
+ :return: The purchase_number of this Iplv2paymentlinksPurchaseInformation.
+ :rtype: str
+ """
+ return self._purchase_number
+
+ @purchase_number.setter
+ def purchase_number(self, purchase_number):
+ """
+ Sets the purchase_number of this Iplv2paymentlinksPurchaseInformation.
+ The purchase number
+
+ :param purchase_number: The purchase_number of this Iplv2paymentlinksPurchaseInformation.
+ :type: str
+ """
+
+ self._purchase_number = purchase_number
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksPurchaseInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/iplv2paymentlinksid_order_information.py b/CyberSource/models/iplv2paymentlinksid_order_information.py
new file mode 100644
index 00000000..f50bff17
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinksid_order_information.py
@@ -0,0 +1,149 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksidOrderInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'amount_details': 'PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails',
+ 'line_items': 'list[Iplv2paymentlinksOrderInformationLineItems]'
+ }
+
+ attribute_map = {
+ 'amount_details': 'amountDetails',
+ 'line_items': 'lineItems'
+ }
+
+ def __init__(self, amount_details=None, line_items=None):
+ """
+ Iplv2paymentlinksidOrderInformation - a model defined in Swagger
+ """
+
+ self._amount_details = None
+ self._line_items = None
+
+ if amount_details is not None:
+ self.amount_details = amount_details
+ self.line_items = line_items
+
+ @property
+ def amount_details(self):
+ """
+ Gets the amount_details of this Iplv2paymentlinksidOrderInformation.
+
+ :return: The amount_details of this Iplv2paymentlinksidOrderInformation.
+ :rtype: PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+ """
+ return self._amount_details
+
+ @amount_details.setter
+ def amount_details(self, amount_details):
+ """
+ Sets the amount_details of this Iplv2paymentlinksidOrderInformation.
+
+ :param amount_details: The amount_details of this Iplv2paymentlinksidOrderInformation.
+ :type: PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+ """
+
+ self._amount_details = amount_details
+
+ @property
+ def line_items(self):
+ """
+ Gets the line_items of this Iplv2paymentlinksidOrderInformation.
+ List of the line items from the order.
+
+ :return: The line_items of this Iplv2paymentlinksidOrderInformation.
+ :rtype: list[Iplv2paymentlinksOrderInformationLineItems]
+ """
+ return self._line_items
+
+ @line_items.setter
+ def line_items(self, line_items):
+ """
+ Sets the line_items of this Iplv2paymentlinksidOrderInformation.
+ List of the line items from the order.
+
+ :param line_items: The line_items of this Iplv2paymentlinksidOrderInformation.
+ :type: list[Iplv2paymentlinksOrderInformationLineItems]
+ """
+
+ self._line_items = line_items
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksidOrderInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/iplv2paymentlinksid_processing_information.py b/CyberSource/models/iplv2paymentlinksid_processing_information.py
new file mode 100644
index 00000000..c82ae61a
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinksid_processing_information.py
@@ -0,0 +1,180 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksidProcessingInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'link_type': 'str',
+ 'request_phone': 'bool',
+ 'request_shipping': 'bool'
+ }
+
+ attribute_map = {
+ 'link_type': 'linkType',
+ 'request_phone': 'requestPhone',
+ 'request_shipping': 'requestShipping'
+ }
+
+ def __init__(self, link_type=None, request_phone=False, request_shipping=False):
+ """
+ Iplv2paymentlinksidProcessingInformation - a model defined in Swagger
+ """
+
+ self._link_type = None
+ self._request_phone = None
+ self._request_shipping = None
+
+ if link_type is not None:
+ self.link_type = link_type
+ if request_phone is not None:
+ self.request_phone = request_phone
+ if request_shipping is not None:
+ self.request_shipping = request_shipping
+
+ @property
+ def link_type(self):
+ """
+ Gets the link_type of this Iplv2paymentlinksidProcessingInformation.
+ linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION`
+
+ :return: The link_type of this Iplv2paymentlinksidProcessingInformation.
+ :rtype: str
+ """
+ return self._link_type
+
+ @link_type.setter
+ def link_type(self, link_type):
+ """
+ Sets the link_type of this Iplv2paymentlinksidProcessingInformation.
+ linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION`
+
+ :param link_type: The link_type of this Iplv2paymentlinksidProcessingInformation.
+ :type: str
+ """
+
+ self._link_type = link_type
+
+ @property
+ def request_phone(self):
+ """
+ Gets the request_phone of this Iplv2paymentlinksidProcessingInformation.
+ Collect the payers phone number during the payment.
+
+ :return: The request_phone of this Iplv2paymentlinksidProcessingInformation.
+ :rtype: bool
+ """
+ return self._request_phone
+
+ @request_phone.setter
+ def request_phone(self, request_phone):
+ """
+ Sets the request_phone of this Iplv2paymentlinksidProcessingInformation.
+ Collect the payers phone number during the payment.
+
+ :param request_phone: The request_phone of this Iplv2paymentlinksidProcessingInformation.
+ :type: bool
+ """
+
+ self._request_phone = request_phone
+
+ @property
+ def request_shipping(self):
+ """
+ Gets the request_shipping of this Iplv2paymentlinksidProcessingInformation.
+ Collect the payers shipping address during the payment.
+
+ :return: The request_shipping of this Iplv2paymentlinksidProcessingInformation.
+ :rtype: bool
+ """
+ return self._request_shipping
+
+ @request_shipping.setter
+ def request_shipping(self, request_shipping):
+ """
+ Sets the request_shipping of this Iplv2paymentlinksidProcessingInformation.
+ Collect the payers shipping address during the payment.
+
+ :param request_shipping: The request_shipping of this Iplv2paymentlinksidProcessingInformation.
+ :type: bool
+ """
+
+ self._request_shipping = request_shipping
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksidProcessingInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/iplv2paymentlinksid_purchase_information.py b/CyberSource/models/iplv2paymentlinksid_purchase_information.py
new file mode 100644
index 00000000..e2eca769
--- /dev/null
+++ b/CyberSource/models/iplv2paymentlinksid_purchase_information.py
@@ -0,0 +1,124 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Iplv2paymentlinksidPurchaseInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'purchase_number': 'str'
+ }
+
+ attribute_map = {
+ 'purchase_number': 'purchaseNumber'
+ }
+
+ def __init__(self, purchase_number=None):
+ """
+ Iplv2paymentlinksidPurchaseInformation - a model defined in Swagger
+ """
+
+ self._purchase_number = None
+
+ if purchase_number is not None:
+ self.purchase_number = purchase_number
+
+ @property
+ def purchase_number(self):
+ """
+ Gets the purchase_number of this Iplv2paymentlinksidPurchaseInformation.
+ The purchase number
+
+ :return: The purchase_number of this Iplv2paymentlinksidPurchaseInformation.
+ :rtype: str
+ """
+ return self._purchase_number
+
+ @purchase_number.setter
+ def purchase_number(self, purchase_number):
+ """
+ Sets the purchase_number of this Iplv2paymentlinksidPurchaseInformation.
+ The purchase number
+
+ :param purchase_number: The purchase_number of this Iplv2paymentlinksidPurchaseInformation.
+ :type: str
+ """
+
+ self._purchase_number = purchase_number
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Iplv2paymentlinksidPurchaseInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2productsorganization_id_event_types.py b/CyberSource/models/notificationsubscriptionsv2productsorganization_id_event_types.py
new file mode 100644
index 00000000..f8672cf1
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2productsorganization_id_event_types.py
@@ -0,0 +1,226 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2productsorganizationIdEventTypes(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'event_name': 'str',
+ 'display_name': 'str',
+ 'frequency': 'int',
+ 'time_sensitivity': 'bool',
+ 'payload_encryption': 'bool'
+ }
+
+ attribute_map = {
+ 'event_name': 'eventName',
+ 'display_name': 'displayName',
+ 'frequency': 'frequency',
+ 'time_sensitivity': 'timeSensitivity',
+ 'payload_encryption': 'payloadEncryption'
+ }
+
+ def __init__(self, event_name=None, display_name=None, frequency=None, time_sensitivity=False, payload_encryption=False):
+ """
+ Notificationsubscriptionsv2productsorganizationIdEventTypes - a model defined in Swagger
+ """
+
+ self._event_name = None
+ self._display_name = None
+ self._frequency = None
+ self._time_sensitivity = None
+ self._payload_encryption = None
+
+ if event_name is not None:
+ self.event_name = event_name
+ if display_name is not None:
+ self.display_name = display_name
+ if frequency is not None:
+ self.frequency = frequency
+ if time_sensitivity is not None:
+ self.time_sensitivity = time_sensitivity
+ if payload_encryption is not None:
+ self.payload_encryption = payload_encryption
+
+ @property
+ def event_name(self):
+ """
+ Gets the event_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :return: The event_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :rtype: str
+ """
+ return self._event_name
+
+ @event_name.setter
+ def event_name(self, event_name):
+ """
+ Sets the event_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :param event_name: The event_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :type: str
+ """
+
+ self._event_name = event_name
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :return: The display_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :param display_name: The display_name of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :type: str
+ """
+
+ self._display_name = display_name
+
+ @property
+ def frequency(self):
+ """
+ Gets the frequency of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :return: The frequency of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :rtype: int
+ """
+ return self._frequency
+
+ @frequency.setter
+ def frequency(self, frequency):
+ """
+ Sets the frequency of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :param frequency: The frequency of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :type: int
+ """
+
+ self._frequency = frequency
+
+ @property
+ def time_sensitivity(self):
+ """
+ Gets the time_sensitivity of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :return: The time_sensitivity of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :rtype: bool
+ """
+ return self._time_sensitivity
+
+ @time_sensitivity.setter
+ def time_sensitivity(self, time_sensitivity):
+ """
+ Sets the time_sensitivity of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :param time_sensitivity: The time_sensitivity of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :type: bool
+ """
+
+ self._time_sensitivity = time_sensitivity
+
+ @property
+ def payload_encryption(self):
+ """
+ Gets the payload_encryption of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :return: The payload_encryption of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :rtype: bool
+ """
+ return self._payload_encryption
+
+ @payload_encryption.setter
+ def payload_encryption(self, payload_encryption):
+ """
+ Sets the payload_encryption of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+
+ :param payload_encryption: The payload_encryption of this Notificationsubscriptionsv2productsorganizationIdEventTypes.
+ :type: bool
+ """
+
+ self._payload_encryption = payload_encryption
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2productsorganizationIdEventTypes):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_products.py b/CyberSource/models/notificationsubscriptionsv2webhooks_products.py
new file mode 100644
index 00000000..2be6b747
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_products.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksProducts(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'product_id': 'str',
+ 'event_types': 'list[str]'
+ }
+
+ attribute_map = {
+ 'product_id': 'productId',
+ 'event_types': 'eventTypes'
+ }
+
+ def __init__(self, product_id=None, event_types=None):
+ """
+ Notificationsubscriptionsv2webhooksProducts - a model defined in Swagger
+ """
+
+ self._product_id = None
+ self._event_types = None
+
+ if product_id is not None:
+ self.product_id = product_id
+ if event_types is not None:
+ self.event_types = event_types
+
+ @property
+ def product_id(self):
+ """
+ Gets the product_id of this Notificationsubscriptionsv2webhooksProducts.
+ Product ID.
+
+ :return: The product_id of this Notificationsubscriptionsv2webhooksProducts.
+ :rtype: str
+ """
+ return self._product_id
+
+ @product_id.setter
+ def product_id(self, product_id):
+ """
+ Sets the product_id of this Notificationsubscriptionsv2webhooksProducts.
+ Product ID.
+
+ :param product_id: The product_id of this Notificationsubscriptionsv2webhooksProducts.
+ :type: str
+ """
+
+ self._product_id = product_id
+
+ @property
+ def event_types(self):
+ """
+ Gets the event_types of this Notificationsubscriptionsv2webhooksProducts.
+
+ :return: The event_types of this Notificationsubscriptionsv2webhooksProducts.
+ :rtype: list[str]
+ """
+ return self._event_types
+
+ @event_types.setter
+ def event_types(self, event_types):
+ """
+ Sets the event_types of this Notificationsubscriptionsv2webhooksProducts.
+
+ :param event_types: The event_types of this Notificationsubscriptionsv2webhooksProducts.
+ :type: list[str]
+ """
+
+ self._event_types = event_types
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksProducts):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_products1.py b/CyberSource/models/notificationsubscriptionsv2webhooks_products1.py
new file mode 100644
index 00000000..fe7d533b
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_products1.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksProducts1(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'product_id': 'str',
+ 'event_types': 'list[str]'
+ }
+
+ attribute_map = {
+ 'product_id': 'productId',
+ 'event_types': 'eventTypes'
+ }
+
+ def __init__(self, product_id=None, event_types=None):
+ """
+ Notificationsubscriptionsv2webhooksProducts1 - a model defined in Swagger
+ """
+
+ self._product_id = None
+ self._event_types = None
+
+ if product_id is not None:
+ self.product_id = product_id
+ if event_types is not None:
+ self.event_types = event_types
+
+ @property
+ def product_id(self):
+ """
+ Gets the product_id of this Notificationsubscriptionsv2webhooksProducts1.
+ Product ID.
+
+ :return: The product_id of this Notificationsubscriptionsv2webhooksProducts1.
+ :rtype: str
+ """
+ return self._product_id
+
+ @product_id.setter
+ def product_id(self, product_id):
+ """
+ Sets the product_id of this Notificationsubscriptionsv2webhooksProducts1.
+ Product ID.
+
+ :param product_id: The product_id of this Notificationsubscriptionsv2webhooksProducts1.
+ :type: str
+ """
+
+ self._product_id = product_id
+
+ @property
+ def event_types(self):
+ """
+ Gets the event_types of this Notificationsubscriptionsv2webhooksProducts1.
+
+ :return: The event_types of this Notificationsubscriptionsv2webhooksProducts1.
+ :rtype: list[str]
+ """
+ return self._event_types
+
+ @event_types.setter
+ def event_types(self, event_types):
+ """
+ Sets the event_types of this Notificationsubscriptionsv2webhooksProducts1.
+
+ :param event_types: The event_types of this Notificationsubscriptionsv2webhooksProducts1.
+ :type: list[str]
+ """
+
+ self._event_types = event_types
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksProducts1):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_retry_policy.py b/CyberSource/models/notificationsubscriptionsv2webhooks_retry_policy.py
new file mode 100644
index 00000000..e59b1ada
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_retry_policy.py
@@ -0,0 +1,320 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksRetryPolicy(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'algorithm': 'str',
+ 'first_retry': 'int',
+ 'interval': 'int',
+ 'number_of_retries': 'int',
+ 'deactivate_flag': 'str',
+ 'repeat_sequence_count': 'int',
+ 'repeat_sequence_wait_time': 'int',
+ 'additional_attributes': 'list[dict(str, str)]'
+ }
+
+ attribute_map = {
+ 'algorithm': 'algorithm',
+ 'first_retry': 'firstRetry',
+ 'interval': 'interval',
+ 'number_of_retries': 'numberOfRetries',
+ 'deactivate_flag': 'deactivateFlag',
+ 'repeat_sequence_count': 'repeatSequenceCount',
+ 'repeat_sequence_wait_time': 'repeatSequenceWaitTime',
+ 'additional_attributes': 'additionalAttributes'
+ }
+
+ def __init__(self, algorithm=None, first_retry=None, interval=None, number_of_retries=None, deactivate_flag=None, repeat_sequence_count=None, repeat_sequence_wait_time=None, additional_attributes=None):
+ """
+ Notificationsubscriptionsv2webhooksRetryPolicy - a model defined in Swagger
+ """
+
+ self._algorithm = None
+ self._first_retry = None
+ self._interval = None
+ self._number_of_retries = None
+ self._deactivate_flag = None
+ self._repeat_sequence_count = None
+ self._repeat_sequence_wait_time = None
+ self._additional_attributes = None
+
+ if algorithm is not None:
+ self.algorithm = algorithm
+ if first_retry is not None:
+ self.first_retry = first_retry
+ if interval is not None:
+ self.interval = interval
+ if number_of_retries is not None:
+ self.number_of_retries = number_of_retries
+ if deactivate_flag is not None:
+ self.deactivate_flag = deactivate_flag
+ if repeat_sequence_count is not None:
+ self.repeat_sequence_count = repeat_sequence_count
+ if repeat_sequence_wait_time is not None:
+ self.repeat_sequence_wait_time = repeat_sequence_wait_time
+ if additional_attributes is not None:
+ self.additional_attributes = additional_attributes
+
+ @property
+ def algorithm(self):
+ """
+ Gets the algorithm of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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: The algorithm of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: str
+ """
+ return self._algorithm
+
+ @algorithm.setter
+ def algorithm(self, algorithm):
+ """
+ Sets the algorithm of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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
+
+ :param algorithm: The algorithm of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: str
+ """
+
+ self._algorithm = algorithm
+
+ @property
+ def first_retry(self):
+ """
+ Gets the first_retry of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ When to initiate first retry, after the initial call failed. (in mins).
+
+ :return: The first_retry of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: int
+ """
+ return self._first_retry
+
+ @first_retry.setter
+ def first_retry(self, first_retry):
+ """
+ Sets the first_retry of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ When to initiate first retry, after the initial call failed. (in mins).
+
+ :param first_retry: The first_retry of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: int
+ """
+
+ self._first_retry = first_retry
+
+ @property
+ def interval(self):
+ """
+ Gets the interval of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ The interval between retries (in mins).
+
+ :return: The interval of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: int
+ """
+ return self._interval
+
+ @interval.setter
+ def interval(self, interval):
+ """
+ Sets the interval of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ The interval between retries (in mins).
+
+ :param interval: The interval of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: int
+ """
+
+ self._interval = interval
+
+ @property
+ def number_of_retries(self):
+ """
+ Gets the number_of_retries of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ The number of retries per sequence.
+
+ :return: The number_of_retries of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: int
+ """
+ return self._number_of_retries
+
+ @number_of_retries.setter
+ def number_of_retries(self, number_of_retries):
+ """
+ Sets the number_of_retries of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ The number of retries per sequence.
+
+ :param number_of_retries: The number_of_retries of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: int
+ """
+
+ self._number_of_retries = number_of_retries
+
+ @property
+ def deactivate_flag(self):
+ """
+ Gets the deactivate_flag of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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: The deactivate_flag of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: str
+ """
+ return self._deactivate_flag
+
+ @deactivate_flag.setter
+ def deactivate_flag(self, deactivate_flag):
+ """
+ Sets the deactivate_flag of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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.
+
+ :param deactivate_flag: The deactivate_flag of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: str
+ """
+
+ self._deactivate_flag = deactivate_flag
+
+ @property
+ def repeat_sequence_count(self):
+ """
+ Gets the repeat_sequence_count of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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: The repeat_sequence_count of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: int
+ """
+ return self._repeat_sequence_count
+
+ @repeat_sequence_count.setter
+ def repeat_sequence_count(self, repeat_sequence_count):
+ """
+ Sets the repeat_sequence_count of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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)
+
+ :param repeat_sequence_count: The repeat_sequence_count of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: int
+ """
+
+ self._repeat_sequence_count = repeat_sequence_count
+
+ @property
+ def repeat_sequence_wait_time(self):
+ """
+ Gets the repeat_sequence_wait_time of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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: The repeat_sequence_wait_time of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: int
+ """
+ return self._repeat_sequence_wait_time
+
+ @repeat_sequence_wait_time.setter
+ def repeat_sequence_wait_time(self, repeat_sequence_wait_time):
+ """
+ Sets the repeat_sequence_wait_time of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ 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)
+
+ :param repeat_sequence_wait_time: The repeat_sequence_wait_time of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: int
+ """
+
+ self._repeat_sequence_wait_time = repeat_sequence_wait_time
+
+ @property
+ def additional_attributes(self):
+ """
+ Gets the additional_attributes of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ Additional data, if any.
+
+ :return: The additional_attributes of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :rtype: list[dict(str, str)]
+ """
+ return self._additional_attributes
+
+ @additional_attributes.setter
+ def additional_attributes(self, additional_attributes):
+ """
+ Sets the additional_attributes of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ Additional data, if any.
+
+ :param additional_attributes: The additional_attributes of this Notificationsubscriptionsv2webhooksRetryPolicy.
+ :type: list[dict(str, str)]
+ """
+
+ self._additional_attributes = additional_attributes
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksRetryPolicy):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy.py b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy.py
new file mode 100644
index 00000000..cf64d0ab
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksSecurityPolicy(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'security_type': 'str',
+ 'config': 'Notificationsubscriptionsv2webhooksSecurityPolicyConfig'
+ }
+
+ attribute_map = {
+ 'security_type': 'securityType',
+ 'config': 'config'
+ }
+
+ def __init__(self, security_type=None, config=None):
+ """
+ Notificationsubscriptionsv2webhooksSecurityPolicy - a model defined in Swagger
+ """
+
+ self._security_type = None
+ self._config = None
+
+ if security_type is not None:
+ self.security_type = security_type
+ if config is not None:
+ self.config = config
+
+ @property
+ def security_type(self):
+ """
+ Gets the security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+ Security Policy of the client server.
+
+ :return: The security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+ :rtype: str
+ """
+ return self._security_type
+
+ @security_type.setter
+ def security_type(self, security_type):
+ """
+ Sets the security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+ Security Policy of the client server.
+
+ :param security_type: The security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+ :type: str
+ """
+
+ self._security_type = security_type
+
+ @property
+ def config(self):
+ """
+ Gets the config of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+
+ :return: The config of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+ :rtype: Notificationsubscriptionsv2webhooksSecurityPolicyConfig
+ """
+ return self._config
+
+ @config.setter
+ def config(self, config):
+ """
+ Sets the config of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+
+ :param config: The config of this Notificationsubscriptionsv2webhooksSecurityPolicy.
+ :type: Notificationsubscriptionsv2webhooksSecurityPolicyConfig
+ """
+
+ self._config = config
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksSecurityPolicy):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1.py b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1.py
new file mode 100644
index 00000000..18215bc5
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksSecurityPolicy1(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'security_type': 'str',
+ 'config': 'Notificationsubscriptionsv2webhooksSecurityPolicy1Config'
+ }
+
+ attribute_map = {
+ 'security_type': 'securityType',
+ 'config': 'config'
+ }
+
+ def __init__(self, security_type=None, config=None):
+ """
+ Notificationsubscriptionsv2webhooksSecurityPolicy1 - a model defined in Swagger
+ """
+
+ self._security_type = None
+ self._config = None
+
+ if security_type is not None:
+ self.security_type = security_type
+ if config is not None:
+ self.config = config
+
+ @property
+ def security_type(self):
+ """
+ Gets the security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+ Security Policy of the client server. Possible values: - key - oAuth - oAuth_JWT
+
+ :return: The security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+ :rtype: str
+ """
+ return self._security_type
+
+ @security_type.setter
+ def security_type(self, security_type):
+ """
+ Sets the security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+ Security Policy of the client server. Possible values: - key - oAuth - oAuth_JWT
+
+ :param security_type: The security_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+ :type: str
+ """
+
+ self._security_type = security_type
+
+ @property
+ def config(self):
+ """
+ Gets the config of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+
+ :return: The config of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+ :rtype: Notificationsubscriptionsv2webhooksSecurityPolicy1Config
+ """
+ return self._config
+
+ @config.setter
+ def config(self, config):
+ """
+ Sets the config of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+
+ :param config: The config of this Notificationsubscriptionsv2webhooksSecurityPolicy1.
+ :type: Notificationsubscriptionsv2webhooksSecurityPolicy1Config
+ """
+
+ self._config = config
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksSecurityPolicy1):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1_config.py b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1_config.py
new file mode 100644
index 00000000..6c61394c
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1_config.py
@@ -0,0 +1,206 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksSecurityPolicy1Config(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'o_auth_token_expiry': 'str',
+ 'o_auth_url': 'str',
+ 'o_auth_token_type': 'str',
+ 'additional_config': 'Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig'
+ }
+
+ attribute_map = {
+ 'o_auth_token_expiry': 'oAuthTokenExpiry',
+ 'o_auth_url': 'oAuthURL',
+ 'o_auth_token_type': 'oAuthTokenType',
+ 'additional_config': 'additionalConfig'
+ }
+
+ def __init__(self, o_auth_token_expiry=None, o_auth_url=None, o_auth_token_type=None, additional_config=None):
+ """
+ Notificationsubscriptionsv2webhooksSecurityPolicy1Config - a model defined in Swagger
+ """
+
+ self._o_auth_token_expiry = None
+ self._o_auth_url = None
+ self._o_auth_token_type = None
+ self._additional_config = None
+
+ if o_auth_token_expiry is not None:
+ self.o_auth_token_expiry = o_auth_token_expiry
+ if o_auth_url is not None:
+ self.o_auth_url = o_auth_url
+ if o_auth_token_type is not None:
+ self.o_auth_token_type = o_auth_token_type
+ if additional_config is not None:
+ self.additional_config = additional_config
+
+ @property
+ def o_auth_token_expiry(self):
+ """
+ Gets the o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ Token expiration for the oAuth server.
+
+ :return: The o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :rtype: str
+ """
+ return self._o_auth_token_expiry
+
+ @o_auth_token_expiry.setter
+ def o_auth_token_expiry(self, o_auth_token_expiry):
+ """
+ Sets the o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ Token expiration for the oAuth server.
+
+ :param o_auth_token_expiry: The o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :type: str
+ """
+
+ self._o_auth_token_expiry = o_auth_token_expiry
+
+ @property
+ def o_auth_url(self):
+ """
+ Gets the o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ Client direct endpoint to the oAuth server.
+
+ :return: The o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :rtype: str
+ """
+ return self._o_auth_url
+
+ @o_auth_url.setter
+ def o_auth_url(self, o_auth_url):
+ """
+ Sets the o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ Client direct endpoint to the oAuth server.
+
+ :param o_auth_url: The o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :type: str
+ """
+
+ self._o_auth_url = o_auth_url
+
+ @property
+ def o_auth_token_type(self):
+ """
+ Gets the o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ Token type for the oAuth config.
+
+ :return: The o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :rtype: str
+ """
+ return self._o_auth_token_type
+
+ @o_auth_token_type.setter
+ def o_auth_token_type(self, o_auth_token_type):
+ """
+ Sets the o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ Token type for the oAuth config.
+
+ :param o_auth_token_type: The o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :type: str
+ """
+
+ self._o_auth_token_type = o_auth_token_type
+
+ @property
+ def additional_config(self):
+ """
+ Gets the additional_config of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+
+ :return: The additional_config of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :rtype: Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig
+ """
+ return self._additional_config
+
+ @additional_config.setter
+ def additional_config(self, additional_config):
+ """
+ Sets the additional_config of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+
+ :param additional_config: The additional_config of this Notificationsubscriptionsv2webhooksSecurityPolicy1Config.
+ :type: Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig
+ """
+
+ self._additional_config = additional_config
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksSecurityPolicy1Config):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1_config_additional_config.py b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1_config_additional_config.py
new file mode 100644
index 00000000..161784ae
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy1_config_additional_config.py
@@ -0,0 +1,200 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'aud': 'str',
+ 'client_id': 'str',
+ 'key_id': 'str',
+ 'scope': 'str'
+ }
+
+ attribute_map = {
+ 'aud': 'aud',
+ 'client_id': 'client_id',
+ 'key_id': 'keyId',
+ 'scope': 'scope'
+ }
+
+ def __init__(self, aud=None, client_id=None, key_id=None, scope=None):
+ """
+ Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig - a model defined in Swagger
+ """
+
+ self._aud = None
+ self._client_id = None
+ self._key_id = None
+ self._scope = None
+
+ if aud is not None:
+ self.aud = aud
+ if client_id is not None:
+ self.client_id = client_id
+ if key_id is not None:
+ self.key_id = key_id
+ if scope is not None:
+ self.scope = scope
+
+ @property
+ def aud(self):
+ """
+ Gets the aud of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :return: The aud of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :rtype: str
+ """
+ return self._aud
+
+ @aud.setter
+ def aud(self, aud):
+ """
+ Sets the aud of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :param aud: The aud of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :type: str
+ """
+
+ self._aud = aud
+
+ @property
+ def client_id(self):
+ """
+ Gets the client_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :return: The client_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :rtype: str
+ """
+ return self._client_id
+
+ @client_id.setter
+ def client_id(self, client_id):
+ """
+ Sets the client_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :param client_id: The client_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :type: str
+ """
+
+ self._client_id = client_id
+
+ @property
+ def key_id(self):
+ """
+ Gets the key_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :return: The key_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :rtype: str
+ """
+ return self._key_id
+
+ @key_id.setter
+ def key_id(self, key_id):
+ """
+ Sets the key_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :param key_id: The key_id of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :type: str
+ """
+
+ self._key_id = key_id
+
+ @property
+ def scope(self):
+ """
+ Gets the scope of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :return: The scope of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :rtype: str
+ """
+ return self._scope
+
+ @scope.setter
+ def scope(self, scope):
+ """
+ Sets the scope of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+
+ :param scope: The scope of this Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.
+ :type: str
+ """
+
+ self._scope = scope
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy_config.py b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy_config.py
new file mode 100644
index 00000000..fccc6404
--- /dev/null
+++ b/CyberSource/models/notificationsubscriptionsv2webhooks_security_policy_config.py
@@ -0,0 +1,180 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Notificationsubscriptionsv2webhooksSecurityPolicyConfig(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'o_auth_token_expiry': 'str',
+ 'o_auth_url': 'str',
+ 'o_auth_token_type': 'str'
+ }
+
+ attribute_map = {
+ 'o_auth_token_expiry': 'oAuthTokenExpiry',
+ 'o_auth_url': 'oAuthURL',
+ 'o_auth_token_type': 'oAuthTokenType'
+ }
+
+ def __init__(self, o_auth_token_expiry=None, o_auth_url=None, o_auth_token_type=None):
+ """
+ Notificationsubscriptionsv2webhooksSecurityPolicyConfig - a model defined in Swagger
+ """
+
+ self._o_auth_token_expiry = None
+ self._o_auth_url = None
+ self._o_auth_token_type = None
+
+ if o_auth_token_expiry is not None:
+ self.o_auth_token_expiry = o_auth_token_expiry
+ if o_auth_url is not None:
+ self.o_auth_url = o_auth_url
+ if o_auth_token_type is not None:
+ self.o_auth_token_type = o_auth_token_type
+
+ @property
+ def o_auth_token_expiry(self):
+ """
+ Gets the o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ Token expiration for the oAuth server.
+
+ :return: The o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ :rtype: str
+ """
+ return self._o_auth_token_expiry
+
+ @o_auth_token_expiry.setter
+ def o_auth_token_expiry(self, o_auth_token_expiry):
+ """
+ Sets the o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ Token expiration for the oAuth server.
+
+ :param o_auth_token_expiry: The o_auth_token_expiry of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ :type: str
+ """
+
+ self._o_auth_token_expiry = o_auth_token_expiry
+
+ @property
+ def o_auth_url(self):
+ """
+ Gets the o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ Client direct endpoint to the oAuth server.
+
+ :return: The o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ :rtype: str
+ """
+ return self._o_auth_url
+
+ @o_auth_url.setter
+ def o_auth_url(self, o_auth_url):
+ """
+ Sets the o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ Client direct endpoint to the oAuth server.
+
+ :param o_auth_url: The o_auth_url of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ :type: str
+ """
+
+ self._o_auth_url = o_auth_url
+
+ @property
+ def o_auth_token_type(self):
+ """
+ Gets the o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ Token type for the oAuth config.
+
+ :return: The o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ :rtype: str
+ """
+ return self._o_auth_token_type
+
+ @o_auth_token_type.setter
+ def o_auth_token_type(self, o_auth_token_type):
+ """
+ Sets the o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ Token type for the oAuth config.
+
+ :param o_auth_token_type: The o_auth_token_type of this Notificationsubscriptionsv2webhooksSecurityPolicyConfig.
+ :type: str
+ """
+
+ self._o_auth_token_type = o_auth_token_type
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Notificationsubscriptionsv2webhooksSecurityPolicyConfig):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get200_response.py b/CyberSource/models/pbl_payment_links_all_get200_response.py
new file mode 100644
index 00000000..3fe90b47
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get200_response.py
@@ -0,0 +1,202 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet200Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'GetAllPlansResponseLinks',
+ 'submit_time_utc': 'str',
+ 'total_links': 'int',
+ 'sdk_links': 'list[PblPaymentLinksAllGet200ResponseSdkLinks]'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'total_links': 'totalLinks',
+ 'sdk_links': 'links'
+ }
+
+ def __init__(self, links=None, submit_time_utc=None, total_links=None, sdk_links=None):
+ """
+ PblPaymentLinksAllGet200Response - a model defined in Swagger
+ """
+
+ self._links = None
+ self._submit_time_utc = None
+ self._total_links = None
+ self._sdk_links = None
+
+ if links is not None:
+ self.links = links
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if total_links is not None:
+ self.total_links = total_links
+ if sdk_links is not None:
+ self.sdk_links = sdk_links
+
+ @property
+ def links(self):
+ """
+ Gets the links of this PblPaymentLinksAllGet200Response.
+
+ :return: The links of this PblPaymentLinksAllGet200Response.
+ :rtype: GetAllPlansResponseLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this PblPaymentLinksAllGet200Response.
+
+ :param links: The links of this PblPaymentLinksAllGet200Response.
+ :type: GetAllPlansResponseLinks
+ """
+
+ self._links = links
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this PblPaymentLinksAllGet200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this PblPaymentLinksAllGet200Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this PblPaymentLinksAllGet200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this PblPaymentLinksAllGet200Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def total_links(self):
+ """
+ Gets the total_links of this PblPaymentLinksAllGet200Response.
+
+ :return: The total_links of this PblPaymentLinksAllGet200Response.
+ :rtype: int
+ """
+ return self._total_links
+
+ @total_links.setter
+ def total_links(self, total_links):
+ """
+ Sets the total_links of this PblPaymentLinksAllGet200Response.
+
+ :param total_links: The total_links of this PblPaymentLinksAllGet200Response.
+ :type: int
+ """
+
+ self._total_links = total_links
+
+ @property
+ def sdk_links(self):
+ """
+ Gets the sdk_links of this PblPaymentLinksAllGet200Response.
+
+ :return: The sdk_links of this PblPaymentLinksAllGet200Response.
+ :rtype: list[PblPaymentLinksAllGet200ResponseSdkLinks]
+ """
+ return self._sdk_links
+
+ @sdk_links.setter
+ def sdk_links(self, sdk_links):
+ """
+ Sets the sdk_links of this PblPaymentLinksAllGet200Response.
+
+ :param sdk_links: The sdk_links of this PblPaymentLinksAllGet200Response.
+ :type: list[PblPaymentLinksAllGet200ResponseSdkLinks]
+ """
+
+ self._sdk_links = sdk_links
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet200Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get200_response_order_information.py b/CyberSource/models/pbl_payment_links_all_get200_response_order_information.py
new file mode 100644
index 00000000..7b717829
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get200_response_order_information.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet200ResponseOrderInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'amount_details': 'PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails',
+ 'line_items': 'list[PblPaymentLinksAllGet200ResponseOrderInformationLineItems]'
+ }
+
+ attribute_map = {
+ 'amount_details': 'amountDetails',
+ 'line_items': 'lineItems'
+ }
+
+ def __init__(self, amount_details=None, line_items=None):
+ """
+ PblPaymentLinksAllGet200ResponseOrderInformation - a model defined in Swagger
+ """
+
+ self._amount_details = None
+ self._line_items = None
+
+ if amount_details is not None:
+ self.amount_details = amount_details
+ if line_items is not None:
+ self.line_items = line_items
+
+ @property
+ def amount_details(self):
+ """
+ Gets the amount_details of this PblPaymentLinksAllGet200ResponseOrderInformation.
+
+ :return: The amount_details of this PblPaymentLinksAllGet200ResponseOrderInformation.
+ :rtype: PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+ """
+ return self._amount_details
+
+ @amount_details.setter
+ def amount_details(self, amount_details):
+ """
+ Sets the amount_details of this PblPaymentLinksAllGet200ResponseOrderInformation.
+
+ :param amount_details: The amount_details of this PblPaymentLinksAllGet200ResponseOrderInformation.
+ :type: PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+ """
+
+ self._amount_details = amount_details
+
+ @property
+ def line_items(self):
+ """
+ Gets the line_items of this PblPaymentLinksAllGet200ResponseOrderInformation.
+ List of the line items from the order.
+
+ :return: The line_items of this PblPaymentLinksAllGet200ResponseOrderInformation.
+ :rtype: list[PblPaymentLinksAllGet200ResponseOrderInformationLineItems]
+ """
+ return self._line_items
+
+ @line_items.setter
+ def line_items(self, line_items):
+ """
+ Sets the line_items of this PblPaymentLinksAllGet200ResponseOrderInformation.
+ List of the line items from the order.
+
+ :param line_items: The line_items of this PblPaymentLinksAllGet200ResponseOrderInformation.
+ :type: list[PblPaymentLinksAllGet200ResponseOrderInformationLineItems]
+ """
+
+ self._line_items = line_items
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet200ResponseOrderInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get200_response_order_information_amount_details.py b/CyberSource/models/pbl_payment_links_all_get200_response_order_information_amount_details.py
new file mode 100644
index 00000000..21890b45
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get200_response_order_information_amount_details.py
@@ -0,0 +1,208 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'total_amount': 'str',
+ 'currency': 'str',
+ 'max_amount': 'str',
+ 'min_amount': 'str'
+ }
+
+ attribute_map = {
+ 'total_amount': 'totalAmount',
+ 'currency': 'currency',
+ 'max_amount': 'maxAmount',
+ 'min_amount': 'minAmount'
+ }
+
+ def __init__(self, total_amount=None, currency=None, max_amount=None, min_amount=None):
+ """
+ PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails - a model defined in Swagger
+ """
+
+ self._total_amount = None
+ self._currency = None
+ self._max_amount = None
+ self._min_amount = None
+
+ if total_amount is not None:
+ self.total_amount = total_amount
+ if currency is not None:
+ self.currency = currency
+ if max_amount is not None:
+ self.max_amount = max_amount
+ if min_amount is not None:
+ self.min_amount = min_amount
+
+ @property
+ def total_amount(self):
+ """
+ Gets the total_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+
+ :return: The total_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._total_amount
+
+ @total_amount.setter
+ def total_amount(self, total_amount):
+ """
+ Sets the total_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+
+ :param total_amount: The total_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._total_amount = total_amount
+
+ @property
+ def currency(self):
+ """
+ Gets the currency of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency.
+
+ :return: The currency of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._currency
+
+ @currency.setter
+ def currency(self, currency):
+ """
+ Sets the currency of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency.
+
+ :param currency: The currency of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._currency = currency
+
+ @property
+ def max_amount(self):
+ """
+ Gets the max_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page.
+
+ :return: The max_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._max_amount
+
+ @max_amount.setter
+ def max_amount(self, max_amount):
+ """
+ Sets the max_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page.
+
+ :param max_amount: The max_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._max_amount = max_amount
+
+ @property
+ def min_amount(self):
+ """
+ Gets the min_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links.
+
+ :return: The min_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :rtype: str
+ """
+ return self._min_amount
+
+ @min_amount.setter
+ def min_amount(self, min_amount):
+ """
+ Sets the min_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links.
+
+ :param min_amount: The min_amount of this PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.
+ :type: str
+ """
+
+ self._min_amount = min_amount
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get200_response_order_information_line_items.py b/CyberSource/models/pbl_payment_links_all_get200_response_order_information_line_items.py
new file mode 100644
index 00000000..2b50d1a4
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get200_response_order_information_line_items.py
@@ -0,0 +1,180 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet200ResponseOrderInformationLineItems(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'product_name': 'str',
+ 'unit_price': 'str',
+ 'product_description': 'str'
+ }
+
+ attribute_map = {
+ 'product_name': 'productName',
+ 'unit_price': 'unitPrice',
+ 'product_description': 'productDescription'
+ }
+
+ def __init__(self, product_name=None, unit_price=None, product_description=None):
+ """
+ PblPaymentLinksAllGet200ResponseOrderInformationLineItems - a model defined in Swagger
+ """
+
+ self._product_name = None
+ self._unit_price = None
+ self._product_description = None
+
+ if product_name is not None:
+ self.product_name = product_name
+ if unit_price is not None:
+ self.unit_price = unit_price
+ if product_description is not None:
+ self.product_description = product_description
+
+ @property
+ def product_name(self):
+ """
+ Gets the product_name of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes.
+
+ :return: The product_name of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ :rtype: str
+ """
+ return self._product_name
+
+ @product_name.setter
+ def product_name(self, product_name):
+ """
+ Sets the product_name of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes.
+
+ :param product_name: The product_name of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ :type: str
+ """
+
+ self._product_name = product_name
+
+ @property
+ def unit_price(self):
+ """
+ Gets the unit_price of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15)
+
+ :return: The unit_price of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ :rtype: str
+ """
+ return self._unit_price
+
+ @unit_price.setter
+ def unit_price(self, unit_price):
+ """
+ Sets the unit_price of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15)
+
+ :param unit_price: The unit_price of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ :type: str
+ """
+
+ self._unit_price = unit_price
+
+ @property
+ def product_description(self):
+ """
+ Gets the product_description of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ Brief description of item.
+
+ :return: The product_description of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ :rtype: str
+ """
+ return self._product_description
+
+ @product_description.setter
+ def product_description(self, product_description):
+ """
+ Sets the product_description of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ Brief description of item.
+
+ :param product_description: The product_description of this PblPaymentLinksAllGet200ResponseOrderInformationLineItems.
+ :type: str
+ """
+
+ self._product_description = product_description
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet200ResponseOrderInformationLineItems):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get200_response_processing_information.py b/CyberSource/models/pbl_payment_links_all_get200_response_processing_information.py
new file mode 100644
index 00000000..ff697e1e
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get200_response_processing_information.py
@@ -0,0 +1,124 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet200ResponseProcessingInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'link_type': 'str'
+ }
+
+ attribute_map = {
+ 'link_type': 'linkType'
+ }
+
+ def __init__(self, link_type=None):
+ """
+ PblPaymentLinksAllGet200ResponseProcessingInformation - a model defined in Swagger
+ """
+
+ self._link_type = None
+
+ if link_type is not None:
+ self.link_type = link_type
+
+ @property
+ def link_type(self):
+ """
+ Gets the link_type of this PblPaymentLinksAllGet200ResponseProcessingInformation.
+ linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION`
+
+ :return: The link_type of this PblPaymentLinksAllGet200ResponseProcessingInformation.
+ :rtype: str
+ """
+ return self._link_type
+
+ @link_type.setter
+ def link_type(self, link_type):
+ """
+ Sets the link_type of this PblPaymentLinksAllGet200ResponseProcessingInformation.
+ linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION`
+
+ :param link_type: The link_type of this PblPaymentLinksAllGet200ResponseProcessingInformation.
+ :type: str
+ """
+
+ self._link_type = link_type
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet200ResponseProcessingInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get200_response_purchase_information.py b/CyberSource/models/pbl_payment_links_all_get200_response_purchase_information.py
new file mode 100644
index 00000000..899d8ba3
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get200_response_purchase_information.py
@@ -0,0 +1,152 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet200ResponsePurchaseInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'purchase_number': 'str',
+ 'payment_link': 'str'
+ }
+
+ attribute_map = {
+ 'purchase_number': 'purchaseNumber',
+ 'payment_link': 'paymentLink'
+ }
+
+ def __init__(self, purchase_number=None, payment_link=None):
+ """
+ PblPaymentLinksAllGet200ResponsePurchaseInformation - a model defined in Swagger
+ """
+
+ self._purchase_number = None
+ self._payment_link = None
+
+ if purchase_number is not None:
+ self.purchase_number = purchase_number
+ if payment_link is not None:
+ self.payment_link = payment_link
+
+ @property
+ def purchase_number(self):
+ """
+ Gets the purchase_number of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ The purchase number
+
+ :return: The purchase_number of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ :rtype: str
+ """
+ return self._purchase_number
+
+ @purchase_number.setter
+ def purchase_number(self, purchase_number):
+ """
+ Sets the purchase_number of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ The purchase number
+
+ :param purchase_number: The purchase_number of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ :type: str
+ """
+
+ self._purchase_number = purchase_number
+
+ @property
+ def payment_link(self):
+ """
+ Gets the payment_link of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ Returns the link to a purchase or donation link when the status is `ACTIVE`.
+
+ :return: The payment_link of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ :rtype: str
+ """
+ return self._payment_link
+
+ @payment_link.setter
+ def payment_link(self, payment_link):
+ """
+ Sets the payment_link of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ Returns the link to a purchase or donation link when the status is `ACTIVE`.
+
+ :param payment_link: The payment_link of this PblPaymentLinksAllGet200ResponsePurchaseInformation.
+ :type: str
+ """
+
+ self._payment_link = payment_link
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet200ResponsePurchaseInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get200_response_sdk_links.py b/CyberSource/models/pbl_payment_links_all_get200_response_sdk_links.py
new file mode 100644
index 00000000..fc067718
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get200_response_sdk_links.py
@@ -0,0 +1,284 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet200ResponseSdkLinks(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'GetAllPlansResponseLinks',
+ 'id': 'str',
+ 'status': 'str',
+ 'created_date': 'str',
+ 'processing_information': 'PblPaymentLinksAllGet200ResponseProcessingInformation',
+ 'purchase_information': 'PblPaymentLinksAllGet200ResponsePurchaseInformation',
+ 'order_information': 'PblPaymentLinksAllGet200ResponseOrderInformation'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'id': 'id',
+ 'status': 'status',
+ 'created_date': 'createdDate',
+ 'processing_information': 'processingInformation',
+ 'purchase_information': 'purchaseInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, links=None, id=None, status=None, created_date=None, processing_information=None, purchase_information=None, order_information=None):
+ """
+ PblPaymentLinksAllGet200ResponseSdkLinks - a model defined in Swagger
+ """
+
+ self._links = None
+ self._id = None
+ self._status = None
+ self._created_date = None
+ self._processing_information = None
+ self._purchase_information = None
+ self._order_information = None
+
+ if links is not None:
+ self.links = links
+ if id is not None:
+ self.id = id
+ if status is not None:
+ self.status = status
+ if created_date is not None:
+ self.created_date = created_date
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if purchase_information is not None:
+ self.purchase_information = purchase_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def links(self):
+ """
+ Gets the links of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :return: The links of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :rtype: GetAllPlansResponseLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :param links: The links of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :type: GetAllPlansResponseLinks
+ """
+
+ self._links = links
+
+ @property
+ def id(self):
+ """
+ Gets the id of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :return: The id of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :param id: The id of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def status(self):
+ """
+ Gets the status of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :return: The status of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :param status: The status of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def created_date(self):
+ """
+ Gets the created_date of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ Date and time (UTC) the invoice was created. 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.
+
+ :return: The created_date of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :rtype: str
+ """
+ return self._created_date
+
+ @created_date.setter
+ def created_date(self, created_date):
+ """
+ Sets the created_date of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ Date and time (UTC) the invoice was created. 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.
+
+ :param created_date: The created_date of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :type: str
+ """
+
+ self._created_date = created_date
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :return: The processing_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :rtype: PblPaymentLinksAllGet200ResponseProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :param processing_information: The processing_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :type: PblPaymentLinksAllGet200ResponseProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def purchase_information(self):
+ """
+ Gets the purchase_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :return: The purchase_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :rtype: PblPaymentLinksAllGet200ResponsePurchaseInformation
+ """
+ return self._purchase_information
+
+ @purchase_information.setter
+ def purchase_information(self, purchase_information):
+ """
+ Sets the purchase_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :param purchase_information: The purchase_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :type: PblPaymentLinksAllGet200ResponsePurchaseInformation
+ """
+
+ self._purchase_information = purchase_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :return: The order_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :rtype: PblPaymentLinksAllGet200ResponseOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+
+ :param order_information: The order_information of this PblPaymentLinksAllGet200ResponseSdkLinks.
+ :type: PblPaymentLinksAllGet200ResponseOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet200ResponseSdkLinks):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get400_response.py b/CyberSource/models/pbl_payment_links_all_get400_response.py
new file mode 100644
index 00000000..00838658
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get400_response.py
@@ -0,0 +1,234 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet400Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'reason': 'str',
+ 'message': 'str',
+ 'details': 'list[PtsV2PaymentsPost201ResponseErrorInformationDetails]'
+ }
+
+ attribute_map = {
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'reason': 'reason',
+ 'message': 'message',
+ 'details': 'details'
+ }
+
+ def __init__(self, submit_time_utc=None, status=None, reason=None, message=None, details=None):
+ """
+ PblPaymentLinksAllGet400Response - a model defined in Swagger
+ """
+
+ self._submit_time_utc = None
+ self._status = None
+ self._reason = None
+ self._message = None
+ self._details = None
+
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if reason is not None:
+ self.reason = reason
+ if message is not None:
+ self.message = message
+ if details is not None:
+ self.details = details
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this PblPaymentLinksAllGet400Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this PblPaymentLinksAllGet400Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this PblPaymentLinksAllGet400Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this PblPaymentLinksAllGet400Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this PblPaymentLinksAllGet400Response.
+ The status of the purchase or donation link. Possible values: - BADREQUEST
+
+ :return: The status of this PblPaymentLinksAllGet400Response.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this PblPaymentLinksAllGet400Response.
+ The status of the purchase or donation link. Possible values: - BADREQUEST
+
+ :param status: The status of this PblPaymentLinksAllGet400Response.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def reason(self):
+ """
+ Gets the reason of this PblPaymentLinksAllGet400Response.
+ The reason of the status. Possible values: - DUPLICATE_RECORD - ACTION_NOT_ALLOWED - VALIDATION_ERRORS - INVALID_TRANSIENT_TOKEN
+
+ :return: The reason of this PblPaymentLinksAllGet400Response.
+ :rtype: str
+ """
+ return self._reason
+
+ @reason.setter
+ def reason(self, reason):
+ """
+ Sets the reason of this PblPaymentLinksAllGet400Response.
+ The reason of the status. Possible values: - DUPLICATE_RECORD - ACTION_NOT_ALLOWED - VALIDATION_ERRORS - INVALID_TRANSIENT_TOKEN
+
+ :param reason: The reason of this PblPaymentLinksAllGet400Response.
+ :type: str
+ """
+
+ self._reason = reason
+
+ @property
+ def message(self):
+ """
+ Gets the message of this PblPaymentLinksAllGet400Response.
+ The detail message related to the status and reason listed above.
+
+ :return: The message of this PblPaymentLinksAllGet400Response.
+ :rtype: str
+ """
+ return self._message
+
+ @message.setter
+ def message(self, message):
+ """
+ Sets the message of this PblPaymentLinksAllGet400Response.
+ The detail message related to the status and reason listed above.
+
+ :param message: The message of this PblPaymentLinksAllGet400Response.
+ :type: str
+ """
+
+ self._message = message
+
+ @property
+ def details(self):
+ """
+ Gets the details of this PblPaymentLinksAllGet400Response.
+
+ :return: The details of this PblPaymentLinksAllGet400Response.
+ :rtype: list[PtsV2PaymentsPost201ResponseErrorInformationDetails]
+ """
+ return self._details
+
+ @details.setter
+ def details(self, details):
+ """
+ Sets the details of this PblPaymentLinksAllGet400Response.
+
+ :param details: The details of this PblPaymentLinksAllGet400Response.
+ :type: list[PtsV2PaymentsPost201ResponseErrorInformationDetails]
+ """
+
+ self._details = details
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet400Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_all_get404_response.py b/CyberSource/models/pbl_payment_links_all_get404_response.py
new file mode 100644
index 00000000..72048739
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_all_get404_response.py
@@ -0,0 +1,234 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksAllGet404Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'reason': 'str',
+ 'message': 'str',
+ 'details': 'list[PtsV2PaymentsPost201ResponseErrorInformationDetails]'
+ }
+
+ attribute_map = {
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'reason': 'reason',
+ 'message': 'message',
+ 'details': 'details'
+ }
+
+ def __init__(self, submit_time_utc=None, status=None, reason=None, message=None, details=None):
+ """
+ PblPaymentLinksAllGet404Response - a model defined in Swagger
+ """
+
+ self._submit_time_utc = None
+ self._status = None
+ self._reason = None
+ self._message = None
+ self._details = None
+
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if reason is not None:
+ self.reason = reason
+ if message is not None:
+ self.message = message
+ if details is not None:
+ self.details = details
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this PblPaymentLinksAllGet404Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this PblPaymentLinksAllGet404Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this PblPaymentLinksAllGet404Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this PblPaymentLinksAllGet404Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this PblPaymentLinksAllGet404Response.
+ The status of the purchase or donation link. Possible values: - NOTFOUND
+
+ :return: The status of this PblPaymentLinksAllGet404Response.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this PblPaymentLinksAllGet404Response.
+ The status of the purchase or donation link. Possible values: - NOTFOUND
+
+ :param status: The status of this PblPaymentLinksAllGet404Response.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def reason(self):
+ """
+ Gets the reason of this PblPaymentLinksAllGet404Response.
+ The reason of the status. Possible values: - NOTFOUND
+
+ :return: The reason of this PblPaymentLinksAllGet404Response.
+ :rtype: str
+ """
+ return self._reason
+
+ @reason.setter
+ def reason(self, reason):
+ """
+ Sets the reason of this PblPaymentLinksAllGet404Response.
+ The reason of the status. Possible values: - NOTFOUND
+
+ :param reason: The reason of this PblPaymentLinksAllGet404Response.
+ :type: str
+ """
+
+ self._reason = reason
+
+ @property
+ def message(self):
+ """
+ Gets the message of this PblPaymentLinksAllGet404Response.
+ The detail message related to the status and reason listed above.
+
+ :return: The message of this PblPaymentLinksAllGet404Response.
+ :rtype: str
+ """
+ return self._message
+
+ @message.setter
+ def message(self, message):
+ """
+ Sets the message of this PblPaymentLinksAllGet404Response.
+ The detail message related to the status and reason listed above.
+
+ :param message: The message of this PblPaymentLinksAllGet404Response.
+ :type: str
+ """
+
+ self._message = message
+
+ @property
+ def details(self):
+ """
+ Gets the details of this PblPaymentLinksAllGet404Response.
+
+ :return: The details of this PblPaymentLinksAllGet404Response.
+ :rtype: list[PtsV2PaymentsPost201ResponseErrorInformationDetails]
+ """
+ return self._details
+
+ @details.setter
+ def details(self, details):
+ """
+ Sets the details of this PblPaymentLinksAllGet404Response.
+
+ :param details: The details of this PblPaymentLinksAllGet404Response.
+ :type: list[PtsV2PaymentsPost201ResponseErrorInformationDetails]
+ """
+
+ self._details = details
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksAllGet404Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_get200_response.py b/CyberSource/models/pbl_payment_links_get200_response.py
new file mode 100644
index 00000000..43ddcc9f
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_get200_response.py
@@ -0,0 +1,284 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksGet200Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'PblPaymentLinksPost201ResponseLinks',
+ 'id': 'str',
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'processing_information': 'Iplv2paymentlinksProcessingInformation',
+ 'purchase_information': 'PblPaymentLinksPost201ResponsePurchaseInformation',
+ 'order_information': 'PblPaymentLinksPost201ResponseOrderInformation'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'id': 'id',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'processing_information': 'processingInformation',
+ 'purchase_information': 'purchaseInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, processing_information=None, purchase_information=None, order_information=None):
+ """
+ PblPaymentLinksGet200Response - a model defined in Swagger
+ """
+
+ self._links = None
+ self._id = None
+ self._submit_time_utc = None
+ self._status = None
+ self._processing_information = None
+ self._purchase_information = None
+ self._order_information = None
+
+ if links is not None:
+ self.links = links
+ if id is not None:
+ self.id = id
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if purchase_information is not None:
+ self.purchase_information = purchase_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def links(self):
+ """
+ Gets the links of this PblPaymentLinksGet200Response.
+
+ :return: The links of this PblPaymentLinksGet200Response.
+ :rtype: PblPaymentLinksPost201ResponseLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this PblPaymentLinksGet200Response.
+
+ :param links: The links of this PblPaymentLinksGet200Response.
+ :type: PblPaymentLinksPost201ResponseLinks
+ """
+
+ self._links = links
+
+ @property
+ def id(self):
+ """
+ Gets the id of this PblPaymentLinksGet200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :return: The id of this PblPaymentLinksGet200Response.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this PblPaymentLinksGet200Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :param id: The id of this PblPaymentLinksGet200Response.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this PblPaymentLinksGet200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this PblPaymentLinksGet200Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this PblPaymentLinksGet200Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this PblPaymentLinksGet200Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this PblPaymentLinksGet200Response.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :return: The status of this PblPaymentLinksGet200Response.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this PblPaymentLinksGet200Response.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :param status: The status of this PblPaymentLinksGet200Response.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this PblPaymentLinksGet200Response.
+
+ :return: The processing_information of this PblPaymentLinksGet200Response.
+ :rtype: Iplv2paymentlinksProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this PblPaymentLinksGet200Response.
+
+ :param processing_information: The processing_information of this PblPaymentLinksGet200Response.
+ :type: Iplv2paymentlinksProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def purchase_information(self):
+ """
+ Gets the purchase_information of this PblPaymentLinksGet200Response.
+
+ :return: The purchase_information of this PblPaymentLinksGet200Response.
+ :rtype: PblPaymentLinksPost201ResponsePurchaseInformation
+ """
+ return self._purchase_information
+
+ @purchase_information.setter
+ def purchase_information(self, purchase_information):
+ """
+ Sets the purchase_information of this PblPaymentLinksGet200Response.
+
+ :param purchase_information: The purchase_information of this PblPaymentLinksGet200Response.
+ :type: PblPaymentLinksPost201ResponsePurchaseInformation
+ """
+
+ self._purchase_information = purchase_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this PblPaymentLinksGet200Response.
+
+ :return: The order_information of this PblPaymentLinksGet200Response.
+ :rtype: PblPaymentLinksPost201ResponseOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this PblPaymentLinksGet200Response.
+
+ :param order_information: The order_information of this PblPaymentLinksGet200Response.
+ :type: PblPaymentLinksPost201ResponseOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksGet200Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_post201_response.py b/CyberSource/models/pbl_payment_links_post201_response.py
new file mode 100644
index 00000000..02260071
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_post201_response.py
@@ -0,0 +1,284 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksPost201Response(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'PblPaymentLinksPost201ResponseLinks',
+ 'id': 'str',
+ 'submit_time_utc': 'str',
+ 'status': 'str',
+ 'processing_information': 'Iplv2paymentlinksProcessingInformation',
+ 'purchase_information': 'PblPaymentLinksPost201ResponsePurchaseInformation',
+ 'order_information': 'PblPaymentLinksPost201ResponseOrderInformation'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'id': 'id',
+ 'submit_time_utc': 'submitTimeUtc',
+ 'status': 'status',
+ 'processing_information': 'processingInformation',
+ 'purchase_information': 'purchaseInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, links=None, id=None, submit_time_utc=None, status=None, processing_information=None, purchase_information=None, order_information=None):
+ """
+ PblPaymentLinksPost201Response - a model defined in Swagger
+ """
+
+ self._links = None
+ self._id = None
+ self._submit_time_utc = None
+ self._status = None
+ self._processing_information = None
+ self._purchase_information = None
+ self._order_information = None
+
+ if links is not None:
+ self.links = links
+ if id is not None:
+ self.id = id
+ if submit_time_utc is not None:
+ self.submit_time_utc = submit_time_utc
+ if status is not None:
+ self.status = status
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if purchase_information is not None:
+ self.purchase_information = purchase_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def links(self):
+ """
+ Gets the links of this PblPaymentLinksPost201Response.
+
+ :return: The links of this PblPaymentLinksPost201Response.
+ :rtype: PblPaymentLinksPost201ResponseLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this PblPaymentLinksPost201Response.
+
+ :param links: The links of this PblPaymentLinksPost201Response.
+ :type: PblPaymentLinksPost201ResponseLinks
+ """
+
+ self._links = links
+
+ @property
+ def id(self):
+ """
+ Gets the id of this PblPaymentLinksPost201Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :return: The id of this PblPaymentLinksPost201Response.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this PblPaymentLinksPost201Response.
+ An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.
+
+ :param id: The id of this PblPaymentLinksPost201Response.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def submit_time_utc(self):
+ """
+ Gets the submit_time_utc of this PblPaymentLinksPost201Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :return: The submit_time_utc of this PblPaymentLinksPost201Response.
+ :rtype: str
+ """
+ return self._submit_time_utc
+
+ @submit_time_utc.setter
+ def submit_time_utc(self, submit_time_utc):
+ """
+ Sets the submit_time_utc of this PblPaymentLinksPost201Response.
+ Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
+
+ :param submit_time_utc: The submit_time_utc of this PblPaymentLinksPost201Response.
+ :type: str
+ """
+
+ self._submit_time_utc = submit_time_utc
+
+ @property
+ def status(self):
+ """
+ Gets the status of this PblPaymentLinksPost201Response.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :return: The status of this PblPaymentLinksPost201Response.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this PblPaymentLinksPost201Response.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :param status: The status of this PblPaymentLinksPost201Response.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this PblPaymentLinksPost201Response.
+
+ :return: The processing_information of this PblPaymentLinksPost201Response.
+ :rtype: Iplv2paymentlinksProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this PblPaymentLinksPost201Response.
+
+ :param processing_information: The processing_information of this PblPaymentLinksPost201Response.
+ :type: Iplv2paymentlinksProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def purchase_information(self):
+ """
+ Gets the purchase_information of this PblPaymentLinksPost201Response.
+
+ :return: The purchase_information of this PblPaymentLinksPost201Response.
+ :rtype: PblPaymentLinksPost201ResponsePurchaseInformation
+ """
+ return self._purchase_information
+
+ @purchase_information.setter
+ def purchase_information(self, purchase_information):
+ """
+ Sets the purchase_information of this PblPaymentLinksPost201Response.
+
+ :param purchase_information: The purchase_information of this PblPaymentLinksPost201Response.
+ :type: PblPaymentLinksPost201ResponsePurchaseInformation
+ """
+
+ self._purchase_information = purchase_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this PblPaymentLinksPost201Response.
+
+ :return: The order_information of this PblPaymentLinksPost201Response.
+ :rtype: PblPaymentLinksPost201ResponseOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this PblPaymentLinksPost201Response.
+
+ :param order_information: The order_information of this PblPaymentLinksPost201Response.
+ :type: PblPaymentLinksPost201ResponseOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksPost201Response):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_post201_response_links.py b/CyberSource/models/pbl_payment_links_post201_response_links.py
new file mode 100644
index 00000000..93b3f541
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_post201_response_links.py
@@ -0,0 +1,148 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksPost201ResponseLinks(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ '_self': 'PtsV2PaymentsPost201ResponseLinksSelf',
+ 'update': 'PtsV2PaymentsPost201ResponseLinksSelf'
+ }
+
+ attribute_map = {
+ '_self': 'self',
+ 'update': 'update'
+ }
+
+ def __init__(self, _self=None, update=None):
+ """
+ PblPaymentLinksPost201ResponseLinks - a model defined in Swagger
+ """
+
+ self.__self = None
+ self._update = None
+
+ if _self is not None:
+ self._self = _self
+ if update is not None:
+ self.update = update
+
+ @property
+ def _self(self):
+ """
+ Gets the _self of this PblPaymentLinksPost201ResponseLinks.
+
+ :return: The _self of this PblPaymentLinksPost201ResponseLinks.
+ :rtype: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+ return self.__self
+
+ @_self.setter
+ def _self(self, _self):
+ """
+ Sets the _self of this PblPaymentLinksPost201ResponseLinks.
+
+ :param _self: The _self of this PblPaymentLinksPost201ResponseLinks.
+ :type: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+
+ self.__self = _self
+
+ @property
+ def update(self):
+ """
+ Gets the update of this PblPaymentLinksPost201ResponseLinks.
+
+ :return: The update of this PblPaymentLinksPost201ResponseLinks.
+ :rtype: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+ return self._update
+
+ @update.setter
+ def update(self, update):
+ """
+ Sets the update of this PblPaymentLinksPost201ResponseLinks.
+
+ :param update: The update of this PblPaymentLinksPost201ResponseLinks.
+ :type: PtsV2PaymentsPost201ResponseLinksSelf
+ """
+
+ self._update = update
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksPost201ResponseLinks):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_post201_response_order_information.py b/CyberSource/models/pbl_payment_links_post201_response_order_information.py
new file mode 100644
index 00000000..d1f252f9
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_post201_response_order_information.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksPost201ResponseOrderInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'amount_details': 'PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails',
+ 'line_items': 'list[Iplv2paymentlinksOrderInformationLineItems]'
+ }
+
+ attribute_map = {
+ 'amount_details': 'amountDetails',
+ 'line_items': 'lineItems'
+ }
+
+ def __init__(self, amount_details=None, line_items=None):
+ """
+ PblPaymentLinksPost201ResponseOrderInformation - a model defined in Swagger
+ """
+
+ self._amount_details = None
+ self._line_items = None
+
+ if amount_details is not None:
+ self.amount_details = amount_details
+ if line_items is not None:
+ self.line_items = line_items
+
+ @property
+ def amount_details(self):
+ """
+ Gets the amount_details of this PblPaymentLinksPost201ResponseOrderInformation.
+
+ :return: The amount_details of this PblPaymentLinksPost201ResponseOrderInformation.
+ :rtype: PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+ """
+ return self._amount_details
+
+ @amount_details.setter
+ def amount_details(self, amount_details):
+ """
+ Sets the amount_details of this PblPaymentLinksPost201ResponseOrderInformation.
+
+ :param amount_details: The amount_details of this PblPaymentLinksPost201ResponseOrderInformation.
+ :type: PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+ """
+
+ self._amount_details = amount_details
+
+ @property
+ def line_items(self):
+ """
+ Gets the line_items of this PblPaymentLinksPost201ResponseOrderInformation.
+ List of the line items from the order.
+
+ :return: The line_items of this PblPaymentLinksPost201ResponseOrderInformation.
+ :rtype: list[Iplv2paymentlinksOrderInformationLineItems]
+ """
+ return self._line_items
+
+ @line_items.setter
+ def line_items(self, line_items):
+ """
+ Sets the line_items of this PblPaymentLinksPost201ResponseOrderInformation.
+ List of the line items from the order.
+
+ :param line_items: The line_items of this PblPaymentLinksPost201ResponseOrderInformation.
+ :type: list[Iplv2paymentlinksOrderInformationLineItems]
+ """
+
+ self._line_items = line_items
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksPost201ResponseOrderInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/pbl_payment_links_post201_response_purchase_information.py b/CyberSource/models/pbl_payment_links_post201_response_purchase_information.py
new file mode 100644
index 00000000..fa8b44c8
--- /dev/null
+++ b/CyberSource/models/pbl_payment_links_post201_response_purchase_information.py
@@ -0,0 +1,180 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class PblPaymentLinksPost201ResponsePurchaseInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'purchase_number': 'str',
+ 'created_date': 'str',
+ 'payment_link': 'str'
+ }
+
+ attribute_map = {
+ 'purchase_number': 'purchaseNumber',
+ 'created_date': 'createdDate',
+ 'payment_link': 'paymentLink'
+ }
+
+ def __init__(self, purchase_number=None, created_date=None, payment_link=None):
+ """
+ PblPaymentLinksPost201ResponsePurchaseInformation - a model defined in Swagger
+ """
+
+ self._purchase_number = None
+ self._created_date = None
+ self._payment_link = None
+
+ if purchase_number is not None:
+ self.purchase_number = purchase_number
+ if created_date is not None:
+ self.created_date = created_date
+ if payment_link is not None:
+ self.payment_link = payment_link
+
+ @property
+ def purchase_number(self):
+ """
+ Gets the purchase_number of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ The purchase number
+
+ :return: The purchase_number of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ :rtype: str
+ """
+ return self._purchase_number
+
+ @purchase_number.setter
+ def purchase_number(self, purchase_number):
+ """
+ Sets the purchase_number of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ The purchase number
+
+ :param purchase_number: The purchase_number of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ :type: str
+ """
+
+ self._purchase_number = purchase_number
+
+ @property
+ def created_date(self):
+ """
+ Gets the created_date of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ Date and time (UTC) the invoice was created. 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.
+
+ :return: The created_date of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ :rtype: str
+ """
+ return self._created_date
+
+ @created_date.setter
+ def created_date(self, created_date):
+ """
+ Sets the created_date of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ Date and time (UTC) the invoice was created. 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.
+
+ :param created_date: The created_date of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ :type: str
+ """
+
+ self._created_date = created_date
+
+ @property
+ def payment_link(self):
+ """
+ Gets the payment_link of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ Returns the link to a purchase or donation link when the status is `ACTIVE`.
+
+ :return: The payment_link of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ :rtype: str
+ """
+ return self._payment_link
+
+ @payment_link.setter
+ def payment_link(self, payment_link):
+ """
+ Sets the payment_link of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ Returns the link to a purchase or donation link when the status is `ACTIVE`.
+
+ :param payment_link: The payment_link of this PblPaymentLinksPost201ResponsePurchaseInformation.
+ :type: str
+ """
+
+ self._payment_link = payment_link
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, PblPaymentLinksPost201ResponsePurchaseInformation):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/post_payment_credentials_request.py b/CyberSource/models/post_payment_credentials_request.py
index 321d2b00..cb98aa1e 100644
--- a/CyberSource/models/post_payment_credentials_request.py
+++ b/CyberSource/models/post_payment_credentials_request.py
@@ -30,22 +30,27 @@ class PostPaymentCredentialsRequest(object):
and the value is json key in definition.
"""
swagger_types = {
- 'payment_credential_type': 'str'
+ 'payment_credential_type': 'str',
+ 'transaction_type': 'str'
}
attribute_map = {
- 'payment_credential_type': 'paymentCredentialType'
+ 'payment_credential_type': 'paymentCredentialType',
+ 'transaction_type': 'transactionType'
}
- def __init__(self, payment_credential_type=None):
+ def __init__(self, payment_credential_type=None, transaction_type=None):
"""
PostPaymentCredentialsRequest - a model defined in Swagger
"""
self._payment_credential_type = None
+ self._transaction_type = None
if payment_credential_type is not None:
self.payment_credential_type = payment_credential_type
+ if transaction_type is not None:
+ self.transaction_type = transaction_type
@property
def payment_credential_type(self):
@@ -70,6 +75,29 @@ def payment_credential_type(self, payment_credential_type):
self._payment_credential_type = payment_credential_type
+ @property
+ def transaction_type(self):
+ """
+ Gets the transaction_type of this PostPaymentCredentialsRequest.
+ Specifies the type of transaction for which the network token credentials are required. Possible Values: - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default. - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.
+
+ :return: The transaction_type of this PostPaymentCredentialsRequest.
+ :rtype: str
+ """
+ return self._transaction_type
+
+ @transaction_type.setter
+ def transaction_type(self, transaction_type):
+ """
+ Sets the transaction_type of this PostPaymentCredentialsRequest.
+ Specifies the type of transaction for which the network token credentials are required. Possible Values: - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default. - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.
+
+ :param transaction_type: The transaction_type of this PostPaymentCredentialsRequest.
+ :type: str
+ """
+
+ self._transaction_type = transaction_type
+
def to_dict(self):
"""
Returns the model properties as a dict
diff --git a/CyberSource/models/pts_v2_incremental_authorization_patch201_response_error_information.py b/CyberSource/models/pts_v2_incremental_authorization_patch201_response_error_information.py
index c2bf9eb6..6c49f2b6 100644
--- a/CyberSource/models/pts_v2_incremental_authorization_patch201_response_error_information.py
+++ b/CyberSource/models/pts_v2_incremental_authorization_patch201_response_error_information.py
@@ -61,7 +61,7 @@ def __init__(self, reason=None, message=None, details=None):
def reason(self):
"""
Gets the reason of this PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.
- The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - CONSUMER_AUTHENTICATION_REQUIRED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
+ The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLOCKED_BY_CARDHOLDER - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - CONSUMER_AUTHENTICATION_REQUIRED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
:return: The reason of this PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.
:rtype: str
@@ -72,7 +72,7 @@ def reason(self):
def reason(self, reason):
"""
Sets the reason of this PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.
- The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - CONSUMER_AUTHENTICATION_REQUIRED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
+ The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLOCKED_BY_CARDHOLDER - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - CONSUMER_AUTHENTICATION_REQUIRED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
:param reason: The reason of this PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.
:type: str
diff --git a/CyberSource/models/pts_v2_payments_order_post201_response_order_information_amount_details.py b/CyberSource/models/pts_v2_payments_order_post201_response_order_information_amount_details.py
index 358eba0f..cf17ac96 100644
--- a/CyberSource/models/pts_v2_payments_order_post201_response_order_information_amount_details.py
+++ b/CyberSource/models/pts_v2_payments_order_post201_response_order_information_amount_details.py
@@ -56,7 +56,7 @@ def __init__(self, total_amount=None, currency=None):
def total_amount(self):
"""
Gets the total_amount of this PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.
:rtype: str
@@ -67,7 +67,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/pts_v2_payments_post201_response2_order_information_amount_details.py b/CyberSource/models/pts_v2_payments_post201_response2_order_information_amount_details.py
index 73377f00..d39e19dc 100644
--- a/CyberSource/models/pts_v2_payments_post201_response2_order_information_amount_details.py
+++ b/CyberSource/models/pts_v2_payments_post201_response2_order_information_amount_details.py
@@ -51,7 +51,7 @@ def __init__(self, total_amount=None):
def total_amount(self):
"""
Gets the total_amount of this PtsV2PaymentsPost201Response2OrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this PtsV2PaymentsPost201Response2OrderInformationAmountDetails.
:rtype: str
@@ -62,7 +62,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this PtsV2PaymentsPost201Response2OrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this PtsV2PaymentsPost201Response2OrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/pts_v2_payments_post201_response_error_information.py b/CyberSource/models/pts_v2_payments_post201_response_error_information.py
index 41bf28cb..37ecbd16 100644
--- a/CyberSource/models/pts_v2_payments_post201_response_error_information.py
+++ b/CyberSource/models/pts_v2_payments_post201_response_error_information.py
@@ -61,7 +61,7 @@ def __init__(self, reason=None, message=None, details=None):
def reason(self):
"""
Gets the reason of this PtsV2PaymentsPost201ResponseErrorInformation.
- The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - DECLINED_CHECK - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - PENDING_AUTHENTICATION - ACH_VERIFICATION_FAILED - DECISION_PROFILE_REVIEW - CONSUMER_AUTHENTICATION_REQUIRED - CONSUMER_AUTHENTICATION_FAILED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR - CUSTOMER_WATCHLIST_MATCH - ADDRESS_COUNTRY_WATCHLIST_MATCH - EMAIL_COUNTRY_WATCHLIST_MATCH - IP_COUNTRY_WATCHLIST_MATCH - INVALID_MERCHANT_CONFIGURATION
+ The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLOCKED_BY_CARDHOLDER - DECLINED_CHECK - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - PENDING_AUTHENTICATION - ACH_VERIFICATION_FAILED - DECISION_PROFILE_REVIEW - CONSUMER_AUTHENTICATION_REQUIRED - CONSUMER_AUTHENTICATION_FAILED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR - CUSTOMER_WATCHLIST_MATCH - ADDRESS_COUNTRY_WATCHLIST_MATCH - EMAIL_COUNTRY_WATCHLIST_MATCH - IP_COUNTRY_WATCHLIST_MATCH - INVALID_MERCHANT_CONFIGURATION
:return: The reason of this PtsV2PaymentsPost201ResponseErrorInformation.
:rtype: str
@@ -72,7 +72,7 @@ def reason(self):
def reason(self, reason):
"""
Sets the reason of this PtsV2PaymentsPost201ResponseErrorInformation.
- The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - DECLINED_CHECK - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - PENDING_AUTHENTICATION - ACH_VERIFICATION_FAILED - DECISION_PROFILE_REVIEW - CONSUMER_AUTHENTICATION_REQUIRED - CONSUMER_AUTHENTICATION_FAILED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR - CUSTOMER_WATCHLIST_MATCH - ADDRESS_COUNTRY_WATCHLIST_MATCH - EMAIL_COUNTRY_WATCHLIST_MATCH - IP_COUNTRY_WATCHLIST_MATCH - INVALID_MERCHANT_CONFIGURATION
+ The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLOCKED_BY_CARDHOLDER - DECLINED_CHECK - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - PENDING_AUTHENTICATION - ACH_VERIFICATION_FAILED - DECISION_PROFILE_REVIEW - CONSUMER_AUTHENTICATION_REQUIRED - CONSUMER_AUTHENTICATION_FAILED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR - CUSTOMER_WATCHLIST_MATCH - ADDRESS_COUNTRY_WATCHLIST_MATCH - EMAIL_COUNTRY_WATCHLIST_MATCH - IP_COUNTRY_WATCHLIST_MATCH - INVALID_MERCHANT_CONFIGURATION
:param reason: The reason of this PtsV2PaymentsPost201ResponseErrorInformation.
:type: str
diff --git a/CyberSource/models/pts_v2_payouts_post201_response_error_information.py b/CyberSource/models/pts_v2_payouts_post201_response_error_information.py
index e943585e..127a3a43 100644
--- a/CyberSource/models/pts_v2_payouts_post201_response_error_information.py
+++ b/CyberSource/models/pts_v2_payouts_post201_response_error_information.py
@@ -61,7 +61,7 @@ def __init__(self, reason=None, message=None, details=None):
def reason(self):
"""
Gets the reason of this PtsV2PayoutsPost201ResponseErrorInformation.
- The reason of the status. Possible values: - EXPIRED_CARD - PROCESSOR_DECLINED - STOLEN_LOST_CARD - UNAUTHORIZED_CARD - CVN_NOT_MATCH - INVALID_CVN - BLACKLISTED_CUSTOMER - INVALID_ACCOUNT - GENERAL_DECLINE - RISK_CONTROL_DECLINE - PROCESSOR_RISK_CONTROL_DECLINE - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
+ The reason of the status. Possible values: - EXPIRED_CARD - PROCESSOR_DECLINED - STOLEN_LOST_CARD - UNAUTHORIZED_CARD - CVN_NOT_MATCH - INVALID_CVN - BLOCKED_BY_CARDHOLDER - BLACKLISTED_CUSTOMER - INVALID_ACCOUNT - GENERAL_DECLINE - RISK_CONTROL_DECLINE - PROCESSOR_RISK_CONTROL_DECLINE - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
:return: The reason of this PtsV2PayoutsPost201ResponseErrorInformation.
:rtype: str
@@ -72,7 +72,7 @@ def reason(self):
def reason(self, reason):
"""
Sets the reason of this PtsV2PayoutsPost201ResponseErrorInformation.
- The reason of the status. Possible values: - EXPIRED_CARD - PROCESSOR_DECLINED - STOLEN_LOST_CARD - UNAUTHORIZED_CARD - CVN_NOT_MATCH - INVALID_CVN - BLACKLISTED_CUSTOMER - INVALID_ACCOUNT - GENERAL_DECLINE - RISK_CONTROL_DECLINE - PROCESSOR_RISK_CONTROL_DECLINE - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
+ The reason of the status. Possible values: - EXPIRED_CARD - PROCESSOR_DECLINED - STOLEN_LOST_CARD - UNAUTHORIZED_CARD - CVN_NOT_MATCH - INVALID_CVN - BLOCKED_BY_CARDHOLDER - BLACKLISTED_CUSTOMER - INVALID_ACCOUNT - GENERAL_DECLINE - RISK_CONTROL_DECLINE - PROCESSOR_RISK_CONTROL_DECLINE - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR
:param reason: The reason of this PtsV2PayoutsPost201ResponseErrorInformation.
:type: str
diff --git a/CyberSource/models/pts_v2_payouts_post201_response_order_information_amount_details.py b/CyberSource/models/pts_v2_payouts_post201_response_order_information_amount_details.py
index b867322c..0622c59f 100644
--- a/CyberSource/models/pts_v2_payouts_post201_response_order_information_amount_details.py
+++ b/CyberSource/models/pts_v2_payouts_post201_response_order_information_amount_details.py
@@ -66,7 +66,7 @@ def __init__(self, total_amount=None, currency=None, settlement_amount=None, set
def total_amount(self):
"""
Gets the total_amount of this PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.
:rtype: str
@@ -77,7 +77,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/ptsv2paymentreferences_order_information_amount_details.py b/CyberSource/models/ptsv2paymentreferences_order_information_amount_details.py
index e3052c49..6974783c 100644
--- a/CyberSource/models/ptsv2paymentreferences_order_information_amount_details.py
+++ b/CyberSource/models/ptsv2paymentreferences_order_information_amount_details.py
@@ -111,7 +111,7 @@ def __init__(self, total_amount=None, currency=None, discount_amount=None, tax_a
def total_amount(self):
"""
Gets the total_amount of this Ptsv2paymentreferencesOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Ptsv2paymentreferencesOrderInformationAmountDetails.
:rtype: str
@@ -122,7 +122,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Ptsv2paymentreferencesOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Ptsv2paymentreferencesOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/ptsv2payments_order_information_amount_details.py b/CyberSource/models/ptsv2payments_order_information_amount_details.py
index 324a6358..0bc1a7e5 100644
--- a/CyberSource/models/ptsv2payments_order_information_amount_details.py
+++ b/CyberSource/models/ptsv2payments_order_information_amount_details.py
@@ -219,7 +219,7 @@ def gift_wrap_amount(self, gift_wrap_amount):
def total_amount(self):
"""
Gets the total_amount of this Ptsv2paymentsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Ptsv2paymentsOrderInformationAmountDetails.
:rtype: str
@@ -230,7 +230,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Ptsv2paymentsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Ptsv2paymentsOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/ptsv2paymentsidcaptures_order_information_amount_details.py b/CyberSource/models/ptsv2paymentsidcaptures_order_information_amount_details.py
index 0eadcf0b..27c313e6 100644
--- a/CyberSource/models/ptsv2paymentsidcaptures_order_information_amount_details.py
+++ b/CyberSource/models/ptsv2paymentsidcaptures_order_information_amount_details.py
@@ -146,7 +146,7 @@ def __init__(self, total_amount=None, currency=None, discount_amount=None, duty_
def total_amount(self):
"""
Gets the total_amount of this Ptsv2paymentsidcapturesOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Ptsv2paymentsidcapturesOrderInformationAmountDetails.
:rtype: str
@@ -157,7 +157,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Ptsv2paymentsidcapturesOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Ptsv2paymentsidcapturesOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/ptsv2paymentsidreversals_reversal_information_amount_details.py b/CyberSource/models/ptsv2paymentsidreversals_reversal_information_amount_details.py
index 05dab099..289d0c5b 100644
--- a/CyberSource/models/ptsv2paymentsidreversals_reversal_information_amount_details.py
+++ b/CyberSource/models/ptsv2paymentsidreversals_reversal_information_amount_details.py
@@ -56,7 +56,7 @@ def __init__(self, total_amount=None, currency=None):
def total_amount(self):
"""
Gets the total_amount of this Ptsv2paymentsidreversalsReversalInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Ptsv2paymentsidreversalsReversalInformationAmountDetails.
:rtype: str
@@ -67,7 +67,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Ptsv2paymentsidreversalsReversalInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Ptsv2paymentsidreversalsReversalInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/ptsv2payouts_order_information_amount_details.py b/CyberSource/models/ptsv2payouts_order_information_amount_details.py
index 9ca44ce8..0e523537 100644
--- a/CyberSource/models/ptsv2payouts_order_information_amount_details.py
+++ b/CyberSource/models/ptsv2payouts_order_information_amount_details.py
@@ -61,7 +61,7 @@ def __init__(self, total_amount=None, currency=None, surcharge=None):
def total_amount(self):
"""
Gets the total_amount of this Ptsv2payoutsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Ptsv2payoutsOrderInformationAmountDetails.
:rtype: str
@@ -72,7 +72,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Ptsv2payoutsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Ptsv2payoutsOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/rbsv1subscriptions_processing_information.py b/CyberSource/models/rbsv1subscriptions_processing_information.py
index b738ecbc..30ba139f 100644
--- a/CyberSource/models/rbsv1subscriptions_processing_information.py
+++ b/CyberSource/models/rbsv1subscriptions_processing_information.py
@@ -56,7 +56,7 @@ def __init__(self, commerce_indicator=None, authorization_options=None):
def commerce_indicator(self):
"""
Gets the commerce_indicator of this Rbsv1subscriptionsProcessingInformation.
- Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates. Valid values: - `MOTO` - `RECURRING` Please 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.
+ Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates. Valid values: - `MOTO` - `RECURRING` - `INTERNET` Please 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.
:return: The commerce_indicator of this Rbsv1subscriptionsProcessingInformation.
:rtype: str
@@ -67,7 +67,7 @@ def commerce_indicator(self):
def commerce_indicator(self, commerce_indicator):
"""
Sets the commerce_indicator of this Rbsv1subscriptionsProcessingInformation.
- Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates. Valid values: - `MOTO` - `RECURRING` Please 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.
+ Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates. Valid values: - `MOTO` - `RECURRING` - `INTERNET` Please 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.
:param commerce_indicator: The commerce_indicator of this Rbsv1subscriptionsProcessingInformation.
:type: str
diff --git a/CyberSource/models/riskv1authenticationresults_order_information_amount_details.py b/CyberSource/models/riskv1authenticationresults_order_information_amount_details.py
index b2254b2a..9c403ee9 100644
--- a/CyberSource/models/riskv1authenticationresults_order_information_amount_details.py
+++ b/CyberSource/models/riskv1authenticationresults_order_information_amount_details.py
@@ -79,7 +79,7 @@ def currency(self, currency):
def total_amount(self):
"""
Gets the total_amount of this Riskv1authenticationresultsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Riskv1authenticationresultsOrderInformationAmountDetails.
:rtype: str
@@ -90,7 +90,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Riskv1authenticationresultsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Riskv1authenticationresultsOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/riskv1authentications_order_information_amount_details.py b/CyberSource/models/riskv1authentications_order_information_amount_details.py
index add1ef67..95675186 100644
--- a/CyberSource/models/riskv1authentications_order_information_amount_details.py
+++ b/CyberSource/models/riskv1authentications_order_information_amount_details.py
@@ -77,7 +77,7 @@ def currency(self, currency):
def total_amount(self):
"""
Gets the total_amount of this Riskv1authenticationsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this Riskv1authenticationsOrderInformationAmountDetails.
:rtype: str
@@ -88,7 +88,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this Riskv1authenticationsOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this Riskv1authenticationsOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/tms_bin_lookup_payment_account_information_card.py b/CyberSource/models/tms_bin_lookup_payment_account_information_card.py
index 9967f30c..1fae93b5 100644
--- a/CyberSource/models/tms_bin_lookup_payment_account_information_card.py
+++ b/CyberSource/models/tms_bin_lookup_payment_account_information_card.py
@@ -76,7 +76,7 @@ def __init__(self, type=None, brand_name=None, currency=None, max_length=None, c
def type(self):
"""
Gets the type of this TmsBinLookupPaymentAccountInformationCard.
- This field contains the 3-digit value that indicates the card type. Possible values: - `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. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: Enroute[^1] - `015`: Lowes Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Switch/Solo - `025`: Sams Club Consumer - `026`: Sams Club Business - `027`: Nicos - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `032`: Solo - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style - `046`: J.Crew - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo[^3] - `055`: Capital One Private Label - `058`: Carnet - `059`: ValueLink - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.
+ This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system. Possible values: - `001`: Visa - `002`: Mastercard - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche - `007`: JCB - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: EnRoute - `015`: Lowe's Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL - `023`: Disney Card - `024`: Switch/Solo - `025`: Sam's Club Consumer - `026`: Sam's Club Business - `027`: Nico's - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron - `034`: Dankort - `035`: Laser - `036`: Cartes Bancaire - `037`: Carta Si - `040`: UATP - `041`: HOUSEHOLD - `042`: Maestro - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: J.Crew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo - `055`: Capital One Private Label - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: Meeza - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan
:return: The type of this TmsBinLookupPaymentAccountInformationCard.
:rtype: str
@@ -87,7 +87,7 @@ def type(self):
def type(self, type):
"""
Sets the type of this TmsBinLookupPaymentAccountInformationCard.
- This field contains the 3-digit value that indicates the card type. Possible values: - `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. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: Enroute[^1] - `015`: Lowes Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Switch/Solo - `025`: Sams Club Consumer - `026`: Sams Club Business - `027`: Nicos - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `032`: Solo - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style - `046`: J.Crew - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo[^3] - `055`: Capital One Private Label - `058`: Carnet - `059`: ValueLink - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.
+ This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system. Possible values: - `001`: Visa - `002`: Mastercard - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche - `007`: JCB - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: EnRoute - `015`: Lowe's Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL - `023`: Disney Card - `024`: Switch/Solo - `025`: Sam's Club Consumer - `026`: Sam's Club Business - `027`: Nico's - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron - `034`: Dankort - `035`: Laser - `036`: Cartes Bancaire - `037`: Carta Si - `040`: UATP - `041`: HOUSEHOLD - `042`: Maestro - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: J.Crew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo - `055`: Capital One Private Label - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: Meeza - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan
:param type: The type of this TmsBinLookupPaymentAccountInformationCard.
:type: str
@@ -99,7 +99,7 @@ def type(self, type):
def brand_name(self):
"""
Gets the brand_name of this TmsBinLookupPaymentAccountInformationCard.
- This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS
+ This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - MADA - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS - MEEZA - PAYPAK - JAYWAN
:return: The brand_name of this TmsBinLookupPaymentAccountInformationCard.
:rtype: str
@@ -110,7 +110,7 @@ def brand_name(self):
def brand_name(self, brand_name):
"""
Sets the brand_name of this TmsBinLookupPaymentAccountInformationCard.
- This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS
+ This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - MADA - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS - MEEZA - PAYPAK - JAYWAN
:param brand_name: The brand_name of this TmsBinLookupPaymentAccountInformationCard.
:type: str
diff --git a/CyberSource/models/tms_bin_lookup_payment_account_information_card_brands.py b/CyberSource/models/tms_bin_lookup_payment_account_information_card_brands.py
index 02e723a6..6e73095f 100644
--- a/CyberSource/models/tms_bin_lookup_payment_account_information_card_brands.py
+++ b/CyberSource/models/tms_bin_lookup_payment_account_information_card_brands.py
@@ -56,7 +56,7 @@ def __init__(self, type=None, brand_name=None):
def type(self):
"""
Gets the type of this TmsBinLookupPaymentAccountInformationCardBrands.
- This field contains the 3-digit value that indicates the card type. Possible values: - `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. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: Enroute[^1] - `015`: Lowes Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Switch/Solo - `025`: Sams Club Consumer - `026`: Sams Club Business - `027`: Nicos - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `032`: Solo - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style - `046`: J.Crew - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo[^3] - `055`: Capital One Private Label - `058`: Carnet - `059`: ValueLink - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.
+ This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system. Possible values: - `001`: Visa - `002`: Mastercard - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche - `007`: JCB - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: EnRoute - `015`: Lowe's Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL - `023`: Disney Card - `024`: Switch/Solo - `025`: Sam's Club Consumer - `026`: Sam's Club Business - `027`: Nico's - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron - `034`: Dankort - `035`: Laser - `036`: Cartes Bancaire - `037`: Carta Si - `040`: UATP - `041`: HOUSEHOLD - `042`: Maestro - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: J.Crew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo - `055`: Capital One Private Label - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: Meeza - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan
:return: The type of this TmsBinLookupPaymentAccountInformationCardBrands.
:rtype: str
@@ -67,7 +67,7 @@ def type(self):
def type(self, type):
"""
Sets the type of this TmsBinLookupPaymentAccountInformationCardBrands.
- This field contains the 3-digit value that indicates the card type. Possible values: - `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. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: Enroute[^1] - `015`: Lowes Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Switch/Solo - `025`: Sams Club Consumer - `026`: Sams Club Business - `027`: Nicos - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `032`: Solo - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style - `046`: J.Crew - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo[^3] - `055`: Capital One Private Label - `058`: Carnet - `059`: ValueLink - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.
+ This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system. Possible values: - `001`: Visa - `002`: Mastercard - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche - `007`: JCB - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: EnRoute - `015`: Lowe's Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL - `023`: Disney Card - `024`: Switch/Solo - `025`: Sam's Club Consumer - `026`: Sam's Club Business - `027`: Nico's - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron - `034`: Dankort - `035`: Laser - `036`: Cartes Bancaire - `037`: Carta Si - `040`: UATP - `041`: HOUSEHOLD - `042`: Maestro - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: J.Crew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo - `055`: Capital One Private Label - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: Meeza - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan
:param type: The type of this TmsBinLookupPaymentAccountInformationCardBrands.
:type: str
@@ -79,7 +79,7 @@ def type(self, type):
def brand_name(self):
"""
Gets the brand_name of this TmsBinLookupPaymentAccountInformationCardBrands.
- This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS
+ This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - MADA - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS - MEEZA - PAYPAK - JAYWAN
:return: The brand_name of this TmsBinLookupPaymentAccountInformationCardBrands.
:rtype: str
@@ -90,7 +90,7 @@ def brand_name(self):
def brand_name(self, brand_name):
"""
Sets the brand_name of this TmsBinLookupPaymentAccountInformationCardBrands.
- This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS
+ This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - MADA - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS - MEEZA - PAYPAK - JAYWAN
:param brand_name: The brand_name of this TmsBinLookupPaymentAccountInformationCardBrands.
:type: str
diff --git a/CyberSource/models/tms_bin_lookup_payment_account_information_features.py b/CyberSource/models/tms_bin_lookup_payment_account_information_features.py
index 1b3b4f02..dfb460d6 100644
--- a/CyberSource/models/tms_bin_lookup_payment_account_information_features.py
+++ b/CyberSource/models/tms_bin_lookup_payment_account_information_features.py
@@ -38,7 +38,17 @@ class TmsBinLookupPaymentAccountInformationFeatures(object):
'card_platform': 'str',
'combo_card': 'str',
'corporate_purchase': 'bool',
- 'health_card': 'bool'
+ 'health_card': 'bool',
+ 'shared_bin': 'bool',
+ 'pos_domestic_only': 'bool',
+ 'gambling_allowed': 'bool',
+ 'commercial_card_level2': 'bool',
+ 'commercial_card_level3': 'bool',
+ 'exempt_bin': 'bool',
+ 'account_level_management': 'bool',
+ 'online_gambling_block': 'bool',
+ 'auto_substantiation': 'bool',
+ 'flex_credential': 'bool'
}
attribute_map = {
@@ -50,10 +60,20 @@ class TmsBinLookupPaymentAccountInformationFeatures(object):
'card_platform': 'cardPlatform',
'combo_card': 'comboCard',
'corporate_purchase': 'corporatePurchase',
- 'health_card': 'healthCard'
+ 'health_card': 'healthCard',
+ 'shared_bin': 'sharedBIN',
+ 'pos_domestic_only': 'posDomesticOnly',
+ 'gambling_allowed': 'gamblingAllowed',
+ 'commercial_card_level2': 'commercialCardLevel2',
+ 'commercial_card_level3': 'commercialCardLevel3',
+ 'exempt_bin': 'exemptBIN',
+ 'account_level_management': 'accountLevelManagement',
+ 'online_gambling_block': 'onlineGamblingBlock',
+ 'auto_substantiation': 'autoSubstantiation',
+ 'flex_credential': 'flexCredential'
}
- def __init__(self, account_funding_source=None, account_funding_source_sub_type=None, card_product=None, message_type=None, acceptance_level=None, card_platform=None, combo_card=None, corporate_purchase=None, health_card=None):
+ def __init__(self, account_funding_source=None, account_funding_source_sub_type=None, card_product=None, message_type=None, acceptance_level=None, card_platform=None, combo_card=None, corporate_purchase=None, health_card=None, shared_bin=None, pos_domestic_only=None, gambling_allowed=None, commercial_card_level2=None, commercial_card_level3=None, exempt_bin=None, account_level_management=None, online_gambling_block=None, auto_substantiation=None, flex_credential=None):
"""
TmsBinLookupPaymentAccountInformationFeatures - a model defined in Swagger
"""
@@ -67,6 +87,16 @@ def __init__(self, account_funding_source=None, account_funding_source_sub_type=
self._combo_card = None
self._corporate_purchase = None
self._health_card = None
+ self._shared_bin = None
+ self._pos_domestic_only = None
+ self._gambling_allowed = None
+ self._commercial_card_level2 = None
+ self._commercial_card_level3 = None
+ self._exempt_bin = None
+ self._account_level_management = None
+ self._online_gambling_block = None
+ self._auto_substantiation = None
+ self._flex_credential = None
if account_funding_source is not None:
self.account_funding_source = account_funding_source
@@ -86,6 +116,26 @@ def __init__(self, account_funding_source=None, account_funding_source_sub_type=
self.corporate_purchase = corporate_purchase
if health_card is not None:
self.health_card = health_card
+ if shared_bin is not None:
+ self.shared_bin = shared_bin
+ if pos_domestic_only is not None:
+ self.pos_domestic_only = pos_domestic_only
+ if gambling_allowed is not None:
+ self.gambling_allowed = gambling_allowed
+ if commercial_card_level2 is not None:
+ self.commercial_card_level2 = commercial_card_level2
+ if commercial_card_level3 is not None:
+ self.commercial_card_level3 = commercial_card_level3
+ if exempt_bin is not None:
+ self.exempt_bin = exempt_bin
+ if account_level_management is not None:
+ self.account_level_management = account_level_management
+ if online_gambling_block is not None:
+ self.online_gambling_block = online_gambling_block
+ if auto_substantiation is not None:
+ self.auto_substantiation = auto_substantiation
+ if flex_credential is not None:
+ self.flex_credential = flex_credential
@property
def account_funding_source(self):
@@ -206,7 +256,7 @@ def acceptance_level(self, acceptance_level):
def card_platform(self):
"""
Gets the card_platform of this TmsBinLookupPaymentAccountInformationFeatures.
- This field contains the type of card platform. Possible values: - `BUSINESS` - `CONSUMER` - `COMMERCIAL` - `GOVERNMENT`
+ This field contains the type of card platform. Possible values: - `BUSINESS` - `CONSUMER` - `CORPORATE` - `COMMERCIAL` - `GOVERNMENT`
:return: The card_platform of this TmsBinLookupPaymentAccountInformationFeatures.
:rtype: str
@@ -217,7 +267,7 @@ def card_platform(self):
def card_platform(self, card_platform):
"""
Sets the card_platform of this TmsBinLookupPaymentAccountInformationFeatures.
- This field contains the type of card platform. Possible values: - `BUSINESS` - `CONSUMER` - `COMMERCIAL` - `GOVERNMENT`
+ This field contains the type of card platform. Possible values: - `BUSINESS` - `CONSUMER` - `CORPORATE` - `COMMERCIAL` - `GOVERNMENT`
:param card_platform: The card_platform of this TmsBinLookupPaymentAccountInformationFeatures.
:type: str
@@ -252,7 +302,7 @@ def combo_card(self, combo_card):
def corporate_purchase(self):
"""
Gets the corporate_purchase of this TmsBinLookupPaymentAccountInformationFeatures.
- This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards. Possible values: - `true` - `false`
+ This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards. Possible values: - `true` - `false`
:return: The corporate_purchase of this TmsBinLookupPaymentAccountInformationFeatures.
:rtype: bool
@@ -263,7 +313,7 @@ def corporate_purchase(self):
def corporate_purchase(self, corporate_purchase):
"""
Sets the corporate_purchase of this TmsBinLookupPaymentAccountInformationFeatures.
- This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards. Possible values: - `true` - `false`
+ This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards. Possible values: - `true` - `false`
:param corporate_purchase: The corporate_purchase of this TmsBinLookupPaymentAccountInformationFeatures.
:type: bool
@@ -275,7 +325,7 @@ def corporate_purchase(self, corporate_purchase):
def health_card(self):
"""
Gets the health_card of this TmsBinLookupPaymentAccountInformationFeatures.
- This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs. Possible values: - `true` - `false`
+ This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs. Possible values: - `true` - `false`
:return: The health_card of this TmsBinLookupPaymentAccountInformationFeatures.
:rtype: bool
@@ -286,7 +336,7 @@ def health_card(self):
def health_card(self, health_card):
"""
Sets the health_card of this TmsBinLookupPaymentAccountInformationFeatures.
- This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs. Possible values: - `true` - `false`
+ This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs. Possible values: - `true` - `false`
:param health_card: The health_card of this TmsBinLookupPaymentAccountInformationFeatures.
:type: bool
@@ -294,6 +344,236 @@ def health_card(self, health_card):
self._health_card = health_card
+ @property
+ def shared_bin(self):
+ """
+ Gets the shared_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the BIN is shared by multiple issuers Possible values: - `true` - `false`
+
+ :return: The shared_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._shared_bin
+
+ @shared_bin.setter
+ def shared_bin(self, shared_bin):
+ """
+ Sets the shared_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the BIN is shared by multiple issuers Possible values: - `true` - `false`
+
+ :param shared_bin: The shared_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._shared_bin = shared_bin
+
+ @property
+ def pos_domestic_only(self):
+ """
+ Gets the pos_domestic_only of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the BIN is valid only for POS domestic usage. Possible values: - `true` - `false`
+
+ :return: The pos_domestic_only of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._pos_domestic_only
+
+ @pos_domestic_only.setter
+ def pos_domestic_only(self, pos_domestic_only):
+ """
+ Sets the pos_domestic_only of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the BIN is valid only for POS domestic usage. Possible values: - `true` - `false`
+
+ :param pos_domestic_only: The pos_domestic_only of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._pos_domestic_only = pos_domestic_only
+
+ @property
+ def gambling_allowed(self):
+ """
+ Gets the gambling_allowed of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if gambling transactions are allowed on the BIN. Possible values: - `true` - `false`
+
+ :return: The gambling_allowed of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._gambling_allowed
+
+ @gambling_allowed.setter
+ def gambling_allowed(self, gambling_allowed):
+ """
+ Sets the gambling_allowed of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if gambling transactions are allowed on the BIN. Possible values: - `true` - `false`
+
+ :param gambling_allowed: The gambling_allowed of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._gambling_allowed = gambling_allowed
+
+ @property
+ def commercial_card_level2(self):
+ """
+ Gets the commercial_card_level2 of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if a transaction on the instrument qualifies for level 2 interchange rates. Possible values: - `true` - `false`
+
+ :return: The commercial_card_level2 of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._commercial_card_level2
+
+ @commercial_card_level2.setter
+ def commercial_card_level2(self, commercial_card_level2):
+ """
+ Sets the commercial_card_level2 of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if a transaction on the instrument qualifies for level 2 interchange rates. Possible values: - `true` - `false`
+
+ :param commercial_card_level2: The commercial_card_level2 of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._commercial_card_level2 = commercial_card_level2
+
+ @property
+ def commercial_card_level3(self):
+ """
+ Gets the commercial_card_level3 of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if a transaction on the instrument qualifies for level 3 interchange rates. Possible values: - `true` - `false`
+
+ :return: The commercial_card_level3 of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._commercial_card_level3
+
+ @commercial_card_level3.setter
+ def commercial_card_level3(self, commercial_card_level3):
+ """
+ Sets the commercial_card_level3 of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if a transaction on the instrument qualifies for level 3 interchange rates. Possible values: - `true` - `false`
+
+ :param commercial_card_level3: The commercial_card_level3 of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._commercial_card_level3 = commercial_card_level3
+
+ @property
+ def exempt_bin(self):
+ """
+ Gets the exempt_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if a transaction on the instrument qualifies for government exempt interchange fee. Possible values: - `true` - `false`
+
+ :return: The exempt_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._exempt_bin
+
+ @exempt_bin.setter
+ def exempt_bin(self, exempt_bin):
+ """
+ Sets the exempt_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if a transaction on the instrument qualifies for government exempt interchange fee. Possible values: - `true` - `false`
+
+ :param exempt_bin: The exempt_bin of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._exempt_bin = exempt_bin
+
+ @property
+ def account_level_management(self):
+ """
+ Gets the account_level_management of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the BIN participates in Account Level Management (ALM). Possible values: - `true` - `false`
+
+ :return: The account_level_management of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._account_level_management
+
+ @account_level_management.setter
+ def account_level_management(self, account_level_management):
+ """
+ Sets the account_level_management of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the BIN participates in Account Level Management (ALM). Possible values: - `true` - `false`
+
+ :param account_level_management: The account_level_management of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._account_level_management = account_level_management
+
+ @property
+ def online_gambling_block(self):
+ """
+ Gets the online_gambling_block of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if online gambling is blocked on the BIN. Possible values: - `true` - `false`
+
+ :return: The online_gambling_block of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._online_gambling_block
+
+ @online_gambling_block.setter
+ def online_gambling_block(self, online_gambling_block):
+ """
+ Sets the online_gambling_block of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if online gambling is blocked on the BIN. Possible values: - `true` - `false`
+
+ :param online_gambling_block: The online_gambling_block of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._online_gambling_block = online_gambling_block
+
+ @property
+ def auto_substantiation(self):
+ """
+ Gets the auto_substantiation of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if auto-substantiation is enabled on the BIN. Possible values: - `true` - `false`
+
+ :return: The auto_substantiation of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._auto_substantiation
+
+ @auto_substantiation.setter
+ def auto_substantiation(self, auto_substantiation):
+ """
+ Sets the auto_substantiation of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if auto-substantiation is enabled on the BIN. Possible values: - `true` - `false`
+
+ :param auto_substantiation: The auto_substantiation of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._auto_substantiation = auto_substantiation
+
+ @property
+ def flex_credential(self):
+ """
+ Gets the flex_credential of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the instrument is a flex credential. Possible values: - `true` - `false`
+
+ :return: The flex_credential of this TmsBinLookupPaymentAccountInformationFeatures.
+ :rtype: bool
+ """
+ return self._flex_credential
+
+ @flex_credential.setter
+ def flex_credential(self, flex_credential):
+ """
+ Sets the flex_credential of this TmsBinLookupPaymentAccountInformationFeatures.
+ This field indicates if the instrument is a flex credential. Possible values: - `true` - `false`
+
+ :param flex_credential: The flex_credential of this TmsBinLookupPaymentAccountInformationFeatures.
+ :type: bool
+ """
+
+ self._flex_credential = flex_credential
+
def to_dict(self):
"""
Returns the model properties as a dict
diff --git a/CyberSource/models/tmsv2_tokenized_card.py b/CyberSource/models/tmsv2_tokenized_card.py
index 55863733..e1a5b79a 100644
--- a/CyberSource/models/tmsv2_tokenized_card.py
+++ b/CyberSource/models/tmsv2_tokenized_card.py
@@ -40,6 +40,9 @@ class Tmsv2TokenizedCard(object):
'state': 'str',
'reason': 'str',
'number': 'str',
+ 'expiration_month': 'str',
+ 'expiration_year': 'str',
+ 'type': 'str',
'cryptogram': 'str',
'security_code': 'str',
'eci': 'str',
@@ -63,6 +66,9 @@ class Tmsv2TokenizedCard(object):
'state': 'state',
'reason': 'reason',
'number': 'number',
+ 'expiration_month': 'expirationMonth',
+ 'expiration_year': 'expirationYear',
+ 'type': 'type',
'cryptogram': 'cryptogram',
'security_code': 'securityCode',
'eci': 'eci',
@@ -75,7 +81,7 @@ class Tmsv2TokenizedCard(object):
'metadata': 'metadata'
}
- def __init__(self, links=None, id=None, object=None, account_reference_id=None, consumer_id=None, create_instrument_identifier=None, source=None, state=None, reason=None, number=None, cryptogram=None, security_code=None, eci=None, requestor_id=None, enrollment_id=None, token_reference_id=None, payment_account_reference=None, card=None, passcode=None, metadata=None):
+ def __init__(self, links=None, id=None, object=None, account_reference_id=None, consumer_id=None, create_instrument_identifier=None, source=None, state=None, reason=None, number=None, expiration_month=None, expiration_year=None, type=None, cryptogram=None, security_code=None, eci=None, requestor_id=None, enrollment_id=None, token_reference_id=None, payment_account_reference=None, card=None, passcode=None, metadata=None):
"""
Tmsv2TokenizedCard - a model defined in Swagger
"""
@@ -90,6 +96,9 @@ def __init__(self, links=None, id=None, object=None, account_reference_id=None,
self._state = None
self._reason = None
self._number = None
+ self._expiration_month = None
+ self._expiration_year = None
+ self._type = None
self._cryptogram = None
self._security_code = None
self._eci = None
@@ -121,6 +130,12 @@ def __init__(self, links=None, id=None, object=None, account_reference_id=None,
self.reason = reason
if number is not None:
self.number = number
+ if expiration_month is not None:
+ self.expiration_month = expiration_month
+ if expiration_year is not None:
+ self.expiration_year = expiration_year
+ if type is not None:
+ self.type = type
if cryptogram is not None:
self.cryptogram = cryptogram
if security_code is not None:
@@ -370,6 +385,75 @@ def number(self, number):
self._number = number
+ @property
+ def expiration_month(self):
+ """
+ Gets the expiration_month of this Tmsv2TokenizedCard.
+ Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`.
+
+ :return: The expiration_month of this Tmsv2TokenizedCard.
+ :rtype: str
+ """
+ return self._expiration_month
+
+ @expiration_month.setter
+ def expiration_month(self, expiration_month):
+ """
+ Sets the expiration_month of this Tmsv2TokenizedCard.
+ Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`.
+
+ :param expiration_month: The expiration_month of this Tmsv2TokenizedCard.
+ :type: str
+ """
+
+ self._expiration_month = expiration_month
+
+ @property
+ def expiration_year(self):
+ """
+ Gets the expiration_year of this Tmsv2TokenizedCard.
+ Four-digit year in which the network token expires. Format: `YYYY`.
+
+ :return: The expiration_year of this Tmsv2TokenizedCard.
+ :rtype: str
+ """
+ return self._expiration_year
+
+ @expiration_year.setter
+ def expiration_year(self, expiration_year):
+ """
+ Sets the expiration_year of this Tmsv2TokenizedCard.
+ Four-digit year in which the network token expires. Format: `YYYY`.
+
+ :param expiration_year: The expiration_year of this Tmsv2TokenizedCard.
+ :type: str
+ """
+
+ self._expiration_year = expiration_year
+
+ @property
+ def type(self):
+ """
+ Gets the type of this Tmsv2TokenizedCard.
+ The type of card (Card Network). Possible Values: - visa - mastercard - americanexpress
+
+ :return: The type of this Tmsv2TokenizedCard.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this Tmsv2TokenizedCard.
+ The type of card (Card Network). Possible Values: - visa - mastercard - americanexpress
+
+ :param type: The type of this Tmsv2TokenizedCard.
+ :type: str
+ """
+
+ self._type = type
+
@property
def cryptogram(self):
"""
diff --git a/CyberSource/models/tmsv2_tokenized_card_card.py b/CyberSource/models/tmsv2_tokenized_card_card.py
index eaa9f936..915e3cbc 100644
--- a/CyberSource/models/tmsv2_tokenized_card_card.py
+++ b/CyberSource/models/tmsv2_tokenized_card_card.py
@@ -140,7 +140,7 @@ def expiration_year(self, expiration_year):
def type(self):
"""
Gets the type of this Tmsv2TokenizedCardCard.
- The type of card(Card network). Possible Values: 001: visa
+ The type of card (Card Network). Possible Values: - 001: visa
:return: The type of this Tmsv2TokenizedCardCard.
:rtype: str
@@ -151,7 +151,7 @@ def type(self):
def type(self, type):
"""
Sets the type of this Tmsv2TokenizedCardCard.
- The type of card(Card network). Possible Values: 001: visa
+ The type of card (Card Network). Possible Values: - 001: visa
:param type: The type of this Tmsv2TokenizedCardCard.
:type: str
diff --git a/CyberSource/models/tokenizedcard_request.py b/CyberSource/models/tokenizedcard_request.py
new file mode 100644
index 00000000..0566b87c
--- /dev/null
+++ b/CyberSource/models/tokenizedcard_request.py
@@ -0,0 +1,732 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class TokenizedcardRequest(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'links': 'Tmsv2TokenizedCardLinks',
+ 'id': 'str',
+ 'object': 'str',
+ 'account_reference_id': 'str',
+ 'consumer_id': 'str',
+ 'create_instrument_identifier': 'bool',
+ 'source': 'str',
+ 'state': 'str',
+ 'reason': 'str',
+ 'number': 'str',
+ 'expiration_month': 'str',
+ 'expiration_year': 'str',
+ 'type': 'str',
+ 'cryptogram': 'str',
+ 'security_code': 'str',
+ 'eci': 'str',
+ 'requestor_id': 'str',
+ 'enrollment_id': 'str',
+ 'token_reference_id': 'str',
+ 'payment_account_reference': 'str',
+ 'card': 'Tmsv2TokenizedCardCard',
+ 'passcode': 'Tmsv2TokenizedCardPasscode',
+ 'metadata': 'Tmsv2TokenizedCardMetadata'
+ }
+
+ attribute_map = {
+ 'links': '_links',
+ 'id': 'id',
+ 'object': 'object',
+ 'account_reference_id': 'accountReferenceId',
+ 'consumer_id': 'consumerId',
+ 'create_instrument_identifier': 'createInstrumentIdentifier',
+ 'source': 'source',
+ 'state': 'state',
+ 'reason': 'reason',
+ 'number': 'number',
+ 'expiration_month': 'expirationMonth',
+ 'expiration_year': 'expirationYear',
+ 'type': 'type',
+ 'cryptogram': 'cryptogram',
+ 'security_code': 'securityCode',
+ 'eci': 'eci',
+ 'requestor_id': 'requestorId',
+ 'enrollment_id': 'enrollmentId',
+ 'token_reference_id': 'tokenReferenceId',
+ 'payment_account_reference': 'paymentAccountReference',
+ 'card': 'card',
+ 'passcode': 'passcode',
+ 'metadata': 'metadata'
+ }
+
+ def __init__(self, links=None, id=None, object=None, account_reference_id=None, consumer_id=None, create_instrument_identifier=None, source=None, state=None, reason=None, number=None, expiration_month=None, expiration_year=None, type=None, cryptogram=None, security_code=None, eci=None, requestor_id=None, enrollment_id=None, token_reference_id=None, payment_account_reference=None, card=None, passcode=None, metadata=None):
+ """
+ TokenizedcardRequest - a model defined in Swagger
+ """
+
+ self._links = None
+ self._id = None
+ self._object = None
+ self._account_reference_id = None
+ self._consumer_id = None
+ self._create_instrument_identifier = None
+ self._source = None
+ self._state = None
+ self._reason = None
+ self._number = None
+ self._expiration_month = None
+ self._expiration_year = None
+ self._type = None
+ self._cryptogram = None
+ self._security_code = None
+ self._eci = None
+ self._requestor_id = None
+ self._enrollment_id = None
+ self._token_reference_id = None
+ self._payment_account_reference = None
+ self._card = None
+ self._passcode = None
+ self._metadata = None
+
+ if links is not None:
+ self.links = links
+ if id is not None:
+ self.id = id
+ if object is not None:
+ self.object = object
+ if account_reference_id is not None:
+ self.account_reference_id = account_reference_id
+ if consumer_id is not None:
+ self.consumer_id = consumer_id
+ if create_instrument_identifier is not None:
+ self.create_instrument_identifier = create_instrument_identifier
+ if source is not None:
+ self.source = source
+ if state is not None:
+ self.state = state
+ if reason is not None:
+ self.reason = reason
+ if number is not None:
+ self.number = number
+ if expiration_month is not None:
+ self.expiration_month = expiration_month
+ if expiration_year is not None:
+ self.expiration_year = expiration_year
+ if type is not None:
+ self.type = type
+ if cryptogram is not None:
+ self.cryptogram = cryptogram
+ if security_code is not None:
+ self.security_code = security_code
+ if eci is not None:
+ self.eci = eci
+ if requestor_id is not None:
+ self.requestor_id = requestor_id
+ if enrollment_id is not None:
+ self.enrollment_id = enrollment_id
+ if token_reference_id is not None:
+ self.token_reference_id = token_reference_id
+ if payment_account_reference is not None:
+ self.payment_account_reference = payment_account_reference
+ if card is not None:
+ self.card = card
+ if passcode is not None:
+ self.passcode = passcode
+ if metadata is not None:
+ self.metadata = metadata
+
+ @property
+ def links(self):
+ """
+ Gets the links of this TokenizedcardRequest.
+
+ :return: The links of this TokenizedcardRequest.
+ :rtype: Tmsv2TokenizedCardLinks
+ """
+ return self._links
+
+ @links.setter
+ def links(self, links):
+ """
+ Sets the links of this TokenizedcardRequest.
+
+ :param links: The links of this TokenizedcardRequest.
+ :type: Tmsv2TokenizedCardLinks
+ """
+
+ self._links = links
+
+ @property
+ def id(self):
+ """
+ Gets the id of this TokenizedcardRequest.
+ The Id of the Tokenized Card.
+
+ :return: The id of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this TokenizedcardRequest.
+ The Id of the Tokenized Card.
+
+ :param id: The id of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._id = id
+
+ @property
+ def object(self):
+ """
+ Gets the object of this TokenizedcardRequest.
+ The type. Possible Values: - tokenizedCard
+
+ :return: The object of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._object
+
+ @object.setter
+ def object(self, object):
+ """
+ Sets the object of this TokenizedcardRequest.
+ The type. Possible Values: - tokenizedCard
+
+ :param object: The object of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._object = object
+
+ @property
+ def account_reference_id(self):
+ """
+ Gets the account_reference_id of this TokenizedcardRequest.
+ An identifier provided by the issuer for the account.
+
+ :return: The account_reference_id of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._account_reference_id
+
+ @account_reference_id.setter
+ def account_reference_id(self, account_reference_id):
+ """
+ Sets the account_reference_id of this TokenizedcardRequest.
+ An identifier provided by the issuer for the account.
+
+ :param account_reference_id: The account_reference_id of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._account_reference_id = account_reference_id
+
+ @property
+ def consumer_id(self):
+ """
+ Gets the consumer_id of this TokenizedcardRequest.
+ Identifier of the consumer within the wallet. Maximum 24 characters for VTS.
+
+ :return: The consumer_id of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._consumer_id
+
+ @consumer_id.setter
+ def consumer_id(self, consumer_id):
+ """
+ Sets the consumer_id of this TokenizedcardRequest.
+ Identifier of the consumer within the wallet. Maximum 24 characters for VTS.
+
+ :param consumer_id: The consumer_id of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._consumer_id = consumer_id
+
+ @property
+ def create_instrument_identifier(self):
+ """
+ Gets the create_instrument_identifier of this TokenizedcardRequest.
+ Specifies whether the InstrumentId should be created (true) or not (false). Possible Values: - `true`: The InstrumentId should be created. - `false`: The InstrumentId should be created.
+
+ :return: The create_instrument_identifier of this TokenizedcardRequest.
+ :rtype: bool
+ """
+ return self._create_instrument_identifier
+
+ @create_instrument_identifier.setter
+ def create_instrument_identifier(self, create_instrument_identifier):
+ """
+ Sets the create_instrument_identifier of this TokenizedcardRequest.
+ Specifies whether the InstrumentId should be created (true) or not (false). Possible Values: - `true`: The InstrumentId should be created. - `false`: The InstrumentId should be created.
+
+ :param create_instrument_identifier: The create_instrument_identifier of this TokenizedcardRequest.
+ :type: bool
+ """
+
+ self._create_instrument_identifier = create_instrument_identifier
+
+ @property
+ def source(self):
+ """
+ Gets the source of this TokenizedcardRequest.
+ Source of the payment instrument. Possible Values: - ONFILE - TOKEN - ISSUER
+
+ :return: The source of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._source
+
+ @source.setter
+ def source(self, source):
+ """
+ Sets the source of this TokenizedcardRequest.
+ Source of the payment instrument. Possible Values: - ONFILE - TOKEN - ISSUER
+
+ :param source: The source of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._source = source
+
+ @property
+ def state(self):
+ """
+ Gets the state of this TokenizedcardRequest.
+ State of the network token or network token provision. Possible Values: ACTIVE : Network token is active. SUSPENDED : Network token is suspended. This state can change back to ACTIVE. DELETED : This is a final state for a network token instance. UNPROVISIONED : A previous network token.
+
+ :return: The state of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """
+ Sets the state of this TokenizedcardRequest.
+ State of the network token or network token provision. Possible Values: ACTIVE : Network token is active. SUSPENDED : Network token is suspended. This state can change back to ACTIVE. DELETED : This is a final state for a network token instance. UNPROVISIONED : A previous network token.
+
+ :param state: The state of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._state = state
+
+ @property
+ def reason(self):
+ """
+ Gets the reason of this TokenizedcardRequest.
+ Issuers state for the network token Possible Values: - INVALID_REQUEST : The network token provision request contained invalid data. - CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified. - CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization. - CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization. - DECLINED : Card can currently not be used with issuer for tokenization. - SERVICE_UNAVAILABLE : The network token service was unavailable or timed out. - SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
+
+ :return: The reason of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._reason
+
+ @reason.setter
+ def reason(self, reason):
+ """
+ Sets the reason of this TokenizedcardRequest.
+ Issuers state for the network token Possible Values: - INVALID_REQUEST : The network token provision request contained invalid data. - CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified. - CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization. - CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization. - DECLINED : Card can currently not be used with issuer for tokenization. - SERVICE_UNAVAILABLE : The network token service was unavailable or timed out. - SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
+
+ :param reason: The reason of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._reason = reason
+
+ @property
+ def number(self):
+ """
+ Gets the number of this TokenizedcardRequest.
+ The token requestor's network token for the provided PAN and consumer Id, if available.
+
+ :return: The number of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._number
+
+ @number.setter
+ def number(self, number):
+ """
+ Sets the number of this TokenizedcardRequest.
+ The token requestor's network token for the provided PAN and consumer Id, if available.
+
+ :param number: The number of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._number = number
+
+ @property
+ def expiration_month(self):
+ """
+ Gets the expiration_month of this TokenizedcardRequest.
+ Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`.
+
+ :return: The expiration_month of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._expiration_month
+
+ @expiration_month.setter
+ def expiration_month(self, expiration_month):
+ """
+ Sets the expiration_month of this TokenizedcardRequest.
+ Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`.
+
+ :param expiration_month: The expiration_month of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._expiration_month = expiration_month
+
+ @property
+ def expiration_year(self):
+ """
+ Gets the expiration_year of this TokenizedcardRequest.
+ Four-digit year in which the network token expires. Format: `YYYY`.
+
+ :return: The expiration_year of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._expiration_year
+
+ @expiration_year.setter
+ def expiration_year(self, expiration_year):
+ """
+ Sets the expiration_year of this TokenizedcardRequest.
+ Four-digit year in which the network token expires. Format: `YYYY`.
+
+ :param expiration_year: The expiration_year of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._expiration_year = expiration_year
+
+ @property
+ def type(self):
+ """
+ Gets the type of this TokenizedcardRequest.
+ The type of card (Card Network). Possible Values: - visa - mastercard - americanexpress
+
+ :return: The type of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this TokenizedcardRequest.
+ The type of card (Card Network). Possible Values: - visa - mastercard - americanexpress
+
+ :param type: The type of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._type = type
+
+ @property
+ def cryptogram(self):
+ """
+ Gets the cryptogram of this TokenizedcardRequest.
+ Value generated by the card association to be used alongside the network token for processing a payment.
+
+ :return: The cryptogram of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._cryptogram
+
+ @cryptogram.setter
+ def cryptogram(self, cryptogram):
+ """
+ Sets the cryptogram of this TokenizedcardRequest.
+ Value generated by the card association to be used alongside the network token for processing a payment.
+
+ :param cryptogram: The cryptogram of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._cryptogram = cryptogram
+
+ @property
+ def security_code(self):
+ """
+ Gets the security_code of this TokenizedcardRequest.
+ 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.
+
+ :return: The security_code of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._security_code
+
+ @security_code.setter
+ def security_code(self, security_code):
+ """
+ Sets the security_code of this TokenizedcardRequest.
+ 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.
+
+ :param security_code: The security_code of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._security_code = security_code
+
+ @property
+ def eci(self):
+ """
+ Gets the eci of this TokenizedcardRequest.
+ Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.
+
+ :return: The eci of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._eci
+
+ @eci.setter
+ def eci(self, eci):
+ """
+ Sets the eci of this TokenizedcardRequest.
+ Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.
+
+ :param eci: The eci of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._eci = eci
+
+ @property
+ def requestor_id(self):
+ """
+ Gets the requestor_id of this TokenizedcardRequest.
+ 11-digit identifier that uniquely identifies the Token Requestor.
+
+ :return: The requestor_id of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._requestor_id
+
+ @requestor_id.setter
+ def requestor_id(self, requestor_id):
+ """
+ Sets the requestor_id of this TokenizedcardRequest.
+ 11-digit identifier that uniquely identifies the Token Requestor.
+
+ :param requestor_id: The requestor_id of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._requestor_id = requestor_id
+
+ @property
+ def enrollment_id(self):
+ """
+ Gets the enrollment_id of this TokenizedcardRequest.
+ Unique id to identify this PAN/ enrollment.
+
+ :return: The enrollment_id of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._enrollment_id
+
+ @enrollment_id.setter
+ def enrollment_id(self, enrollment_id):
+ """
+ Sets the enrollment_id of this TokenizedcardRequest.
+ Unique id to identify this PAN/ enrollment.
+
+ :param enrollment_id: The enrollment_id of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._enrollment_id = enrollment_id
+
+ @property
+ def token_reference_id(self):
+ """
+ Gets the token_reference_id of this TokenizedcardRequest.
+ Unique ID for netwrok token.
+
+ :return: The token_reference_id of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._token_reference_id
+
+ @token_reference_id.setter
+ def token_reference_id(self, token_reference_id):
+ """
+ Sets the token_reference_id of this TokenizedcardRequest.
+ Unique ID for netwrok token.
+
+ :param token_reference_id: The token_reference_id of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._token_reference_id = token_reference_id
+
+ @property
+ def payment_account_reference(self):
+ """
+ Gets the payment_account_reference of this TokenizedcardRequest.
+ Payment account reference.
+
+ :return: The payment_account_reference of this TokenizedcardRequest.
+ :rtype: str
+ """
+ return self._payment_account_reference
+
+ @payment_account_reference.setter
+ def payment_account_reference(self, payment_account_reference):
+ """
+ Sets the payment_account_reference of this TokenizedcardRequest.
+ Payment account reference.
+
+ :param payment_account_reference: The payment_account_reference of this TokenizedcardRequest.
+ :type: str
+ """
+
+ self._payment_account_reference = payment_account_reference
+
+ @property
+ def card(self):
+ """
+ Gets the card of this TokenizedcardRequest.
+
+ :return: The card of this TokenizedcardRequest.
+ :rtype: Tmsv2TokenizedCardCard
+ """
+ return self._card
+
+ @card.setter
+ def card(self, card):
+ """
+ Sets the card of this TokenizedcardRequest.
+
+ :param card: The card of this TokenizedcardRequest.
+ :type: Tmsv2TokenizedCardCard
+ """
+
+ self._card = card
+
+ @property
+ def passcode(self):
+ """
+ Gets the passcode of this TokenizedcardRequest.
+
+ :return: The passcode of this TokenizedcardRequest.
+ :rtype: Tmsv2TokenizedCardPasscode
+ """
+ return self._passcode
+
+ @passcode.setter
+ def passcode(self, passcode):
+ """
+ Sets the passcode of this TokenizedcardRequest.
+
+ :param passcode: The passcode of this TokenizedcardRequest.
+ :type: Tmsv2TokenizedCardPasscode
+ """
+
+ self._passcode = passcode
+
+ @property
+ def metadata(self):
+ """
+ Gets the metadata of this TokenizedcardRequest.
+
+ :return: The metadata of this TokenizedcardRequest.
+ :rtype: Tmsv2TokenizedCardMetadata
+ """
+ return self._metadata
+
+ @metadata.setter
+ def metadata(self, metadata):
+ """
+ Sets the metadata of this TokenizedcardRequest.
+
+ :param metadata: The metadata of this TokenizedcardRequest.
+ :type: Tmsv2TokenizedCardMetadata
+ """
+
+ self._metadata = metadata
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, TokenizedcardRequest):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/tss_v2_transactions_get200_response_order_information_amount_details.py b/CyberSource/models/tss_v2_transactions_get200_response_order_information_amount_details.py
index 7bd2ea7d..3660c3d7 100644
--- a/CyberSource/models/tss_v2_transactions_get200_response_order_information_amount_details.py
+++ b/CyberSource/models/tss_v2_transactions_get200_response_order_information_amount_details.py
@@ -81,7 +81,7 @@ def __init__(self, total_amount=None, currency=None, tax_amount=None, authorized
def total_amount(self):
"""
Gets the total_amount of this TssV2TransactionsGet200ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:return: The total_amount of this TssV2TransactionsGet200ResponseOrderInformationAmountDetails.
:rtype: str
@@ -92,7 +92,7 @@ def total_amount(self):
def total_amount(self, total_amount):
"""
Sets the total_amount of this TssV2TransactionsGet200ResponseOrderInformationAmountDetails.
- 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
+ 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used.
:param total_amount: The total_amount of this TssV2TransactionsGet200ResponseOrderInformationAmountDetails.
:type: str
diff --git a/CyberSource/models/update_invoice_request.py b/CyberSource/models/update_invoice_request.py
index ee6b382d..771f9daf 100644
--- a/CyberSource/models/update_invoice_request.py
+++ b/CyberSource/models/update_invoice_request.py
@@ -31,31 +31,34 @@ class UpdateInvoiceRequest(object):
"""
swagger_types = {
'customer_information': 'Invoicingv2invoicesCustomerInformation',
+ 'processing_information': 'Invoicingv2invoicesProcessingInformation',
'invoice_information': 'Invoicingv2invoicesidInvoiceInformation',
'order_information': 'Invoicingv2invoicesOrderInformation'
}
attribute_map = {
'customer_information': 'customerInformation',
+ 'processing_information': 'processingInformation',
'invoice_information': 'invoiceInformation',
'order_information': 'orderInformation'
}
- def __init__(self, customer_information=None, invoice_information=None, order_information=None):
+ def __init__(self, customer_information=None, processing_information=None, invoice_information=None, order_information=None):
"""
UpdateInvoiceRequest - a model defined in Swagger
"""
self._customer_information = None
+ self._processing_information = None
self._invoice_information = None
self._order_information = None
if customer_information is not None:
self.customer_information = customer_information
- if invoice_information is not None:
- self.invoice_information = invoice_information
- if order_information is not None:
- self.order_information = order_information
+ if processing_information is not None:
+ self.processing_information = processing_information
+ self.invoice_information = invoice_information
+ self.order_information = order_information
@property
def customer_information(self):
@@ -78,6 +81,27 @@ def customer_information(self, customer_information):
self._customer_information = customer_information
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this UpdateInvoiceRequest.
+
+ :return: The processing_information of this UpdateInvoiceRequest.
+ :rtype: Invoicingv2invoicesProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this UpdateInvoiceRequest.
+
+ :param processing_information: The processing_information of this UpdateInvoiceRequest.
+ :type: Invoicingv2invoicesProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
@property
def invoice_information(self):
"""
diff --git a/CyberSource/models/update_payment_link_request.py b/CyberSource/models/update_payment_link_request.py
new file mode 100644
index 00000000..20009664
--- /dev/null
+++ b/CyberSource/models/update_payment_link_request.py
@@ -0,0 +1,228 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class UpdatePaymentLinkRequest(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'status': 'str',
+ 'client_reference_information': 'Invoicingv2invoicesClientReferenceInformation',
+ 'processing_information': 'Iplv2paymentlinksidProcessingInformation',
+ 'purchase_information': 'Iplv2paymentlinksidPurchaseInformation',
+ 'order_information': 'Iplv2paymentlinksidOrderInformation'
+ }
+
+ attribute_map = {
+ 'status': 'status',
+ 'client_reference_information': 'clientReferenceInformation',
+ 'processing_information': 'processingInformation',
+ 'purchase_information': 'purchaseInformation',
+ 'order_information': 'orderInformation'
+ }
+
+ def __init__(self, status=None, client_reference_information=None, processing_information=None, purchase_information=None, order_information=None):
+ """
+ UpdatePaymentLinkRequest - a model defined in Swagger
+ """
+
+ self._status = None
+ self._client_reference_information = None
+ self._processing_information = None
+ self._purchase_information = None
+ self._order_information = None
+
+ if status is not None:
+ self.status = status
+ if client_reference_information is not None:
+ self.client_reference_information = client_reference_information
+ if processing_information is not None:
+ self.processing_information = processing_information
+ if purchase_information is not None:
+ self.purchase_information = purchase_information
+ if order_information is not None:
+ self.order_information = order_information
+
+ @property
+ def status(self):
+ """
+ Gets the status of this UpdatePaymentLinkRequest.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :return: The status of this UpdatePaymentLinkRequest.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this UpdatePaymentLinkRequest.
+ The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE
+
+ :param status: The status of this UpdatePaymentLinkRequest.
+ :type: str
+ """
+
+ self._status = status
+
+ @property
+ def client_reference_information(self):
+ """
+ Gets the client_reference_information of this UpdatePaymentLinkRequest.
+
+ :return: The client_reference_information of this UpdatePaymentLinkRequest.
+ :rtype: Invoicingv2invoicesClientReferenceInformation
+ """
+ return self._client_reference_information
+
+ @client_reference_information.setter
+ def client_reference_information(self, client_reference_information):
+ """
+ Sets the client_reference_information of this UpdatePaymentLinkRequest.
+
+ :param client_reference_information: The client_reference_information of this UpdatePaymentLinkRequest.
+ :type: Invoicingv2invoicesClientReferenceInformation
+ """
+
+ self._client_reference_information = client_reference_information
+
+ @property
+ def processing_information(self):
+ """
+ Gets the processing_information of this UpdatePaymentLinkRequest.
+
+ :return: The processing_information of this UpdatePaymentLinkRequest.
+ :rtype: Iplv2paymentlinksidProcessingInformation
+ """
+ return self._processing_information
+
+ @processing_information.setter
+ def processing_information(self, processing_information):
+ """
+ Sets the processing_information of this UpdatePaymentLinkRequest.
+
+ :param processing_information: The processing_information of this UpdatePaymentLinkRequest.
+ :type: Iplv2paymentlinksidProcessingInformation
+ """
+
+ self._processing_information = processing_information
+
+ @property
+ def purchase_information(self):
+ """
+ Gets the purchase_information of this UpdatePaymentLinkRequest.
+
+ :return: The purchase_information of this UpdatePaymentLinkRequest.
+ :rtype: Iplv2paymentlinksidPurchaseInformation
+ """
+ return self._purchase_information
+
+ @purchase_information.setter
+ def purchase_information(self, purchase_information):
+ """
+ Sets the purchase_information of this UpdatePaymentLinkRequest.
+
+ :param purchase_information: The purchase_information of this UpdatePaymentLinkRequest.
+ :type: Iplv2paymentlinksidPurchaseInformation
+ """
+
+ self._purchase_information = purchase_information
+
+ @property
+ def order_information(self):
+ """
+ Gets the order_information of this UpdatePaymentLinkRequest.
+
+ :return: The order_information of this UpdatePaymentLinkRequest.
+ :rtype: Iplv2paymentlinksidOrderInformation
+ """
+ return self._order_information
+
+ @order_information.setter
+ def order_information(self, order_information):
+ """
+ Sets the order_information of this UpdatePaymentLinkRequest.
+
+ :param order_information: The order_information of this UpdatePaymentLinkRequest.
+ :type: Iplv2paymentlinksidOrderInformation
+ """
+
+ self._order_information = order_information
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, UpdatePaymentLinkRequest):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/update_status.py b/CyberSource/models/update_status.py
new file mode 100644
index 00000000..eb0ee181
--- /dev/null
+++ b/CyberSource/models/update_status.py
@@ -0,0 +1,124 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class UpdateStatus(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'status': 'str'
+ }
+
+ attribute_map = {
+ 'status': 'status'
+ }
+
+ def __init__(self, status='INACTIVE'):
+ """
+ UpdateStatus - a model defined in Swagger
+ """
+
+ self._status = None
+
+ if status is not None:
+ self.status = status
+
+ @property
+ def status(self):
+ """
+ Gets the status of this UpdateStatus.
+ The status the user intends to update the subscription to. The supported values are ACTIVE & INACTIVE. If the subscription status is INACTIVE, webhook notifications will not be sent. Webhooks will resume being sent once the subscription is ACTIVE again. Possible values: - ACTIVE - INACTIVE
+
+ :return: The status of this UpdateStatus.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this UpdateStatus.
+ The status the user intends to update the subscription to. The supported values are ACTIVE & INACTIVE. If the subscription status is INACTIVE, webhook notifications will not be sent. Webhooks will resume being sent once the subscription is ACTIVE again. Possible values: - ACTIVE - INACTIVE
+
+ :param status: The status of this UpdateStatus.
+ :type: str
+ """
+
+ self._status = status
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, UpdateStatus):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/update_webhook.py b/CyberSource/models/update_webhook.py
new file mode 100644
index 00000000..042e4da1
--- /dev/null
+++ b/CyberSource/models/update_webhook.py
@@ -0,0 +1,316 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class UpdateWebhook(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'name': 'str',
+ 'organization_id': 'str',
+ 'description': 'str',
+ 'products': 'list[Notificationsubscriptionsv2webhooksProducts]',
+ 'webhook_url': 'str',
+ 'health_check_url': 'str',
+ 'security_policy': 'Notificationsubscriptionsv2webhooksSecurityPolicy',
+ 'additional_attributes': 'list[dict(str, str)]'
+ }
+
+ attribute_map = {
+ 'name': 'name',
+ 'organization_id': 'organizationId',
+ 'description': 'description',
+ 'products': 'products',
+ 'webhook_url': 'webhookUrl',
+ 'health_check_url': 'healthCheckUrl',
+ 'security_policy': 'securityPolicy',
+ 'additional_attributes': 'additionalAttributes'
+ }
+
+ def __init__(self, name=None, organization_id=None, description=None, products=None, webhook_url=None, health_check_url=None, security_policy=None, additional_attributes=None):
+ """
+ UpdateWebhook - a model defined in Swagger
+ """
+
+ self._name = None
+ self._organization_id = None
+ self._description = None
+ self._products = None
+ self._webhook_url = None
+ self._health_check_url = None
+ self._security_policy = None
+ self._additional_attributes = None
+
+ if name is not None:
+ self.name = name
+ if organization_id is not None:
+ self.organization_id = organization_id
+ if description is not None:
+ self.description = description
+ if products is not None:
+ self.products = products
+ if webhook_url is not None:
+ self.webhook_url = webhook_url
+ if health_check_url is not None:
+ self.health_check_url = health_check_url
+ if security_policy is not None:
+ self.security_policy = security_policy
+ if additional_attributes is not None:
+ self.additional_attributes = additional_attributes
+
+ @property
+ def name(self):
+ """
+ Gets the name of this UpdateWebhook.
+ Client friendly webhook name.
+
+ :return: The name of this UpdateWebhook.
+ :rtype: str
+ """
+ return self._name
+
+ @name.setter
+ def name(self, name):
+ """
+ Sets the name of this UpdateWebhook.
+ Client friendly webhook name.
+
+ :param name: The name of this UpdateWebhook.
+ :type: str
+ """
+
+ self._name = name
+
+ @property
+ def organization_id(self):
+ """
+ Gets the organization_id of this UpdateWebhook.
+ Organization Id.
+
+ :return: The organization_id of this UpdateWebhook.
+ :rtype: str
+ """
+ return self._organization_id
+
+ @organization_id.setter
+ def organization_id(self, organization_id):
+ """
+ Sets the organization_id of this UpdateWebhook.
+ Organization Id.
+
+ :param organization_id: The organization_id of this UpdateWebhook.
+ :type: str
+ """
+
+ self._organization_id = organization_id
+
+ @property
+ def description(self):
+ """
+ Gets the description of this UpdateWebhook.
+ Client friendly webhook description.
+
+ :return: The description of this UpdateWebhook.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this UpdateWebhook.
+ Client friendly webhook description.
+
+ :param description: The description of this UpdateWebhook.
+ :type: str
+ """
+
+ self._description = description
+
+ @property
+ def products(self):
+ """
+ Gets the products of this UpdateWebhook.
+
+ :return: The products of this UpdateWebhook.
+ :rtype: list[Notificationsubscriptionsv2webhooksProducts]
+ """
+ return self._products
+
+ @products.setter
+ def products(self, products):
+ """
+ Sets the products of this UpdateWebhook.
+
+ :param products: The products of this UpdateWebhook.
+ :type: list[Notificationsubscriptionsv2webhooksProducts]
+ """
+
+ self._products = products
+
+ @property
+ def webhook_url(self):
+ """
+ Gets the webhook_url of this UpdateWebhook.
+ The client's endpoint (URL) to receive webhooks.
+
+ :return: The webhook_url of this UpdateWebhook.
+ :rtype: str
+ """
+ return self._webhook_url
+
+ @webhook_url.setter
+ def webhook_url(self, webhook_url):
+ """
+ Sets the webhook_url of this UpdateWebhook.
+ The client's endpoint (URL) to receive webhooks.
+
+ :param webhook_url: The webhook_url of this UpdateWebhook.
+ :type: str
+ """
+
+ self._webhook_url = webhook_url
+
+ @property
+ def health_check_url(self):
+ """
+ Gets the health_check_url of this UpdateWebhook.
+ The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.
+
+ :return: The health_check_url of this UpdateWebhook.
+ :rtype: str
+ """
+ return self._health_check_url
+
+ @health_check_url.setter
+ def health_check_url(self, health_check_url):
+ """
+ Sets the health_check_url of this UpdateWebhook.
+ The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl.
+
+ :param health_check_url: The health_check_url of this UpdateWebhook.
+ :type: str
+ """
+
+ self._health_check_url = health_check_url
+
+ @property
+ def security_policy(self):
+ """
+ Gets the security_policy of this UpdateWebhook.
+
+ :return: The security_policy of this UpdateWebhook.
+ :rtype: Notificationsubscriptionsv2webhooksSecurityPolicy
+ """
+ return self._security_policy
+
+ @security_policy.setter
+ def security_policy(self, security_policy):
+ """
+ Sets the security_policy of this UpdateWebhook.
+
+ :param security_policy: The security_policy of this UpdateWebhook.
+ :type: Notificationsubscriptionsv2webhooksSecurityPolicy
+ """
+
+ self._security_policy = security_policy
+
+ @property
+ def additional_attributes(self):
+ """
+ Gets the additional_attributes of this UpdateWebhook.
+ Additional, free form configuration data.
+
+ :return: The additional_attributes of this UpdateWebhook.
+ :rtype: list[dict(str, str)]
+ """
+ return self._additional_attributes
+
+ @additional_attributes.setter
+ def additional_attributes(self, additional_attributes):
+ """
+ Sets the additional_attributes of this UpdateWebhook.
+ Additional, free form configuration data.
+
+ :param additional_attributes: The additional_attributes of this UpdateWebhook.
+ :type: list[dict(str, str)]
+ """
+
+ self._additional_attributes = additional_attributes
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, UpdateWebhook):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/models/upv1capturecontexts_capture_mandate.py b/CyberSource/models/upv1capturecontexts_capture_mandate.py
index 5dfaf45b..d8fbeab0 100644
--- a/CyberSource/models/upv1capturecontexts_capture_mandate.py
+++ b/CyberSource/models/upv1capturecontexts_capture_mandate.py
@@ -37,7 +37,8 @@ class Upv1capturecontextsCaptureMandate(object):
'ship_to_countries': 'list[str]',
'show_accepted_network_icons': 'bool',
'request_save_card': 'bool',
- 'combo_card': 'bool'
+ 'combo_card': 'bool',
+ 'cpf': 'bool'
}
attribute_map = {
@@ -48,10 +49,11 @@ class Upv1capturecontextsCaptureMandate(object):
'ship_to_countries': 'shipToCountries',
'show_accepted_network_icons': 'showAcceptedNetworkIcons',
'request_save_card': 'requestSaveCard',
- 'combo_card': 'comboCard'
+ 'combo_card': 'comboCard',
+ 'cpf': 'CPF'
}
- def __init__(self, billing_type=None, request_email=None, request_phone=None, request_shipping=None, ship_to_countries=None, show_accepted_network_icons=None, request_save_card=None, combo_card=None):
+ def __init__(self, billing_type=None, request_email=None, request_phone=None, request_shipping=None, ship_to_countries=None, show_accepted_network_icons=None, request_save_card=None, combo_card=None, cpf=None):
"""
Upv1capturecontextsCaptureMandate - a model defined in Swagger
"""
@@ -64,6 +66,7 @@ def __init__(self, billing_type=None, request_email=None, request_phone=None, re
self._show_accepted_network_icons = None
self._request_save_card = None
self._combo_card = None
+ self._cpf = None
if billing_type is not None:
self.billing_type = billing_type
@@ -81,6 +84,8 @@ def __init__(self, billing_type=None, request_email=None, request_phone=None, re
self.request_save_card = request_save_card
if combo_card is not None:
self.combo_card = combo_card
+ if cpf is not None:
+ self.cpf = cpf
@property
def billing_type(self):
@@ -266,6 +271,29 @@ def combo_card(self, combo_card):
self._combo_card = combo_card
+ @property
+ def cpf(self):
+ """
+ Gets the cpf of this Upv1capturecontextsCaptureMandate.
+ Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas FÃsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes. Possible values: - True - False
This field is optional. If set to true the field is required. If set to false the field is optional. If the field is not included in the capture context then it is not captured.
**Important:** - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered. - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.
+
+ :return: The cpf of this Upv1capturecontextsCaptureMandate.
+ :rtype: bool
+ """
+ return self._cpf
+
+ @cpf.setter
+ def cpf(self, cpf):
+ """
+ Sets the cpf of this Upv1capturecontextsCaptureMandate.
+ Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas FÃsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes. Possible values: - True - False
This field is optional. If set to true the field is required. If set to false the field is optional. If the field is not included in the capture context then it is not captured.
**Important:** - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered. - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.
+
+ :param cpf: The cpf of this Upv1capturecontextsCaptureMandate.
+ :type: bool
+ """
+
+ self._cpf = cpf
+
def to_dict(self):
"""
Returns the model properties as a dict
diff --git a/CyberSource/models/upv1capturecontexts_complete_mandate.py b/CyberSource/models/upv1capturecontexts_complete_mandate.py
new file mode 100644
index 00000000..ae46ddff
--- /dev/null
+++ b/CyberSource/models/upv1capturecontexts_complete_mandate.py
@@ -0,0 +1,152 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from pprint import pformat
+from six import iteritems
+import re
+
+
+class Upv1capturecontextsCompleteMandate(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+
+
+ """
+ Attributes:
+ swagger_types (dict): The key is attribute name
+ and the value is attribute type.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ """
+ swagger_types = {
+ 'type': 'str',
+ 'decision_manager': 'bool'
+ }
+
+ attribute_map = {
+ 'type': 'type',
+ 'decision_manager': 'decisionManager'
+ }
+
+ def __init__(self, type=None, decision_manager=None):
+ """
+ Upv1capturecontextsCompleteMandate - a model defined in Swagger
+ """
+
+ self._type = None
+ self._decision_manager = None
+
+ if type is not None:
+ self.type = type
+ if decision_manager is not None:
+ self.decision_manager = decision_manager
+
+ @property
+ def type(self):
+ """
+ Gets the type of this Upv1capturecontextsCompleteMandate.
+ This field is used to indicate how a payment should be processed. Possible values: - AUTH: Use this value when you want to authorize a payment without capturing it immediately. Payment types that initiate an immediate transfer of funds are not allowed. If a capture context request includes a payment type incompatible with this mode, a 400 error will be returned.
- CAPTURE: Use this value when you want to capture the payment immediately during the transaction. Note: Some payment types may return a PENDING status, requiring an additional status check call to determine the final outcome of the payment.
+
+ :return: The type of this Upv1capturecontextsCompleteMandate.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this Upv1capturecontextsCompleteMandate.
+ This field is used to indicate how a payment should be processed. Possible values: - AUTH: Use this value when you want to authorize a payment without capturing it immediately. Payment types that initiate an immediate transfer of funds are not allowed. If a capture context request includes a payment type incompatible with this mode, a 400 error will be returned.
- CAPTURE: Use this value when you want to capture the payment immediately during the transaction. Note: Some payment types may return a PENDING status, requiring an additional status check call to determine the final outcome of the payment.
+
+ :param type: The type of this Upv1capturecontextsCompleteMandate.
+ :type: str
+ """
+
+ self._type = type
+
+ @property
+ def decision_manager(self):
+ """
+ Gets the decision_manager of this Upv1capturecontextsCompleteMandate.
+ Configure Unified Checkout to determine whether Decision Manager is invoked during service orchestration. Possible values: - True - False
Setting this value to True indicates that device fingerprinting will be executed to add additional information for risk service Setting this value to False indicates that you do not wish to run device fingerprinting and skip decision manager services.
+
+ :return: The decision_manager of this Upv1capturecontextsCompleteMandate.
+ :rtype: bool
+ """
+ return self._decision_manager
+
+ @decision_manager.setter
+ def decision_manager(self, decision_manager):
+ """
+ Sets the decision_manager of this Upv1capturecontextsCompleteMandate.
+ Configure Unified Checkout to determine whether Decision Manager is invoked during service orchestration. Possible values: - True - False
Setting this value to True indicates that device fingerprinting will be executed to add additional information for risk service Setting this value to False indicates that you do not wish to run device fingerprinting and skip decision manager services.
+
+ :param decision_manager: The decision_manager of this Upv1capturecontextsCompleteMandate.
+ :type: bool
+ """
+
+ self._decision_manager = decision_manager
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ if not isinstance(other, Upv1capturecontextsCompleteMandate):
+ return False
+
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
diff --git a/CyberSource/utilities/MultipartHelpers.py b/CyberSource/utilities/MultipartHelpers.py
new file mode 100644
index 00000000..99691139
--- /dev/null
+++ b/CyberSource/utilities/MultipartHelpers.py
@@ -0,0 +1,50 @@
+
+import uuid
+import os
+import io
+
+class MultipartHelpers:
+ @staticmethod
+ def build_post_body_for_files(file_params):
+ if not file_params or len(file_params) == 0:
+ return None
+
+ file_name_and_content = {}
+ for file_key, file_param in file_params.items():
+
+ if isinstance(file_param, (str, bytes, os.PathLike, int)) and os.path.isfile(file_param):
+ # if the file_param is a file path
+ file_name = os.path.basename(file_param)
+ file_content = None
+ with open(file_param, 'r') as reader:
+ file_content = reader.read()
+ file_name_and_content[file_name] = file_content
+
+ elif hasattr(file_param, 'name') or os.path.isfile(file_param.name):
+ # in case of file-like object (e.g., io.BytesIO)
+ # or if the file_param is a file object with a name attribute
+ file_name = os.path.basename(file_param.name)
+ file_content = None
+ with open(file_param.name, 'r') as reader:
+ file_content = reader.read()
+ file_name_and_content[file_name] = file_content
+
+ else:
+ raise ValueError(f"The parameter for input '{file_key}' is not a valid file or file path.")
+
+ boundary = uuid.uuid4().hex
+ delimiter = '-------------' + boundary
+ eol = '\r\n'
+ data = []
+
+ for name, content in file_name_and_content.items():
+ data.append('--' + delimiter)
+ data.append(f'Content-Disposition: form-data; name="{name}"; filename="{name}"')
+ data.append('Content-Transfer-Encoding: binary')
+ data.append('')
+ data.append(content)
+
+ data.append('--' + delimiter + '--')
+ data.append('')
+
+ return eol.join(data), delimiter
\ No newline at end of file
diff --git a/docs/BatchesApi.md b/docs/BatchesApi.md
index 333cdb4b..19701b6a 100644
--- a/docs/BatchesApi.md
+++ b/docs/BatchesApi.md
@@ -11,7 +11,7 @@ Method | HTTP request | Description
# **get_batch_report**
-> InlineResponse2004 get_batch_report(batch_id)
+> InlineResponse2007 get_batch_report(batch_id)
Retrieve a Batch Report
@@ -45,7 +45,7 @@ Name | Type | Description | Notes
### Return type
-[**InlineResponse2004**](InlineResponse2004.md)
+[**InlineResponse2007**](InlineResponse2007.md)
### Authorization
@@ -59,7 +59,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_batch_status**
-> InlineResponse2003 get_batch_status(batch_id)
+> InlineResponse2006 get_batch_status(batch_id)
Retrieve a Batch Status
@@ -93,7 +93,7 @@ Name | Type | Description | Notes
### Return type
-[**InlineResponse2003**](InlineResponse2003.md)
+[**InlineResponse2006**](InlineResponse2006.md)
### Authorization
@@ -107,7 +107,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_batches_list**
-> InlineResponse2002 get_batches_list(offset=offset, limit=limit, from_date=from_date, to_date=to_date)
+> InlineResponse2005 get_batches_list(offset=offset, limit=limit, from_date=from_date, to_date=to_date)
List Batches
@@ -147,7 +147,7 @@ Name | Type | Description | Notes
### Return type
-[**InlineResponse2002**](InlineResponse2002.md)
+[**InlineResponse2005**](InlineResponse2005.md)
### Authorization
@@ -165,7 +165,7 @@ No authorization required
Create a Batch
-**Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted: - **oneOff** batch containing tokens id for Visa or MasterCard card numbers. - **amexRegistration** batch containing tokens id for Amex card numbers. A batch id will be returned on a successful response which can be used to get the batch status and the batch report.
+**Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted: - **oneOff** batch containing tokens id for Visa or MasterCard card numbers. - **amexRegistration** batch containing tokens id for Amex card numbers. A batch id will be returned on a successful response which can be used to get the batch status and the batch report. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
diff --git a/docs/CreateInvoiceRequest.md b/docs/CreateInvoiceRequest.md
index 46e368ea..009655fe 100644
--- a/docs/CreateInvoiceRequest.md
+++ b/docs/CreateInvoiceRequest.md
@@ -3,9 +3,11 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**client_reference_information** | [**Invoicingv2invoicesClientReferenceInformation**](Invoicingv2invoicesClientReferenceInformation.md) | | [optional]
**customer_information** | [**Invoicingv2invoicesCustomerInformation**](Invoicingv2invoicesCustomerInformation.md) | | [optional]
-**invoice_information** | [**Invoicingv2invoicesInvoiceInformation**](Invoicingv2invoicesInvoiceInformation.md) | | [optional]
-**order_information** | [**Invoicingv2invoicesOrderInformation**](Invoicingv2invoicesOrderInformation.md) | | [optional]
+**processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional]
+**invoice_information** | [**Invoicingv2invoicesInvoiceInformation**](Invoicingv2invoicesInvoiceInformation.md) | |
+**order_information** | [**Invoicingv2invoicesOrderInformation**](Invoicingv2invoicesOrderInformation.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/CreateNewWebhooksApi.md b/docs/CreateNewWebhooksApi.md
index c739e79d..a20a6c52 100644
--- a/docs/CreateNewWebhooksApi.md
+++ b/docs/CreateNewWebhooksApi.md
@@ -4,9 +4,107 @@ All URIs are relative to *https://apitest.cybersource.com*
Method | HTTP request | Description
------------- | ------------- | -------------
+[**find_products_to_subscribe**](CreateNewWebhooksApi.md#find_products_to_subscribe) | **GET** /notification-subscriptions/v2/products/{organizationId} | Find Products You Can Subscribe To
+[**notification_subscriptions_v2_webhooks_post**](CreateNewWebhooksApi.md#notification_subscriptions_v2_webhooks_post) | **POST** /notification-subscriptions/v2/webhooks | Create a New Webhook Subscription
[**save_sym_egress_key**](CreateNewWebhooksApi.md#save_sym_egress_key) | **POST** /kms/egress/v2/keys-sym | Create Webhook Security Keys
+# **find_products_to_subscribe**
+> list[InlineResponse2003] find_products_to_subscribe(organization_id)
+
+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
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.CreateNewWebhooksApi()
+organization_id = 'organization_id_example' # str | The Organization Identifier.
+
+try:
+ # Find Products You Can Subscribe To
+ api_response = api_instance.find_products_to_subscribe(organization_id)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling CreateNewWebhooksApi->find_products_to_subscribe: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **organization_id** | **str**| The Organization Identifier. |
+
+### Return type
+
+[**list[InlineResponse2003]**](InlineResponse2003.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **notification_subscriptions_v2_webhooks_post**
+> InlineResponse2014 notification_subscriptions_v2_webhooks_post(create_webhook=create_webhook)
+
+Create a New Webhook Subscription
+
+Create a new webhook subscription. Before creating a webhook, ensure that a signature key has been created. For the example \"Create Webhook using oAuth with Client Credentials\" - for clients who have more than one oAuth Provider and have different client secrets that they would like to config for a given webhook, they may do so by overriding the keyId inside security config of webhook subscription. See the Developer Center examples section titled \"Webhook Security - Create or Store Egress Symmetric Key - Store oAuth Credentials For Symmetric Key\" to store these oAuth credentials that CYBS will need for oAuth. For JWT authentication, attach your oAuth details to the webhook subscription. See the example \"Create Webhook using oAuth with JWT\"
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.CreateNewWebhooksApi()
+create_webhook = CyberSource.CreateWebhook() # CreateWebhook | The webhook payload (optional)
+
+try:
+ # Create a New Webhook Subscription
+ api_response = api_instance.notification_subscriptions_v2_webhooks_post(create_webhook=create_webhook)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling CreateNewWebhooksApi->notification_subscriptions_v2_webhooks_post: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **create_webhook** | [**CreateWebhook**](CreateWebhook.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/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **save_sym_egress_key**
> InlineResponse2013 save_sym_egress_key(v_c_sender_organization_id, v_c_permissions, v_c_correlation_id=v_c_correlation_id, save_sym_egress_key=save_sym_egress_key)
diff --git a/docs/CreatePaymentLinkRequest.md b/docs/CreatePaymentLinkRequest.md
new file mode 100644
index 00000000..91d938dd
--- /dev/null
+++ b/docs/CreatePaymentLinkRequest.md
@@ -0,0 +1,13 @@
+# CreatePaymentLinkRequest
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**client_reference_information** | [**Invoicingv2invoicesClientReferenceInformation**](Invoicingv2invoicesClientReferenceInformation.md) | | [optional]
+**processing_information** | [**Iplv2paymentlinksProcessingInformation**](Iplv2paymentlinksProcessingInformation.md) | |
+**purchase_information** | [**Iplv2paymentlinksPurchaseInformation**](Iplv2paymentlinksPurchaseInformation.md) | |
+**order_information** | [**Iplv2paymentlinksOrderInformation**](Iplv2paymentlinksOrderInformation.md) | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/CreateSubscriptionRequest1.md b/docs/CreateSubscriptionRequest1.md
new file mode 100644
index 00000000..736f2274
--- /dev/null
+++ b/docs/CreateSubscriptionRequest1.md
@@ -0,0 +1,14 @@
+# CreateSubscriptionRequest1
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**client_reference_information** | [**Rbsv1subscriptionsClientReferenceInformation**](Rbsv1subscriptionsClientReferenceInformation.md) | | [optional]
+**processing_information** | [**Rbsv1subscriptionsProcessingInformation**](Rbsv1subscriptionsProcessingInformation.md) | | [optional]
+**plan_information** | [**Rbsv1subscriptionsPlanInformation**](Rbsv1subscriptionsPlanInformation.md) | | [optional]
+**subscription_information** | [**Rbsv1subscriptionsSubscriptionInformation**](Rbsv1subscriptionsSubscriptionInformation.md) | | [optional]
+**order_information** | [**GetAllPlansResponseOrderInformation**](GetAllPlansResponseOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/CreateWebhook.md b/docs/CreateWebhook.md
new file mode 100644
index 00000000..9dfda36b
--- /dev/null
+++ b/docs/CreateWebhook.md
@@ -0,0 +1,17 @@
+# CreateWebhook
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Client friendly webhook name. | [optional]
+**description** | **str** | Client friendly webhook description. | [optional]
+**organization_id** | **str** | Organization Identifier (OrgId) or Merchant Identifier (MID). | [optional]
+**products** | [**list[Notificationsubscriptionsv2webhooksProducts1]**](Notificationsubscriptionsv2webhooksProducts1.md) | To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint. | [optional]
+**webhook_url** | **str** | The client's endpoint (URL) to receive webhooks. | [optional]
+**health_check_url** | **str** | 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]
+**retry_policy** | [**Notificationsubscriptionsv2webhooksRetryPolicy**](Notificationsubscriptionsv2webhooksRetryPolicy.md) | | [optional]
+**security_policy** | [**Notificationsubscriptionsv2webhooksSecurityPolicy1**](Notificationsubscriptionsv2webhooksSecurityPolicy1.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/CustomerApi.md b/docs/CustomerApi.md
index b663e4c8..2c2ce453 100644
--- a/docs/CustomerApi.md
+++ b/docs/CustomerApi.md
@@ -168,7 +168,7 @@ No authorization required
Create a Customer
-| | | | | --- | --- | --- | |**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).
+| | | | | --- | --- | --- | |**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). The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
diff --git a/docs/DecisionManagerApi.md b/docs/DecisionManagerApi.md
index 4fa8721a..7e87fb4c 100644
--- a/docs/DecisionManagerApi.md
+++ b/docs/DecisionManagerApi.md
@@ -12,7 +12,7 @@ Method | HTTP request | Description
# **action_decision_manager_case**
-> InlineResponse200 action_decision_manager_case(id, case_management_actions_request)
+> InlineResponse2001 action_decision_manager_case(id, case_management_actions_request)
Take action on a DM post-transactional case
@@ -48,7 +48,7 @@ Name | Type | Description | Notes
### Return type
-[**InlineResponse200**](InlineResponse200.md)
+[**InlineResponse2001**](InlineResponse2001.md)
### Authorization
diff --git a/docs/GenerateCaptureContextRequest.md b/docs/GenerateCaptureContextRequest.md
index 963d3a4a..ee5f10d2 100644
--- a/docs/GenerateCaptureContextRequest.md
+++ b/docs/GenerateCaptureContextRequest.md
@@ -4,8 +4,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**client_version** | **str** | Specify the version of Microform that you want to use. | [optional]
-**target_origins** | **list[str]** | 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). 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]
-**allowed_card_networks** | **list[str]** | The list of card networks you want to use for this Microform transaction. Microform currently supports the following card networks: - VISA - MASTERCARD - AMEX - CARNET - CARTESBANCAIRES - CUP - DINERSCLUB - DISCOVER - EFTPOS - ELO - JCB - JCREW - MADA - MAESTRO - MEEZA **Important:** - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request. - When integrating Microform (ACH/Echeck) the allowedCardNetworks field is not required in the capture context request. - 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. | [optional]
+**target_origins** | **list[str]** | 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). 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\" ]<br><br> You can supply up to nine origins within the targetOrigins field for nested iframes. If the list of origins exceeds five ensure that you: - Compare the list of origins in the v2/sessions targetOrigins field against the location.ancestorOrigins of the browser. - Ensure that the count of origins and their content matches in both. If any origins are absent or mismatched, the system will prevent Microform from loading and display a client-side error message. | [optional]
+**allowed_card_networks** | **list[str]** | The list of card networks you want to use for this Microform transaction. Microform currently supports the following card networks: - VISA - MASTERCARD - AMEX - CARNET - CARTESBANCAIRES - CUP - DINERSCLUB - DISCOVER - EFTPOS - ELO - JCB - JCREW - MADA - MAESTRO - MEEZA **Important:** - When integrating Microform (Card) at least one card network should be specified in the allowedCardNetworks field in the capture context request. - When integrating Microform (ACH/eCheck) the allowedCardNetworks field is not required in the capture context request. - 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. | [optional]
**allowed_payment_types** | **list[str]** | The payment types that are allowed for the merchant. Possible values when launching Microform: - CARD - CHECK <br><br> | [optional]
**transient_token_response_options** | [**Microformv2sessionsTransientTokenResponseOptions**](Microformv2sessionsTransientTokenResponseOptions.md) | | [optional]
diff --git a/docs/GenerateUnifiedCheckoutCaptureContextRequest.md b/docs/GenerateUnifiedCheckoutCaptureContextRequest.md
index 5bc4ef0e..f7802625 100644
--- a/docs/GenerateUnifiedCheckoutCaptureContextRequest.md
+++ b/docs/GenerateUnifiedCheckoutCaptureContextRequest.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**country** | **str** | Country the purchase is originating from (e.g. country of the merchant). Use the two-character ISO Standard | [optional]
**locale** | **str** | 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]
**capture_mandate** | [**Upv1capturecontextsCaptureMandate**](Upv1capturecontextsCaptureMandate.md) | | [optional]
+**complete_mandate** | [**Upv1capturecontextsCompleteMandate**](Upv1capturecontextsCompleteMandate.md) | | [optional]
**order_information** | [**Upv1capturecontextsOrderInformation**](Upv1capturecontextsOrderInformation.md) | | [optional]
**transient_token_response_options** | [**Microformv2sessionsTransientTokenResponseOptions**](Microformv2sessionsTransientTokenResponseOptions.md) | | [optional]
diff --git a/docs/GetSubscriptionResponse1.md b/docs/GetSubscriptionResponse1.md
new file mode 100644
index 00000000..77f1d489
--- /dev/null
+++ b/docs/GetSubscriptionResponse1.md
@@ -0,0 +1,13 @@
+# GetSubscriptionResponse1
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**GetSubscriptionResponse1Links**](GetSubscriptionResponse1Links.md) | | [optional]
+**buyer_information** | [**GetSubscriptionResponse1BuyerInformation**](GetSubscriptionResponse1BuyerInformation.md) | | [optional]
+**payment_instrument** | [**GetSubscriptionResponse1PaymentInstrument**](GetSubscriptionResponse1PaymentInstrument.md) | | [optional]
+**shipping_address** | [**GetSubscriptionResponse1ShippingAddress**](GetSubscriptionResponse1ShippingAddress.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetSubscriptionResponse1BuyerInformation.md b/docs/GetSubscriptionResponse1BuyerInformation.md
new file mode 100644
index 00000000..a514eac2
--- /dev/null
+++ b/docs/GetSubscriptionResponse1BuyerInformation.md
@@ -0,0 +1,11 @@
+# GetSubscriptionResponse1BuyerInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**merchant_customer_id** | **str** | Merchant identifier for the customer. | [optional]
+**email** | **str** | Customer's primary email address, including the full domain name. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetSubscriptionResponse1Links.md b/docs/GetSubscriptionResponse1Links.md
new file mode 100644
index 00000000..378930ed
--- /dev/null
+++ b/docs/GetSubscriptionResponse1Links.md
@@ -0,0 +1,11 @@
+# GetSubscriptionResponse1Links
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_self** | [**PtsV2PaymentsPost201ResponseLinksSelf**](PtsV2PaymentsPost201ResponseLinksSelf.md) | | [optional]
+**create** | [**PtsV2PaymentsPost201ResponseLinksSelf**](PtsV2PaymentsPost201ResponseLinksSelf.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetSubscriptionResponse1PaymentInstrument.md b/docs/GetSubscriptionResponse1PaymentInstrument.md
new file mode 100644
index 00000000..5e058cca
--- /dev/null
+++ b/docs/GetSubscriptionResponse1PaymentInstrument.md
@@ -0,0 +1,14 @@
+# GetSubscriptionResponse1PaymentInstrument
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | The Id of the Payment Instrument Token. | [optional]
+**bank_account** | [**GetSubscriptionResponse1PaymentInstrumentBankAccount**](GetSubscriptionResponse1PaymentInstrumentBankAccount.md) | | [optional]
+**card** | [**GetSubscriptionResponse1PaymentInstrumentCard**](GetSubscriptionResponse1PaymentInstrumentCard.md) | | [optional]
+**bill_to** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentBillTo**](Tmsv2customersEmbeddedDefaultPaymentInstrumentBillTo.md) | | [optional]
+**buyer_information** | [**GetSubscriptionResponse1PaymentInstrumentBuyerInformation**](GetSubscriptionResponse1PaymentInstrumentBuyerInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetSubscriptionResponse1PaymentInstrumentBankAccount.md b/docs/GetSubscriptionResponse1PaymentInstrumentBankAccount.md
new file mode 100644
index 00000000..be3e51b8
--- /dev/null
+++ b/docs/GetSubscriptionResponse1PaymentInstrumentBankAccount.md
@@ -0,0 +1,12 @@
+# GetSubscriptionResponse1PaymentInstrumentBankAccount
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | Account type. Possible Values: - checking : C - general ledger : G This value is supported only on Wells Fargo ACH - savings : S (U.S. dollars only) - corporate checking : X (U.S. dollars only) | [optional]
+**number** | **str** | Account number. When processing encoded account numbers, use this field for the encoded account number. | [optional]
+**routing_number** | **str** | Bank routing number. This is also called the transit number | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetSubscriptionResponse1PaymentInstrumentBuyerInformation.md b/docs/GetSubscriptionResponse1PaymentInstrumentBuyerInformation.md
new file mode 100644
index 00000000..5d372504
--- /dev/null
+++ b/docs/GetSubscriptionResponse1PaymentInstrumentBuyerInformation.md
@@ -0,0 +1,13 @@
+# GetSubscriptionResponse1PaymentInstrumentBuyerInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**company_tax_id** | **str** | Company's tax identifier. This is only used for eCheck service. | [optional]
+**currency** | **str** | Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### DCC for First Data Your 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). | [optional]
+**date_of_birth** | **date** | Date of birth of the customer. Format: YYYY-MM-DD | [optional]
+**personal_identification** | [**list[Tmsv2customersEmbeddedDefaultPaymentInstrumentBuyerInformationPersonalIdentification]**](Tmsv2customersEmbeddedDefaultPaymentInstrumentBuyerInformationPersonalIdentification.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetSubscriptionResponse1PaymentInstrumentCard.md b/docs/GetSubscriptionResponse1PaymentInstrumentCard.md
new file mode 100644
index 00000000..794361bb
--- /dev/null
+++ b/docs/GetSubscriptionResponse1PaymentInstrumentCard.md
@@ -0,0 +1,13 @@
+# GetSubscriptionResponse1PaymentInstrumentCard
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**number** | **str** | The masked customer's payment card number, also known as the Primary Account Number (PAN). | [optional]
+**expiration_month** | **str** | Two-digit month in which the payment card expires. Format: `MM`. Possible Values: `01` through `12`. | [optional]
+**expiration_year** | **str** | Four-digit year in which the credit card expires. Format: `YYYY`. | [optional]
+**type** | **str** | Value that indicates the card type. Possible Values v2 : v1: * 001 : visa * 002 : mastercard - Eurocard—European regional brand of Mastercard * 003 : american express * 004 : discover * 005 : diners club * 006 : carte blanche * 007 : jcb * 008 : optima * 011 : twinpay credit * 012 : twinpay debit * 013 : walmart * 014 : enRoute * 015 : lowes consumer * 016 : home depot consumer * 017 : mbna * 018 : dicks sportswear * 019 : casual corner * 020 : sears * 021 : jal * 023 : disney * 024 : maestro uk domestic * 025 : sams club consumer * 026 : sams club business * 028 : bill me later * 029 : bebe * 030 : restoration hardware * 031 : delta online — use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types. * 032 : solo * 033 : visa electron * 034 : dankort * 035 : laser * 036 : carte bleue — formerly Cartes Bancaires * 037 : carta si * 038 : pinless debit * 039 : encoded account * 040 : uatp * 041 : household * 042 : maestro international * 043 : ge money uk * 044 : korean cards * 045 : style * 046 : jcrew * 047 : payease china processing ewallet * 048 : payease china processing bank transfer * 049 : meijer private label * 050 : hipercard — supported only by the Comercio Latino processor. * 051 : aura — supported only by the Comercio Latino processor. * 052 : redecard * 054 : elo — supported only by the Comercio Latino processor. * 055 : capital one private label * 056 : synchrony private label * 057 : costco private label * 060 : mada * 062 : china union pay * 063 : falabella private label | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetSubscriptionResponse1ShippingAddress.md b/docs/GetSubscriptionResponse1ShippingAddress.md
new file mode 100644
index 00000000..5e13fa9f
--- /dev/null
+++ b/docs/GetSubscriptionResponse1ShippingAddress.md
@@ -0,0 +1,11 @@
+# GetSubscriptionResponse1ShippingAddress
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | The Id of the Shipping Address Token. | [optional]
+**ship_to** | [**Tmsv2customersEmbeddedDefaultShippingAddressShipTo**](Tmsv2customersEmbeddedDefaultShippingAddressShipTo.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse200.md b/docs/InlineResponse200.md
index f3dc6316..c66874cb 100644
--- a/docs/InlineResponse200.md
+++ b/docs/InlineResponse200.md
@@ -3,10 +3,10 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **str** | UUID uniquely generated for this comments. | [optional]
-**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
-**status** | **str** | The status of the submitted transaction. Possible values are: - `ACCEPTED` - `REJECTED` | [optional]
-**embedded** | [**InlineResponse200Embedded**](InlineResponse200Embedded.md) | | [optional]
+**id** | **str** | Unique identifier for the Card Art Asset. | [optional]
+**type** | **str** | The type of Card Art Asset. | [optional]
+**provider** | **str** | The provider of the Card Art Asset. | [optional]
+**content** | [**list[InlineResponse200Content]**](InlineResponse200Content.md) | Array of content objects representing the Card Art Asset. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2001.md b/docs/InlineResponse2001.md
index 4a987865..a4860c64 100644
--- a/docs/InlineResponse2001.md
+++ b/docs/InlineResponse2001.md
@@ -3,13 +3,10 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**registration_information** | [**Boardingv1registrationsRegistrationInformation**](Boardingv1registrationsRegistrationInformation.md) | | [optional]
-**integration_information** | [**InlineResponse2001IntegrationInformation**](InlineResponse2001IntegrationInformation.md) | | [optional]
-**organization_information** | [**Boardingv1registrationsOrganizationInformation**](Boardingv1registrationsOrganizationInformation.md) | | [optional]
-**product_information** | [**Boardingv1registrationsProductInformation**](Boardingv1registrationsProductInformation.md) | | [optional]
-**product_information_setups** | [**list[InlineResponse2012ProductInformationSetups]**](InlineResponse2012ProductInformationSetups.md) | | [optional]
-**document_information** | [**Boardingv1registrationsDocumentInformation**](Boardingv1registrationsDocumentInformation.md) | | [optional]
-**details** | **dict(str, list[object])** | | [optional]
+**id** | **str** | UUID uniquely generated for this comments. | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the submitted transaction. Possible values are: - `ACCEPTED` - `REJECTED` | [optional]
+**embedded** | [**InlineResponse2001Embedded**](InlineResponse2001Embedded.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2001Embedded.md b/docs/InlineResponse2001Embedded.md
new file mode 100644
index 00000000..3454c6c6
--- /dev/null
+++ b/docs/InlineResponse2001Embedded.md
@@ -0,0 +1,11 @@
+# InlineResponse2001Embedded
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**capture** | [**InlineResponse2001EmbeddedCapture**](InlineResponse2001EmbeddedCapture.md) | | [optional]
+**reversal** | [**InlineResponse2001EmbeddedReversal**](InlineResponse2001EmbeddedReversal.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse200EmbeddedCapture.md b/docs/InlineResponse2001EmbeddedCapture.md
similarity index 70%
rename from docs/InlineResponse200EmbeddedCapture.md
rename to docs/InlineResponse2001EmbeddedCapture.md
index 9f6c3e62..c756483f 100644
--- a/docs/InlineResponse200EmbeddedCapture.md
+++ b/docs/InlineResponse2001EmbeddedCapture.md
@@ -1,10 +1,10 @@
-# InlineResponse200EmbeddedCapture
+# InlineResponse2001EmbeddedCapture
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**status** | **str** | The status of the capture if the capture is called. | [optional]
-**links** | [**InlineResponse200EmbeddedCaptureLinks**](InlineResponse200EmbeddedCaptureLinks.md) | | [optional]
+**links** | [**InlineResponse2001EmbeddedCaptureLinks**](InlineResponse2001EmbeddedCaptureLinks.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2001EmbeddedCaptureLinks.md b/docs/InlineResponse2001EmbeddedCaptureLinks.md
new file mode 100644
index 00000000..f95f2cc7
--- /dev/null
+++ b/docs/InlineResponse2001EmbeddedCaptureLinks.md
@@ -0,0 +1,10 @@
+# InlineResponse2001EmbeddedCaptureLinks
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_self** | [**InlineResponse2001EmbeddedCaptureLinksSelf**](InlineResponse2001EmbeddedCaptureLinksSelf.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse200EmbeddedCaptureLinksSelf.md b/docs/InlineResponse2001EmbeddedCaptureLinksSelf.md
similarity index 92%
rename from docs/InlineResponse200EmbeddedCaptureLinksSelf.md
rename to docs/InlineResponse2001EmbeddedCaptureLinksSelf.md
index de6f8b97..96d2b7fa 100644
--- a/docs/InlineResponse200EmbeddedCaptureLinksSelf.md
+++ b/docs/InlineResponse2001EmbeddedCaptureLinksSelf.md
@@ -1,4 +1,4 @@
-# InlineResponse200EmbeddedCaptureLinksSelf
+# InlineResponse2001EmbeddedCaptureLinksSelf
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse200EmbeddedReversal.md b/docs/InlineResponse2001EmbeddedReversal.md
similarity index 70%
rename from docs/InlineResponse200EmbeddedReversal.md
rename to docs/InlineResponse2001EmbeddedReversal.md
index f996ccec..c58934f6 100644
--- a/docs/InlineResponse200EmbeddedReversal.md
+++ b/docs/InlineResponse2001EmbeddedReversal.md
@@ -1,10 +1,10 @@
-# InlineResponse200EmbeddedReversal
+# InlineResponse2001EmbeddedReversal
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**status** | **str** | The status of the reversal if the auth reversal is called. | [optional]
-**links** | [**InlineResponse200EmbeddedReversalLinks**](InlineResponse200EmbeddedReversalLinks.md) | | [optional]
+**links** | [**InlineResponse2001EmbeddedReversalLinks**](InlineResponse2001EmbeddedReversalLinks.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2001EmbeddedReversalLinks.md b/docs/InlineResponse2001EmbeddedReversalLinks.md
new file mode 100644
index 00000000..a1ad8d03
--- /dev/null
+++ b/docs/InlineResponse2001EmbeddedReversalLinks.md
@@ -0,0 +1,10 @@
+# InlineResponse2001EmbeddedReversalLinks
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_self** | [**InlineResponse2001EmbeddedReversalLinksSelf**](InlineResponse2001EmbeddedReversalLinksSelf.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse200EmbeddedReversalLinksSelf.md b/docs/InlineResponse2001EmbeddedReversalLinksSelf.md
similarity index 92%
rename from docs/InlineResponse200EmbeddedReversalLinksSelf.md
rename to docs/InlineResponse2001EmbeddedReversalLinksSelf.md
index 3aba4eed..ec871820 100644
--- a/docs/InlineResponse200EmbeddedReversalLinksSelf.md
+++ b/docs/InlineResponse2001EmbeddedReversalLinksSelf.md
@@ -1,4 +1,4 @@
-# InlineResponse200EmbeddedReversalLinksSelf
+# InlineResponse2001EmbeddedReversalLinksSelf
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2002.md b/docs/InlineResponse2002.md
index 88672233..f83d8ee9 100644
--- a/docs/InlineResponse2002.md
+++ b/docs/InlineResponse2002.md
@@ -3,13 +3,13 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**links** | [**list[InlineResponse2002Links]**](InlineResponse2002Links.md) | | [optional]
-**object** | **str** | | [optional]
-**offset** | **int** | | [optional]
-**limit** | **int** | | [optional]
-**count** | **int** | | [optional]
-**total** | **int** | | [optional]
-**embedded** | [**InlineResponse2002Embedded**](InlineResponse2002Embedded.md) | | [optional]
+**registration_information** | [**Boardingv1registrationsRegistrationInformation**](Boardingv1registrationsRegistrationInformation.md) | | [optional]
+**integration_information** | [**InlineResponse2002IntegrationInformation**](InlineResponse2002IntegrationInformation.md) | | [optional]
+**organization_information** | [**Boardingv1registrationsOrganizationInformation**](Boardingv1registrationsOrganizationInformation.md) | | [optional]
+**product_information** | [**Boardingv1registrationsProductInformation**](Boardingv1registrationsProductInformation.md) | | [optional]
+**product_information_setups** | [**list[InlineResponse2012ProductInformationSetups]**](InlineResponse2012ProductInformationSetups.md) | | [optional]
+**document_information** | [**Boardingv1registrationsDocumentInformation**](Boardingv1registrationsDocumentInformation.md) | | [optional]
+**details** | **dict(str, list[object])** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2001IntegrationInformation.md b/docs/InlineResponse2002IntegrationInformation.md
similarity index 77%
rename from docs/InlineResponse2001IntegrationInformation.md
rename to docs/InlineResponse2002IntegrationInformation.md
index 903464c5..ac041e44 100644
--- a/docs/InlineResponse2001IntegrationInformation.md
+++ b/docs/InlineResponse2002IntegrationInformation.md
@@ -1,10 +1,10 @@
-# InlineResponse2001IntegrationInformation
+# InlineResponse2002IntegrationInformation
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**oauth2** | [**list[Boardingv1registrationsIntegrationInformationOauth2]**](Boardingv1registrationsIntegrationInformationOauth2.md) | | [optional]
-**tenant_configurations** | [**list[InlineResponse2001IntegrationInformationTenantConfigurations]**](InlineResponse2001IntegrationInformationTenantConfigurations.md) | tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with. | [optional]
+**tenant_configurations** | [**list[InlineResponse2002IntegrationInformationTenantConfigurations]**](InlineResponse2002IntegrationInformationTenantConfigurations.md) | tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2001IntegrationInformationTenantConfigurations.md b/docs/InlineResponse2002IntegrationInformationTenantConfigurations.md
similarity index 94%
rename from docs/InlineResponse2001IntegrationInformationTenantConfigurations.md
rename to docs/InlineResponse2002IntegrationInformationTenantConfigurations.md
index 3adc3ee7..5b27cd31 100644
--- a/docs/InlineResponse2001IntegrationInformationTenantConfigurations.md
+++ b/docs/InlineResponse2002IntegrationInformationTenantConfigurations.md
@@ -1,4 +1,4 @@
-# InlineResponse2001IntegrationInformationTenantConfigurations
+# InlineResponse2002IntegrationInformationTenantConfigurations
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2003.md b/docs/InlineResponse2003.md
index 9f844db7..94850777 100644
--- a/docs/InlineResponse2003.md
+++ b/docs/InlineResponse2003.md
@@ -3,16 +3,9 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**links** | [**InlineResponse2003Links**](InlineResponse2003Links.md) | | [optional]
-**batch_id** | **str** | Unique identification number assigned to the submitted request. | [optional]
-**batch_created_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
-**batch_source** | **str** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional]
-**merchant_reference** | **str** | Reference used by merchant to identify batch. | [optional]
-**batch_ca_endpoints** | **str** | | [optional]
-**status** | **str** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED | [optional]
-**totals** | [**InlineResponse2002EmbeddedTotals**](InlineResponse2002EmbeddedTotals.md) | | [optional]
-**billing** | [**InlineResponse2003Billing**](InlineResponse2003Billing.md) | | [optional]
-**description** | **str** | | [optional]
+**product_id** | **str** | Product ID. | [optional]
+**product_name** | **str** | Product Name. | [optional]
+**event_types** | [**list[Notificationsubscriptionsv2productsorganizationIdEventTypes]**](Notificationsubscriptionsv2productsorganizationIdEventTypes.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2004.md b/docs/InlineResponse2004.md
index 551f3c5c..8e76922b 100644
--- a/docs/InlineResponse2004.md
+++ b/docs/InlineResponse2004.md
@@ -3,16 +3,18 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**version** | **str** | | [optional]
-**report_created_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
-**batch_id** | **str** | Unique identification number assigned to the submitted request. | [optional]
-**batch_source** | **str** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional]
-**batch_ca_endpoints** | **str** | | [optional]
-**batch_created_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
-**merchant_reference** | **str** | Reference used by merchant to identify batch. | [optional]
-**totals** | [**InlineResponse2002EmbeddedTotals**](InlineResponse2002EmbeddedTotals.md) | | [optional]
-**billing** | [**InlineResponse2003Billing**](InlineResponse2003Billing.md) | | [optional]
-**records** | [**list[InlineResponse2004Records]**](InlineResponse2004Records.md) | | [optional]
+**webhook_id** | **str** | Webhook Id. This is generated by the server. | [optional]
+**organization_id** | **str** | Organization ID. | [optional]
+**products** | [**list[Notificationsubscriptionsv2webhooksProducts]**](Notificationsubscriptionsv2webhooksProducts.md) | | [optional]
+**webhook_url** | **str** | The client's endpoint (URL) to receive webhooks. | [optional]
+**health_check_url** | **str** | The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. | [optional]
+**status** | **str** | Webhook status. | [optional] [default to 'INACTIVE']
+**name** | **str** | Client friendly webhook name. | [optional]
+**description** | **str** | Client friendly webhook description. | [optional]
+**retry_policy** | [**Notificationsubscriptionsv2webhooksRetryPolicy**](Notificationsubscriptionsv2webhooksRetryPolicy.md) | | [optional]
+**security_policy** | [**Notificationsubscriptionsv2webhooksSecurityPolicy**](Notificationsubscriptionsv2webhooksSecurityPolicy.md) | | [optional]
+**created_on** | **str** | Date on which webhook was created/registered. | [optional]
+**updated_on** | **str** | Date on which webhook was most recently updated. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2005.md b/docs/InlineResponse2005.md
new file mode 100644
index 00000000..d0b87000
--- /dev/null
+++ b/docs/InlineResponse2005.md
@@ -0,0 +1,16 @@
+# InlineResponse2005
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**list[InlineResponse2005Links]**](InlineResponse2005Links.md) | | [optional]
+**object** | **str** | | [optional]
+**offset** | **int** | | [optional]
+**limit** | **int** | | [optional]
+**count** | **int** | | [optional]
+**total** | **int** | | [optional]
+**embedded** | [**InlineResponse2005Embedded**](InlineResponse2005Embedded.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2002Embedded.md b/docs/InlineResponse2005Embedded.md
similarity index 65%
rename from docs/InlineResponse2002Embedded.md
rename to docs/InlineResponse2005Embedded.md
index ce46245d..7acb1006 100644
--- a/docs/InlineResponse2002Embedded.md
+++ b/docs/InlineResponse2005Embedded.md
@@ -1,9 +1,9 @@
-# InlineResponse2002Embedded
+# InlineResponse2005Embedded
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**batches** | [**list[InlineResponse2002EmbeddedBatches]**](InlineResponse2002EmbeddedBatches.md) | | [optional]
+**batches** | [**list[InlineResponse2005EmbeddedBatches]**](InlineResponse2005EmbeddedBatches.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2002EmbeddedBatches.md b/docs/InlineResponse2005EmbeddedBatches.md
similarity index 82%
rename from docs/InlineResponse2002EmbeddedBatches.md
rename to docs/InlineResponse2005EmbeddedBatches.md
index f3403d89..617305cb 100644
--- a/docs/InlineResponse2002EmbeddedBatches.md
+++ b/docs/InlineResponse2005EmbeddedBatches.md
@@ -1,9 +1,9 @@
-# InlineResponse2002EmbeddedBatches
+# InlineResponse2005EmbeddedBatches
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**links** | [**InlineResponse2002EmbeddedLinks**](InlineResponse2002EmbeddedLinks.md) | | [optional]
+**links** | [**InlineResponse2005EmbeddedLinks**](InlineResponse2005EmbeddedLinks.md) | | [optional]
**batch_id** | **str** | Unique identification number assigned to the submitted request. | [optional]
**batch_created_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
**batch_modified_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
@@ -12,7 +12,7 @@ Name | Type | Description | Notes
**merchant_reference** | **str** | Reference used by merchant to identify batch. | [optional]
**batch_ca_endpoints** | **list[str]** | Valid Values: * VISA * MASTERCARD * AMEX | [optional]
**status** | **str** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETE | [optional]
-**totals** | [**InlineResponse2002EmbeddedTotals**](InlineResponse2002EmbeddedTotals.md) | | [optional]
+**totals** | [**InlineResponse2005EmbeddedTotals**](InlineResponse2005EmbeddedTotals.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2002EmbeddedLinks.md b/docs/InlineResponse2005EmbeddedLinks.md
similarity index 63%
rename from docs/InlineResponse2002EmbeddedLinks.md
rename to docs/InlineResponse2005EmbeddedLinks.md
index 231a8dfa..9ea5a50a 100644
--- a/docs/InlineResponse2002EmbeddedLinks.md
+++ b/docs/InlineResponse2005EmbeddedLinks.md
@@ -1,9 +1,9 @@
-# InlineResponse2002EmbeddedLinks
+# InlineResponse2005EmbeddedLinks
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**reports** | [**list[InlineResponse2002EmbeddedLinksReports]**](InlineResponse2002EmbeddedLinksReports.md) | | [optional]
+**reports** | [**list[InlineResponse2005EmbeddedLinksReports]**](InlineResponse2005EmbeddedLinksReports.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2002EmbeddedLinksReports.md b/docs/InlineResponse2005EmbeddedLinksReports.md
similarity index 88%
rename from docs/InlineResponse2002EmbeddedLinksReports.md
rename to docs/InlineResponse2005EmbeddedLinksReports.md
index 9ebf58da..7c26066b 100644
--- a/docs/InlineResponse2002EmbeddedLinksReports.md
+++ b/docs/InlineResponse2005EmbeddedLinksReports.md
@@ -1,4 +1,4 @@
-# InlineResponse2002EmbeddedLinksReports
+# InlineResponse2005EmbeddedLinksReports
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2002EmbeddedTotals.md b/docs/InlineResponse2005EmbeddedTotals.md
similarity index 93%
rename from docs/InlineResponse2002EmbeddedTotals.md
rename to docs/InlineResponse2005EmbeddedTotals.md
index 36c01086..50e61945 100644
--- a/docs/InlineResponse2002EmbeddedTotals.md
+++ b/docs/InlineResponse2005EmbeddedTotals.md
@@ -1,4 +1,4 @@
-# InlineResponse2002EmbeddedTotals
+# InlineResponse2005EmbeddedTotals
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2002Links.md b/docs/InlineResponse2005Links.md
similarity index 93%
rename from docs/InlineResponse2002Links.md
rename to docs/InlineResponse2005Links.md
index 93469ca4..a3fca45d 100644
--- a/docs/InlineResponse2002Links.md
+++ b/docs/InlineResponse2005Links.md
@@ -1,4 +1,4 @@
-# InlineResponse2002Links
+# InlineResponse2005Links
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2006.md b/docs/InlineResponse2006.md
new file mode 100644
index 00000000..1fe7ebd8
--- /dev/null
+++ b/docs/InlineResponse2006.md
@@ -0,0 +1,19 @@
+# InlineResponse2006
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**InlineResponse2006Links**](InlineResponse2006Links.md) | | [optional]
+**batch_id** | **str** | Unique identification number assigned to the submitted request. | [optional]
+**batch_created_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
+**batch_source** | **str** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional]
+**merchant_reference** | **str** | Reference used by merchant to identify batch. | [optional]
+**batch_ca_endpoints** | **str** | | [optional]
+**status** | **str** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED | [optional]
+**totals** | [**InlineResponse2005EmbeddedTotals**](InlineResponse2005EmbeddedTotals.md) | | [optional]
+**billing** | [**InlineResponse2006Billing**](InlineResponse2006Billing.md) | | [optional]
+**description** | **str** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2003Billing.md b/docs/InlineResponse2006Billing.md
similarity index 93%
rename from docs/InlineResponse2003Billing.md
rename to docs/InlineResponse2006Billing.md
index ab4b85af..ed6c6d64 100644
--- a/docs/InlineResponse2003Billing.md
+++ b/docs/InlineResponse2006Billing.md
@@ -1,4 +1,4 @@
-# InlineResponse2003Billing
+# InlineResponse2006Billing
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2003Links.md b/docs/InlineResponse2006Links.md
similarity index 73%
rename from docs/InlineResponse2003Links.md
rename to docs/InlineResponse2006Links.md
index 79af2bae..ddd35d1e 100644
--- a/docs/InlineResponse2003Links.md
+++ b/docs/InlineResponse2006Links.md
@@ -1,10 +1,10 @@
-# InlineResponse2003Links
+# InlineResponse2006Links
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**_self** | [**InlineResponse202LinksStatus**](InlineResponse202LinksStatus.md) | | [optional]
-**report** | [**list[InlineResponse2003LinksReport]**](InlineResponse2003LinksReport.md) | | [optional]
+**report** | [**list[InlineResponse2006LinksReport]**](InlineResponse2006LinksReport.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2003LinksReport.md b/docs/InlineResponse2006LinksReport.md
similarity index 90%
rename from docs/InlineResponse2003LinksReport.md
rename to docs/InlineResponse2006LinksReport.md
index 22d50acd..0c7e9519 100644
--- a/docs/InlineResponse2003LinksReport.md
+++ b/docs/InlineResponse2006LinksReport.md
@@ -1,4 +1,4 @@
-# InlineResponse2003LinksReport
+# InlineResponse2006LinksReport
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2007.md b/docs/InlineResponse2007.md
new file mode 100644
index 00000000..1240d3f9
--- /dev/null
+++ b/docs/InlineResponse2007.md
@@ -0,0 +1,19 @@
+# InlineResponse2007
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**version** | **str** | | [optional]
+**report_created_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
+**batch_id** | **str** | Unique identification number assigned to the submitted request. | [optional]
+**batch_source** | **str** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional]
+**batch_ca_endpoints** | **str** | | [optional]
+**batch_created_date** | **str** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional]
+**merchant_reference** | **str** | Reference used by merchant to identify batch. | [optional]
+**totals** | [**InlineResponse2005EmbeddedTotals**](InlineResponse2005EmbeddedTotals.md) | | [optional]
+**billing** | [**InlineResponse2006Billing**](InlineResponse2006Billing.md) | | [optional]
+**records** | [**list[InlineResponse2007Records]**](InlineResponse2007Records.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse2004Records.md b/docs/InlineResponse2007Records.md
similarity index 55%
rename from docs/InlineResponse2004Records.md
rename to docs/InlineResponse2007Records.md
index 99c93b86..fd2744d8 100644
--- a/docs/InlineResponse2004Records.md
+++ b/docs/InlineResponse2007Records.md
@@ -1,11 +1,11 @@
-# InlineResponse2004Records
+# InlineResponse2007Records
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | | [optional]
-**source_record** | [**InlineResponse2004SourceRecord**](InlineResponse2004SourceRecord.md) | | [optional]
-**response_record** | [**InlineResponse2004ResponseRecord**](InlineResponse2004ResponseRecord.md) | | [optional]
+**source_record** | [**InlineResponse2007SourceRecord**](InlineResponse2007SourceRecord.md) | | [optional]
+**response_record** | [**InlineResponse2007ResponseRecord**](InlineResponse2007ResponseRecord.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2004ResponseRecord.md b/docs/InlineResponse2007ResponseRecord.md
similarity index 83%
rename from docs/InlineResponse2004ResponseRecord.md
rename to docs/InlineResponse2007ResponseRecord.md
index b8b35222..312993bb 100644
--- a/docs/InlineResponse2004ResponseRecord.md
+++ b/docs/InlineResponse2007ResponseRecord.md
@@ -1,4 +1,4 @@
-# InlineResponse2004ResponseRecord
+# InlineResponse2007ResponseRecord
## Properties
Name | Type | Description | Notes
@@ -12,7 +12,7 @@ Name | Type | Description | Notes
**card_expiry_month** | **str** | | [optional]
**card_expiry_year** | **str** | | [optional]
**card_type** | **str** | | [optional]
-**additional_updates** | [**list[InlineResponse2004ResponseRecordAdditionalUpdates]**](InlineResponse2004ResponseRecordAdditionalUpdates.md) | | [optional]
+**additional_updates** | [**list[InlineResponse2007ResponseRecordAdditionalUpdates]**](InlineResponse2007ResponseRecordAdditionalUpdates.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2004ResponseRecordAdditionalUpdates.md b/docs/InlineResponse2007ResponseRecordAdditionalUpdates.md
similarity index 90%
rename from docs/InlineResponse2004ResponseRecordAdditionalUpdates.md
rename to docs/InlineResponse2007ResponseRecordAdditionalUpdates.md
index ab95bfee..5c0c3acc 100644
--- a/docs/InlineResponse2004ResponseRecordAdditionalUpdates.md
+++ b/docs/InlineResponse2007ResponseRecordAdditionalUpdates.md
@@ -1,4 +1,4 @@
-# InlineResponse2004ResponseRecordAdditionalUpdates
+# InlineResponse2007ResponseRecordAdditionalUpdates
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2004SourceRecord.md b/docs/InlineResponse2007SourceRecord.md
similarity index 95%
rename from docs/InlineResponse2004SourceRecord.md
rename to docs/InlineResponse2007SourceRecord.md
index 05d2d749..e71c5f83 100644
--- a/docs/InlineResponse2004SourceRecord.md
+++ b/docs/InlineResponse2007SourceRecord.md
@@ -1,4 +1,4 @@
-# InlineResponse2004SourceRecord
+# InlineResponse2007SourceRecord
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse200Content.md b/docs/InlineResponse200Content.md
new file mode 100644
index 00000000..e24ddbd5
--- /dev/null
+++ b/docs/InlineResponse200Content.md
@@ -0,0 +1,13 @@
+# InlineResponse200Content
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | The MIME type of the Asset. | [optional]
+**data** | **str** | The base64-encoded data of the Asset. | [optional]
+**width** | **int** | The width of the Asset in pixels. | [optional]
+**height** | **int** | The height of the Asset in pixels. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse200Embedded.md b/docs/InlineResponse200Embedded.md
deleted file mode 100644
index 6e5f9a1a..00000000
--- a/docs/InlineResponse200Embedded.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# InlineResponse200Embedded
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**capture** | [**InlineResponse200EmbeddedCapture**](InlineResponse200EmbeddedCapture.md) | | [optional]
-**reversal** | [**InlineResponse200EmbeddedReversal**](InlineResponse200EmbeddedReversal.md) | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/InlineResponse200EmbeddedCaptureLinks.md b/docs/InlineResponse200EmbeddedCaptureLinks.md
deleted file mode 100644
index 7bd0a724..00000000
--- a/docs/InlineResponse200EmbeddedCaptureLinks.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# InlineResponse200EmbeddedCaptureLinks
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**_self** | [**InlineResponse200EmbeddedCaptureLinksSelf**](InlineResponse200EmbeddedCaptureLinksSelf.md) | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/InlineResponse200EmbeddedReversalLinks.md b/docs/InlineResponse200EmbeddedReversalLinks.md
deleted file mode 100644
index 037a0d06..00000000
--- a/docs/InlineResponse200EmbeddedReversalLinks.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# InlineResponse200EmbeddedReversalLinks
-
-## Properties
-Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
-**_self** | [**InlineResponse200EmbeddedReversalLinksSelf**](InlineResponse200EmbeddedReversalLinksSelf.md) | | [optional]
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
-
-
diff --git a/docs/InlineResponse2014.md b/docs/InlineResponse2014.md
index a881a8e4..e0fc45ec 100644
--- a/docs/InlineResponse2014.md
+++ b/docs/InlineResponse2014.md
@@ -3,15 +3,18 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**event_date** | **str** | Date that the webhook was delivered | [optional]
-**event_type** | **str** | The event name the webhook was delivered for | [optional]
-**organization_id** | **str** | The Organization Identifier. | [optional]
-**payloads** | [**InlineResponse2014Payloads**](InlineResponse2014Payloads.md) | | [optional]
-**product_id** | **str** | The product the webhook was delivered for | [optional]
-**request_type** | **str** | Identifies the the type of request | [optional]
-**retry_number** | **int** | The number of retry attempts for a given webhook | [optional]
-**transaction_trace_id** | **str** | The identifier for the webhook | [optional]
-**webhook_id** | **str** | The identifier of the subscription | [optional]
+**webhook_id** | **str** | Webhook Id. This is generated by the server. | [optional]
+**organization_id** | **str** | Organization ID. | [optional]
+**products** | [**list[Notificationsubscriptionsv2webhooksProducts]**](Notificationsubscriptionsv2webhooksProducts.md) | | [optional]
+**webhook_url** | **str** | The client's endpoint (URL) to receive webhooks. | [optional]
+**health_check_url** | **str** | The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. | [optional]
+**status** | **str** | Webhook status. | [optional] [default to 'INACTIVE']
+**name** | **str** | Client friendly webhook name. | [optional]
+**description** | **str** | Client friendly webhook description. | [optional]
+**retry_policy** | [**Notificationsubscriptionsv2webhooksRetryPolicy**](Notificationsubscriptionsv2webhooksRetryPolicy.md) | | [optional]
+**security_policy** | [**Notificationsubscriptionsv2webhooksSecurityPolicy**](Notificationsubscriptionsv2webhooksSecurityPolicy.md) | | [optional]
+**created_on** | **str** | Date on which webhook was created/registered. | [optional]
+**updated_on** | **str** | Date on which webhook was most recently updated. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2015.md b/docs/InlineResponse2015.md
index 7f05f75b..9a6edefe 100644
--- a/docs/InlineResponse2015.md
+++ b/docs/InlineResponse2015.md
@@ -3,8 +3,15 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**submit_time_utc** | **str** | 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** | **str** | The status of the submitted transaction. Possible values: - ACCEPTED | [optional]
+**event_date** | **str** | Date that the webhook was delivered | [optional]
+**event_type** | **str** | The event name the webhook was delivered for | [optional]
+**organization_id** | **str** | The Organization Identifier. | [optional]
+**payloads** | [**InlineResponse2015Payloads**](InlineResponse2015Payloads.md) | | [optional]
+**product_id** | **str** | The product the webhook was delivered for | [optional]
+**request_type** | **str** | Identifies the the type of request | [optional]
+**retry_number** | **int** | The number of retry attempts for a given webhook | [optional]
+**transaction_trace_id** | **str** | The identifier for the webhook | [optional]
+**webhook_id** | **str** | The identifier of the subscription | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2014Payloads.md b/docs/InlineResponse2015Payloads.md
similarity index 64%
rename from docs/InlineResponse2014Payloads.md
rename to docs/InlineResponse2015Payloads.md
index 6fd79d9b..7ff7b163 100644
--- a/docs/InlineResponse2014Payloads.md
+++ b/docs/InlineResponse2015Payloads.md
@@ -1,9 +1,9 @@
-# InlineResponse2014Payloads
+# InlineResponse2015Payloads
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**test_payload** | [**InlineResponse2014PayloadsTestPayload**](InlineResponse2014PayloadsTestPayload.md) | | [optional]
+**test_payload** | [**InlineResponse2015PayloadsTestPayload**](InlineResponse2015PayloadsTestPayload.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse2014PayloadsTestPayload.md b/docs/InlineResponse2015PayloadsTestPayload.md
similarity index 89%
rename from docs/InlineResponse2014PayloadsTestPayload.md
rename to docs/InlineResponse2015PayloadsTestPayload.md
index 9b453d11..92e77cd9 100644
--- a/docs/InlineResponse2014PayloadsTestPayload.md
+++ b/docs/InlineResponse2015PayloadsTestPayload.md
@@ -1,4 +1,4 @@
-# InlineResponse2014PayloadsTestPayload
+# InlineResponse2015PayloadsTestPayload
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse2016.md b/docs/InlineResponse2016.md
new file mode 100644
index 00000000..4fc6827b
--- /dev/null
+++ b/docs/InlineResponse2016.md
@@ -0,0 +1,11 @@
+# InlineResponse2016
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**submit_time_utc** | **str** | 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** | **str** | The status of the submitted transaction. Possible values: - ACCEPTED | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse4005.md b/docs/InlineResponse4005.md
index d416b022..5652c0a6 100644
--- a/docs/InlineResponse4005.md
+++ b/docs/InlineResponse4005.md
@@ -3,12 +3,11 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**code** | **str** | Error code |
-**message** | **str** | Error message |
-**localization_key** | **str** | Localization Key Name | [optional]
-**correlation_id** | **str** | Correlation Id | [optional]
-**detail** | **str** | Error Detail | [optional]
-**fields** | [**list[InlineResponse4005Fields]**](InlineResponse4005Fields.md) | Error fields List | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the submitted transaction. Possible values: - INVALID_REQUEST | [optional]
+**reason** | **str** | The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE - INVALID_FOLLOW_ON_TRANSACTION_STATUS | [optional]
+**message** | **str** | The detail message related to the status and reason listed above. | [optional]
+**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse4006.md b/docs/InlineResponse4006.md
index 9d0db07d..576826d6 100644
--- a/docs/InlineResponse4006.md
+++ b/docs/InlineResponse4006.md
@@ -3,11 +3,12 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**submit_time_utc** | **datetime** | 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** | **str** | The http status description of the submitted request. | [optional]
-**reason** | **str** | Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'INVALID_DATA' - 'SYSTEM_ERROR' - 'RESOURCE_NOT_FOUND' | [optional]
-**message** | **str** | Descriptive message for the error. | [optional]
-**details** | [**list[InlineResponse4006Details]**](InlineResponse4006Details.md) | | [optional]
+**code** | **str** | Error code |
+**message** | **str** | Error message |
+**localization_key** | **str** | Localization Key Name | [optional]
+**correlation_id** | **str** | Correlation Id | [optional]
+**detail** | **str** | Error Detail | [optional]
+**fields** | [**list[InlineResponse4006Fields]**](InlineResponse4006Fields.md) | Error fields List | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse4005Fields.md b/docs/InlineResponse4006Fields.md
similarity index 94%
rename from docs/InlineResponse4005Fields.md
rename to docs/InlineResponse4006Fields.md
index 0319e383..20729cdb 100644
--- a/docs/InlineResponse4005Fields.md
+++ b/docs/InlineResponse4006Fields.md
@@ -1,4 +1,4 @@
-# InlineResponse4005Fields
+# InlineResponse4006Fields
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse4007.md b/docs/InlineResponse4007.md
new file mode 100644
index 00000000..7c513191
--- /dev/null
+++ b/docs/InlineResponse4007.md
@@ -0,0 +1,14 @@
+# InlineResponse4007
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**submit_time_utc** | **datetime** | 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** | **str** | The http status description of the submitted request. | [optional]
+**reason** | **str** | Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'INVALID_DATA' - 'SYSTEM_ERROR' - 'RESOURCE_NOT_FOUND' | [optional]
+**message** | **str** | Descriptive message for the error. | [optional]
+**details** | [**list[InlineResponse4007Details]**](InlineResponse4007Details.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse4006Details.md b/docs/InlineResponse4007Details.md
similarity index 94%
rename from docs/InlineResponse4006Details.md
rename to docs/InlineResponse4007Details.md
index e0ca764f..4630d650 100644
--- a/docs/InlineResponse4006Details.md
+++ b/docs/InlineResponse4007Details.md
@@ -1,4 +1,4 @@
-# InlineResponse4006Details
+# InlineResponse4007Details
## Properties
Name | Type | Description | Notes
diff --git a/docs/InlineResponse4041.md b/docs/InlineResponse4041.md
index d6866a7e..61d7f516 100644
--- a/docs/InlineResponse4041.md
+++ b/docs/InlineResponse4041.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
**status** | **str** | The http status description of the submitted request. | [optional]
**reason** | **str** | Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'RESOURCE_NOT_FOUND' | [optional]
**message** | **str** | Descriptive message for the error. | [optional]
-**details** | [**list[InlineResponse4006Details]**](InlineResponse4006Details.md) | | [optional]
+**details** | [**list[InlineResponse4007Details]**](InlineResponse4007Details.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InlineResponse4042.md b/docs/InlineResponse4042.md
new file mode 100644
index 00000000..46e770b0
--- /dev/null
+++ b/docs/InlineResponse4042.md
@@ -0,0 +1,12 @@
+# InlineResponse4042
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**reason** | **str** | | [optional]
+**message** | **str** | | [optional]
+**details** | [**list[InlineResponse4042Details]**](InlineResponse4042Details.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse4042Details.md b/docs/InlineResponse4042Details.md
new file mode 100644
index 00000000..2a3f739f
--- /dev/null
+++ b/docs/InlineResponse4042Details.md
@@ -0,0 +1,11 @@
+# InlineResponse4042Details
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**field** | **str** | | [optional]
+**reason** | **str** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InlineResponse4221.md b/docs/InlineResponse4221.md
index fb15a356..869f2c6c 100644
--- a/docs/InlineResponse4221.md
+++ b/docs/InlineResponse4221.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
**status** | **str** | The http status description of the submitted request. | [optional]
**reason** | **str** | Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'INVALID_DATA' | [optional]
**message** | **str** | Descriptive message for the error. | [optional]
-**details** | [**list[InlineResponse4006Details]**](InlineResponse4006Details.md) | | [optional]
+**details** | [**list[InlineResponse4007Details]**](InlineResponse4007Details.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InvoicesApi.md b/docs/InvoicesApi.md
index 3c4d4789..a0732480 100644
--- a/docs/InvoicesApi.md
+++ b/docs/InvoicesApi.md
@@ -17,7 +17,7 @@ Method | HTTP request | Description
Create a New Invoice
-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.
+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. The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
@@ -79,7 +79,7 @@ from pprint import pprint
api_instance = CyberSource.InvoicesApi()
offset = 56 # int | Page offset number.
limit = 56 # int | Maximum number of items you would like returned.
-status = 'status_example' # str | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING (optional)
+status = 'status_example' # str | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED (optional)
try:
# Get a List of Invoices
@@ -95,7 +95,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**offset** | **int**| Page offset number. |
**limit** | **int**| Maximum number of items you would like returned. |
- **status** | **str**| The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING | [optional]
+ **status** | **str**| The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED | [optional]
### Return type
@@ -161,7 +161,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **perform_cancel_action**
-> InvoicingV2InvoicesPost201Response perform_cancel_action(id)
+> InvoicingV2InvoicesCancel200Response perform_cancel_action(id)
Cancel an Invoice
@@ -195,7 +195,7 @@ Name | Type | Description | Notes
### Return type
-[**InvoicingV2InvoicesPost201Response**](InvoicingV2InvoicesPost201Response.md)
+[**InvoicingV2InvoicesCancel200Response**](InvoicingV2InvoicesCancel200Response.md)
### Authorization
@@ -209,7 +209,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **perform_send_action**
-> InvoicingV2InvoicesPost201Response perform_send_action(id)
+> InvoicingV2InvoicesSend200Response perform_send_action(id)
Send an Invoice
@@ -243,7 +243,7 @@ Name | Type | Description | Notes
### Return type
-[**InvoicingV2InvoicesPost201Response**](InvoicingV2InvoicesPost201Response.md)
+[**InvoicingV2InvoicesSend200Response**](InvoicingV2InvoicesSend200Response.md)
### Authorization
@@ -257,7 +257,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **update_invoice**
-> InvoicingV2InvoicesPost201Response update_invoice(id, update_invoice_request)
+> InvoicingV2InvoicesPut200Response update_invoice(id, update_invoice_request)
Update an Invoice
@@ -293,7 +293,7 @@ Name | Type | Description | Notes
### Return type
-[**InvoicingV2InvoicesPost201Response**](InvoicingV2InvoicesPost201Response.md)
+[**InvoicingV2InvoicesPut200Response**](InvoicingV2InvoicesPut200Response.md)
### Authorization
diff --git a/docs/InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.md b/docs/InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.md
index 82ea7e64..7efc7878 100644
--- a/docs/InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.md
+++ b/docs/InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.md
@@ -12,7 +12,11 @@ Name | Type | Description | Notes
**default_currency_code** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**payer_authentication3_ds_version** | **bool** | The 3D Secure payer authentication status for a merchant's invoice payments. | [optional] [default to False]
**show_vat_number** | **bool** | Display VAT number on Invoice. | [optional] [default to False]
-**vat_registration_number** | **str** | Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes. | [optional]
+**vat_registration_number** | **str** | Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes. | [optional]
+**ship_to** | **bool** | Collect the payers shipping address. | [optional] [default to False]
+**phone_number** | **bool** | Collect the payers phone number. | [optional] [default to False]
+**email** | **bool** | Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation. | [optional] [default to False]
+**enable_merchant_email_notifications** | **bool** | Whether you would like to receive payment notification for successful transaction | [optional] [default to False]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InvoicingV2InvoicesAllGet200Response.md b/docs/InvoicingV2InvoicesAllGet200Response.md
index e964f01c..cb20ff00 100644
--- a/docs/InvoicingV2InvoicesAllGet200Response.md
+++ b/docs/InvoicingV2InvoicesAllGet200Response.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**links** | [**GetAllPlansResponseLinks**](GetAllPlansResponseLinks.md) | | [optional]
+**links** | [**InvoicingV2InvoicesAllGet200ResponseLinks**](InvoicingV2InvoicesAllGet200ResponseLinks.md) | | [optional]
**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
**total_invoices** | **int** | | [optional]
**invoices** | [**list[InvoicingV2InvoicesAllGet200ResponseInvoices]**](InvoicingV2InvoicesAllGet200ResponseInvoices.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.md b/docs/InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.md
index de39ccd5..ec8372c1 100644
--- a/docs/InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.md
+++ b/docs/InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.md
@@ -4,6 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**due_date** | **date** | The invoice due date. This field is required for creating an invoice. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
+**expiration_date** | **date** | Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InvoicingV2InvoicesAllGet200ResponseInvoices.md b/docs/InvoicingV2InvoicesAllGet200ResponseInvoices.md
index bd3a06ec..8a638aba 100644
--- a/docs/InvoicingV2InvoicesAllGet200ResponseInvoices.md
+++ b/docs/InvoicingV2InvoicesAllGet200ResponseInvoices.md
@@ -6,6 +6,7 @@ Name | Type | Description | Notes
**links** | [**InvoicingV2InvoicesAllGet200ResponseLinks**](InvoicingV2InvoicesAllGet200ResponseLinks.md) | | [optional]
**id** | **str** | An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. | [optional]
**status** | **str** | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING | [optional]
+**created_date** | **str** | Date and time (UTC) the invoice was created. 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]
**customer_information** | [**InvoicingV2InvoicesAllGet200ResponseCustomerInformation**](InvoicingV2InvoicesAllGet200ResponseCustomerInformation.md) | | [optional]
**invoice_information** | [**InvoicingV2InvoicesAllGet200ResponseInvoiceInformation**](InvoicingV2InvoicesAllGet200ResponseInvoiceInformation.md) | | [optional]
**order_information** | [**InvoicingV2InvoicesAllGet200ResponseOrderInformation**](InvoicingV2InvoicesAllGet200ResponseOrderInformation.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.md b/docs/InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.md
index 97adc687..3b066713 100644
--- a/docs/InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.md
+++ b/docs/InvoicingV2InvoicesAllGet200ResponseOrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InvoicingV2InvoicesAllGet400Response.md b/docs/InvoicingV2InvoicesAllGet400Response.md
index 1a486893..87e91b79 100644
--- a/docs/InvoicingV2InvoicesAllGet400Response.md
+++ b/docs/InvoicingV2InvoicesAllGet400Response.md
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
**status** | **str** | The status of the invoice. Possible values: - BADREQUEST | [optional]
-**reason** | **str** | The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE | [optional]
+**reason** | **str** | The reason of the status. Possible values: - DUPLICATE_RECORD - ACTION_NOT_ALLOWED - VALIDATION_ERRORS - INVALID_IMAGE - INVALID_TRANSIENT_TOKEN | [optional]
**message** | **str** | The detail message related to the status and reason listed above. | [optional]
**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesAllGet404Response.md b/docs/InvoicingV2InvoicesAllGet404Response.md
index 6d9e5e1e..66796d02 100644
--- a/docs/InvoicingV2InvoicesAllGet404Response.md
+++ b/docs/InvoicingV2InvoicesAllGet404Response.md
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
**status** | **str** | The status of the invoice. Possible values: - NOTFOUND | [optional]
-**reason** | **str** | The reason of the status. Possible values: - MISSING_FIELD - INVALID_DATA - DUPLICATE_REQUEST - INVALID_MERCHANT_CONFIGURATION - PROCESSOR_UNAVAILABLE | [optional]
+**reason** | **str** | The reason of the status. Possible values: - NOTFOUND | [optional]
**message** | **str** | The detail message related to the status and reason listed above. | [optional]
**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesCancel200Response.md b/docs/InvoicingV2InvoicesCancel200Response.md
new file mode 100644
index 00000000..fc68fcd3
--- /dev/null
+++ b/docs/InvoicingV2InvoicesCancel200Response.md
@@ -0,0 +1,17 @@
+# InvoicingV2InvoicesCancel200Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**InvoicingV2InvoicesAllGet200ResponseLinks**](InvoicingV2InvoicesAllGet200ResponseLinks.md) | | [optional]
+**id** | **str** | An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING | [optional]
+**customer_information** | [**Invoicingv2invoicesCustomerInformation**](Invoicingv2invoicesCustomerInformation.md) | | [optional]
+**processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional]
+**invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional]
+**order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InvoicingV2InvoicesGet200Response.md b/docs/InvoicingV2InvoicesGet200Response.md
index 54f87b7d..876224b9 100644
--- a/docs/InvoicingV2InvoicesGet200Response.md
+++ b/docs/InvoicingV2InvoicesGet200Response.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
**status** | **str** | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING | [optional]
**customer_information** | [**Invoicingv2invoicesCustomerInformation**](Invoicingv2invoicesCustomerInformation.md) | | [optional]
+**processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional]
**invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional]
**order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional]
**invoice_history** | [**list[InvoicingV2InvoicesGet200ResponseInvoiceHistory]**](InvoicingV2InvoicesGet200ResponseInvoiceHistory.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesGet200ResponseInvoiceHistory.md b/docs/InvoicingV2InvoicesGet200ResponseInvoiceHistory.md
index eed6a1b7..b7c8a7b1 100644
--- a/docs/InvoicingV2InvoicesGet200ResponseInvoiceHistory.md
+++ b/docs/InvoicingV2InvoicesGet200ResponseInvoiceHistory.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**event** | **str** | The event triggered for the invoice. Possible values: - `CREATE` - `UPDATE` - `SEND` - `RESEND` - `REMINDER` - `PAYMENT` - `CANCEL` | [optional]
+**event** | **str** | The event triggered for the invoice. Possible values: - `UNKNOWN` - `DRAFT` - `CREATE` - `UPDATE` - `SEND` - `RESEND` - `REMINDER` - `PAYMENT` - `CANCEL` - `PENDING` - `REJECTED` | [optional]
**_date** | **datetime** | The date and time when the invoice event was triggered in ISO 8601 format. Format: YYYY-MM-DDThh:mm:ssZ | [optional]
**transaction_details** | [**InvoicingV2InvoicesGet200ResponseTransactionDetails**](InvoicingV2InvoicesGet200ResponseTransactionDetails.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesGet200ResponseTransactionDetails.md b/docs/InvoicingV2InvoicesGet200ResponseTransactionDetails.md
index d0b2fc7d..287f8e83 100644
--- a/docs/InvoicingV2InvoicesGet200ResponseTransactionDetails.md
+++ b/docs/InvoicingV2InvoicesGet200ResponseTransactionDetails.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**transaction_id** | **str** | Payer auth Transaction identifier. | [optional]
-**amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InvoicingV2InvoicesPost201Response.md b/docs/InvoicingV2InvoicesPost201Response.md
index 213b0d13..059b80b3 100644
--- a/docs/InvoicingV2InvoicesPost201Response.md
+++ b/docs/InvoicingV2InvoicesPost201Response.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
**status** | **str** | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING | [optional]
**customer_information** | [**Invoicingv2invoicesCustomerInformation**](Invoicingv2invoicesCustomerInformation.md) | | [optional]
+**processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional]
**invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional]
**order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesPost201ResponseInvoiceInformation.md b/docs/InvoicingV2InvoicesPost201ResponseInvoiceInformation.md
index f56e3be6..2a03b37c 100644
--- a/docs/InvoicingV2InvoicesPost201ResponseInvoiceInformation.md
+++ b/docs/InvoicingV2InvoicesPost201ResponseInvoiceInformation.md
@@ -6,9 +6,10 @@ Name | Type | Description | Notes
**invoice_number** | **str** | Invoice Number. | [optional]
**description** | **str** | The description included in the invoice. | [optional]
**due_date** | **date** | The invoice due date. This field is required for creating an invoice. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
-**allow_partial_payments** | **bool** | If set to `true`, the payer can make a partial invoice payment. | [optional]
+**expiration_date** | **date** | Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
+**allow_partial_payments** | **bool** | If set to `true`, the payer can make a partial invoice payment. | [optional] [default to False]
**payment_link** | **str** | Returns the payment link to an invoice when the invoice status is `SENT`, `CREATED`, `PARTIAL`, or `PAID`. | [optional]
-**delivery_mode** | **str** | If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email` | [optional]
+**delivery_mode** | **str** | If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email` | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InvoicingV2InvoicesPost201ResponseOrderInformation.md b/docs/InvoicingV2InvoicesPost201ResponseOrderInformation.md
index ca976993..b653aeb5 100644
--- a/docs/InvoicingV2InvoicesPost201ResponseOrderInformation.md
+++ b/docs/InvoicingV2InvoicesPost201ResponseOrderInformation.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**amount_details** | [**InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails**](InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.md) | | [optional]
-**line_items** | [**list[Invoicingv2invoicesOrderInformationLineItems]**](Invoicingv2invoicesOrderInformationLineItems.md) | | [optional]
+**line_items** | [**list[Invoicingv2invoicesOrderInformationLineItems]**](Invoicingv2invoicesOrderInformationLineItems.md) | List of the line items from the order. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.md b/docs/InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.md
index ea32069f..94f5f5b7 100644
--- a/docs/InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.md
+++ b/docs/InvoicingV2InvoicesPost201ResponseOrderInformationAmountDetails.md
@@ -3,13 +3,13 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**balance_amount** | **str** | Remaining balance on the account. Returned by authorization service. #### PIN debit Remaining balance on the prepaid card. Returned by PIN debit purchase. | [optional]
**discount_amount** | **str** | Total discount amount applied to the order. | [optional]
-**discount_percent** | **float** | The total discount percentage applied to the invoice. | [optional]
-**sub_amount** | **float** | Sub-amount of the invoice. | [optional]
-**minimum_partial_amount** | **float** | The minimum partial amount required to pay the invoice. | [optional]
+**discount_percent** | **str** | The total discount percentage applied to the order. | [optional]
+**sub_amount** | **str** | Sub-amount of the order. | [optional]
+**minimum_partial_amount** | **str** | The minimum partial amount required to pay the invoice. | [optional]
**tax_details** | [**Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails**](Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails.md) | | [optional]
**freight** | [**Invoicingv2invoicesOrderInformationAmountDetailsFreight**](Invoicingv2invoicesOrderInformationAmountDetailsFreight.md) | | [optional]
diff --git a/docs/InvoicingV2InvoicesPut200Response.md b/docs/InvoicingV2InvoicesPut200Response.md
new file mode 100644
index 00000000..e4ecd79a
--- /dev/null
+++ b/docs/InvoicingV2InvoicesPut200Response.md
@@ -0,0 +1,17 @@
+# InvoicingV2InvoicesPut200Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**InvoicingV2InvoicesAllGet200ResponseLinks**](InvoicingV2InvoicesAllGet200ResponseLinks.md) | | [optional]
+**id** | **str** | An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING | [optional]
+**customer_information** | [**Invoicingv2invoicesCustomerInformation**](Invoicingv2invoicesCustomerInformation.md) | | [optional]
+**processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional]
+**invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional]
+**order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/InvoicingV2InvoicesSend200Response.md b/docs/InvoicingV2InvoicesSend200Response.md
new file mode 100644
index 00000000..a487fec3
--- /dev/null
+++ b/docs/InvoicingV2InvoicesSend200Response.md
@@ -0,0 +1,17 @@
+# InvoicingV2InvoicesSend200Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**InvoicingV2InvoicesAllGet200ResponseLinks**](InvoicingV2InvoicesAllGet200ResponseLinks.md) | | [optional]
+**id** | **str** | An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the invoice. Possible values: - DRAFT - CREATED - SENT - PARTIAL - PAID - CANCELED - PENDING | [optional]
+**customer_information** | [**Invoicingv2invoicesCustomerInformation**](Invoicingv2invoicesCustomerInformation.md) | | [optional]
+**processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional]
+**invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional]
+**order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Invoicingv2invoiceSettingsInvoiceSettingsInformation.md b/docs/Invoicingv2invoiceSettingsInvoiceSettingsInformation.md
index 2ed049d9..ab3c5f1f 100644
--- a/docs/Invoicingv2invoiceSettingsInvoiceSettingsInformation.md
+++ b/docs/Invoicingv2invoiceSettingsInvoiceSettingsInformation.md
@@ -13,6 +13,10 @@ Name | Type | Description | Notes
**payer_authentication_in_invoicing** | **str** | 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: - `enable` - `update` - `disable` | [optional]
**show_vat_number** | **bool** | Display VAT number on Invoice. | [optional] [default to False]
**vat_registration_number** | **str** | Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes. | [optional]
+**ship_to** | **bool** | Collect the payers shipping address. | [optional] [default to False]
+**phone_number** | **bool** | Collect the payers phone number. | [optional] [default to False]
+**email** | **bool** | Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation. | [optional] [default to False]
+**enable_merchant_email_notifications** | **bool** | Whether you would like to receive payment notification for successful transaction | [optional] [default to False]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Invoicingv2invoicesClientReferenceInformation.md b/docs/Invoicingv2invoicesClientReferenceInformation.md
new file mode 100644
index 00000000..de9c07df
--- /dev/null
+++ b/docs/Invoicingv2invoicesClientReferenceInformation.md
@@ -0,0 +1,10 @@
+# Invoicingv2invoicesClientReferenceInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**partner** | [**Invoicingv2invoicesClientReferenceInformationPartner**](Invoicingv2invoicesClientReferenceInformationPartner.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Invoicingv2invoicesClientReferenceInformationPartner.md b/docs/Invoicingv2invoicesClientReferenceInformationPartner.md
new file mode 100644
index 00000000..27e0c601
--- /dev/null
+++ b/docs/Invoicingv2invoicesClientReferenceInformationPartner.md
@@ -0,0 +1,11 @@
+# Invoicingv2invoicesClientReferenceInformationPartner
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**developer_id** | **str** | Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer. **Note** A developerId set to 999 means the submitted developer ID is incorrect. | [optional]
+**solution_id** | **str** | Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner. **Note** A solutionId set to 999 means the submitted solutionId is incorrect. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Invoicingv2invoicesInvoiceInformation.md b/docs/Invoicingv2invoicesInvoiceInformation.md
index 962e2919..49ee7b00 100644
--- a/docs/Invoicingv2invoicesInvoiceInformation.md
+++ b/docs/Invoicingv2invoicesInvoiceInformation.md
@@ -4,11 +4,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**invoice_number** | **str** | Invoice Number. | [optional]
-**description** | **str** | The description included in the invoice. | [optional]
-**due_date** | **date** | The invoice due date. This field is required for creating an invoice. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
-**send_immediately** | **bool** | If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode. | [optional]
-**allow_partial_payments** | **bool** | If set to `true`, the payer can make a partial invoice payment. | [optional]
-**delivery_mode** | **str** | If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email` | [optional]
+**description** | **str** | The description included in the invoice. |
+**due_date** | **date** | The invoice due date. This field is required for creating an invoice. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day |
+**expiration_date** | **date** | Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
+**send_immediately** | **bool** | If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode. | [optional] [default to False]
+**allow_partial_payments** | **bool** | If set to `true`, the payer can make a partial invoice payment. | [optional] [default to False]
+**delivery_mode** | **str** | If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email` | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Invoicingv2invoicesOrderInformation.md b/docs/Invoicingv2invoicesOrderInformation.md
index bd23341c..14c26d42 100644
--- a/docs/Invoicingv2invoicesOrderInformation.md
+++ b/docs/Invoicingv2invoicesOrderInformation.md
@@ -3,8 +3,8 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**amount_details** | [**Invoicingv2invoicesOrderInformationAmountDetails**](Invoicingv2invoicesOrderInformationAmountDetails.md) | | [optional]
-**line_items** | [**list[Invoicingv2invoicesOrderInformationLineItems]**](Invoicingv2invoicesOrderInformationLineItems.md) | | [optional]
+**amount_details** | [**Invoicingv2invoicesOrderInformationAmountDetails**](Invoicingv2invoicesOrderInformationAmountDetails.md) | |
+**line_items** | [**list[Invoicingv2invoicesOrderInformationLineItems]**](Invoicingv2invoicesOrderInformationLineItems.md) | List of the line items from the order. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Invoicingv2invoicesOrderInformationAmountDetails.md b/docs/Invoicingv2invoicesOrderInformationAmountDetails.md
index 3d6e5ee4..74555187 100644
--- a/docs/Invoicingv2invoicesOrderInformationAmountDetails.md
+++ b/docs/Invoicingv2invoicesOrderInformationAmountDetails.md
@@ -3,12 +3,12 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
-**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. |
+**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. |
**discount_amount** | **str** | Total discount amount applied to the order. | [optional]
-**discount_percent** | **float** | The total discount percentage applied to the invoice. | [optional]
-**sub_amount** | **float** | Sub-amount of the invoice. | [optional]
-**minimum_partial_amount** | **float** | The minimum partial amount required to pay the invoice. | [optional]
+**discount_percent** | **str** | The total discount percentage applied to the order. | [optional]
+**sub_amount** | **str** | Sub-amount of the order. | [optional]
+**minimum_partial_amount** | **str** | The minimum partial amount required to pay the invoice. | [optional]
**tax_details** | [**Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails**](Invoicingv2invoicesOrderInformationAmountDetailsTaxDetails.md) | | [optional]
**freight** | [**Invoicingv2invoicesOrderInformationAmountDetailsFreight**](Invoicingv2invoicesOrderInformationAmountDetailsFreight.md) | | [optional]
diff --git a/docs/Invoicingv2invoicesOrderInformationLineItems.md b/docs/Invoicingv2invoicesOrderInformationLineItems.md
index 707e8e60..8610955e 100644
--- a/docs/Invoicingv2invoicesOrderInformationLineItems.md
+++ b/docs/Invoicingv2invoicesOrderInformationLineItems.md
@@ -8,9 +8,9 @@ Name | Type | Description | Notes
**quantity** | **int** | Number of units for this order. Must be a non-negative integer. The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. | [optional]
**unit_price** | **str** | Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15) | [optional]
**discount_amount** | **str** | Discount applied to the item. | [optional]
-**discount_rate** | **str** | Rate the item is discounted. Maximum of 2 decimal places. Example 5.25 (=5.25%) | [optional]
+**discount_percent** | **str** | Rate the item is discounted. Maximum of 2 decimal places. Example 5.25 (=5.25%) | [optional]
**tax_amount** | **str** | Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must be in the same currency. The tax amount field is additive. The following example uses a two-exponent currency such as USD: 1. You include each line item in your request. ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80 ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included. Optional field. #### Airlines processing Tax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s). Format: English characters only. Optional request field for a line item. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. Note if you send this field in your tax request, the value in the field will override the tax engine | [optional]
-**tax_rate** | **str** | Tax rate applied to the item. **Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional decimal places will be truncated). **Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%). | [optional]
+**tax_rate** | **str** | Valid range: 1% to 99%, with only whole percentage values accepted; values with additional decimal places will be truncated For processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide. | [optional]
**total_amount** | **str** | Total amount for the item. Normally calculated as the unit price times quantity. When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total for prepaid gift cards in major units. Example: 123.45 USD = 123 | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Invoicingv2invoicesProcessingInformation.md b/docs/Invoicingv2invoicesProcessingInformation.md
new file mode 100644
index 00000000..073033ea
--- /dev/null
+++ b/docs/Invoicingv2invoicesProcessingInformation.md
@@ -0,0 +1,11 @@
+# Invoicingv2invoicesProcessingInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**request_phone** | **bool** | Collect the payers phone number during the payment. | [optional] [default to False]
+**request_shipping** | **bool** | Collect the payers shipping address during the payment. | [optional] [default to False]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Invoicingv2invoicesidInvoiceInformation.md b/docs/Invoicingv2invoicesidInvoiceInformation.md
index 4691551a..e8c998b1 100644
--- a/docs/Invoicingv2invoicesidInvoiceInformation.md
+++ b/docs/Invoicingv2invoicesidInvoiceInformation.md
@@ -3,10 +3,12 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**description** | **str** | The description included in the invoice. | [optional]
-**due_date** | **date** | The invoice due date. This field is required for creating an invoice. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
-**allow_partial_payments** | **bool** | If set to `true`, the payer can make a partial invoice payment. | [optional]
-**delivery_mode** | **str** | If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. Possible values: - `None` - `Email` | [optional]
+**description** | **str** | The description included in the invoice. |
+**due_date** | **date** | The invoice due date. This field is required for creating an invoice. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day |
+**expiration_date** | **date** | Define an expiration date for the link. Format: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day | [optional]
+**send_immediately** | **bool** | If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode. | [optional] [default to False]
+**allow_partial_payments** | **bool** | If set to `true`, the payer can make a partial invoice payment. | [optional] [default to False]
+**delivery_mode** | **str** | If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. Possible values: - `None` - `Email` | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Iplv2paymentlinksOrderInformation.md b/docs/Iplv2paymentlinksOrderInformation.md
new file mode 100644
index 00000000..480a3baa
--- /dev/null
+++ b/docs/Iplv2paymentlinksOrderInformation.md
@@ -0,0 +1,11 @@
+# Iplv2paymentlinksOrderInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**amount_details** | [**Iplv2paymentlinksOrderInformationAmountDetails**](Iplv2paymentlinksOrderInformationAmountDetails.md) | |
+**line_items** | [**list[Iplv2paymentlinksOrderInformationLineItems]**](Iplv2paymentlinksOrderInformationLineItems.md) | List of the line items from the order. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Iplv2paymentlinksOrderInformationAmountDetails.md b/docs/Iplv2paymentlinksOrderInformationAmountDetails.md
new file mode 100644
index 00000000..a50fbb30
--- /dev/null
+++ b/docs/Iplv2paymentlinksOrderInformationAmountDetails.md
@@ -0,0 +1,13 @@
+# Iplv2paymentlinksOrderInformationAmountDetails
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. |
+**max_amount** | **str** | Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page. | [optional]
+**min_amount** | **str** | Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Iplv2paymentlinksOrderInformationLineItems.md b/docs/Iplv2paymentlinksOrderInformationLineItems.md
new file mode 100644
index 00000000..4bb99974
--- /dev/null
+++ b/docs/Iplv2paymentlinksOrderInformationLineItems.md
@@ -0,0 +1,14 @@
+# Iplv2paymentlinksOrderInformationLineItems
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**product_sku** | **str** | Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling. | [optional]
+**product_name** | **str** | For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. |
+**quantity** | **int** | Number of units for this order. Must be a non-negative integer. The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. | [optional]
+**unit_price** | **str** | Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15) | [optional]
+**product_description** | **str** | Brief description of item. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Iplv2paymentlinksProcessingInformation.md b/docs/Iplv2paymentlinksProcessingInformation.md
new file mode 100644
index 00000000..790c441a
--- /dev/null
+++ b/docs/Iplv2paymentlinksProcessingInformation.md
@@ -0,0 +1,12 @@
+# Iplv2paymentlinksProcessingInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**link_type** | **str** | linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION` |
+**request_phone** | **bool** | Collect the payers phone number during the payment. | [optional] [default to False]
+**request_shipping** | **bool** | Collect the payers shipping address during the payment. | [optional] [default to False]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Iplv2paymentlinksPurchaseInformation.md b/docs/Iplv2paymentlinksPurchaseInformation.md
new file mode 100644
index 00000000..2fccc3a1
--- /dev/null
+++ b/docs/Iplv2paymentlinksPurchaseInformation.md
@@ -0,0 +1,10 @@
+# Iplv2paymentlinksPurchaseInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**purchase_number** | **str** | The purchase number |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Iplv2paymentlinksidOrderInformation.md b/docs/Iplv2paymentlinksidOrderInformation.md
new file mode 100644
index 00000000..38130b7b
--- /dev/null
+++ b/docs/Iplv2paymentlinksidOrderInformation.md
@@ -0,0 +1,11 @@
+# Iplv2paymentlinksidOrderInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**amount_details** | [**PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails**](PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.md) | | [optional]
+**line_items** | [**list[Iplv2paymentlinksOrderInformationLineItems]**](Iplv2paymentlinksOrderInformationLineItems.md) | List of the line items from the order. |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Iplv2paymentlinksidProcessingInformation.md b/docs/Iplv2paymentlinksidProcessingInformation.md
new file mode 100644
index 00000000..bf38ac67
--- /dev/null
+++ b/docs/Iplv2paymentlinksidProcessingInformation.md
@@ -0,0 +1,12 @@
+# Iplv2paymentlinksidProcessingInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**link_type** | **str** | linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION` | [optional]
+**request_phone** | **bool** | Collect the payers phone number during the payment. | [optional] [default to False]
+**request_shipping** | **bool** | Collect the payers shipping address during the payment. | [optional] [default to False]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Iplv2paymentlinksidPurchaseInformation.md b/docs/Iplv2paymentlinksidPurchaseInformation.md
new file mode 100644
index 00000000..a27df401
--- /dev/null
+++ b/docs/Iplv2paymentlinksidPurchaseInformation.md
@@ -0,0 +1,10 @@
+# Iplv2paymentlinksidPurchaseInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**purchase_number** | **str** | The purchase number | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ManageWebhooksApi.md b/docs/ManageWebhooksApi.md
index 5736470c..847e559b 100644
--- a/docs/ManageWebhooksApi.md
+++ b/docs/ManageWebhooksApi.md
@@ -4,12 +4,164 @@ All URIs are relative to *https://apitest.cybersource.com*
Method | HTTP request | Description
------------- | ------------- | -------------
+[**delete_webhook_subscription**](ManageWebhooksApi.md#delete_webhook_subscription) | **DELETE** /notification-subscriptions/v2/webhooks/{webhookId} | Delete a Webhook Subscription
+[**get_webhook_subscription_by_id**](ManageWebhooksApi.md#get_webhook_subscription_by_id) | **GET** /notification-subscriptions/v2/webhooks/{webhookId} | Get Details On a Single Webhook
+[**get_webhook_subscriptions_by_org**](ManageWebhooksApi.md#get_webhook_subscriptions_by_org) | **GET** /notification-subscriptions/v2/webhooks | Get Details On All Created Webhooks
[**notification_subscriptions_v1_webhooks_webhook_id_post**](ManageWebhooksApi.md#notification_subscriptions_v1_webhooks_webhook_id_post) | **POST** /notification-subscriptions/v1/webhooks/{webhookId} | Test a Webhook Configuration
+[**notification_subscriptions_v2_webhooks_webhook_id_patch**](ManageWebhooksApi.md#notification_subscriptions_v2_webhooks_webhook_id_patch) | **PATCH** /notification-subscriptions/v2/webhooks/{webhookId} | Update a Webhook Subscription
+[**notification_subscriptions_v2_webhooks_webhook_id_status_put**](ManageWebhooksApi.md#notification_subscriptions_v2_webhooks_webhook_id_status_put) | **PUT** /notification-subscriptions/v2/webhooks/{webhookId}/status | Update a Webhook Status
[**save_asym_egress_key**](ManageWebhooksApi.md#save_asym_egress_key) | **POST** /kms/egress/v2/keys-asym | Message Level Encryption
+# **delete_webhook_subscription**
+> delete_webhook_subscription(webhook_id)
+
+Delete a Webhook Subscription
+
+Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.ManageWebhooksApi()
+webhook_id = 'webhook_id_example' # str | The webhook identifier.
+
+try:
+ # Delete a Webhook Subscription
+ api_instance.delete_webhook_subscription(webhook_id)
+except ApiException as e:
+ print("Exception when calling ManageWebhooksApi->delete_webhook_subscription: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **webhook_id** | **str**| The webhook identifier. |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_webhook_subscription_by_id**
+> InlineResponse2014 get_webhook_subscription_by_id(webhook_id)
+
+Get Details On a Single Webhook
+
+Retrieve the details of a specific webhook by supplying the webhook ID in the path.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.ManageWebhooksApi()
+webhook_id = 'webhook_id_example' # str | The webhook Identifier
+
+try:
+ # Get Details On a Single Webhook
+ api_response = api_instance.get_webhook_subscription_by_id(webhook_id)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling ManageWebhooksApi->get_webhook_subscription_by_id: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **webhook_id** | **str**| The webhook Identifier |
+
+### Return type
+
+[**InlineResponse2014**](InlineResponse2014.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_webhook_subscriptions_by_org**
+> list[InlineResponse2004] get_webhook_subscriptions_by_org(organization_id, product_id=product_id, event_type=event_type)
+
+Get Details On All Created Webhooks
+
+Retrieve a list of all previously created webhooks.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.ManageWebhooksApi()
+organization_id = 'organization_id_example' # str | The Organization Identifier.
+product_id = 'product_id_example' # str | The Product Identifier. (optional)
+event_type = 'event_type_example' # str | The Event Type. (optional)
+
+try:
+ # Get Details On All Created Webhooks
+ api_response = api_instance.get_webhook_subscriptions_by_org(organization_id, product_id=product_id, event_type=event_type)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling ManageWebhooksApi->get_webhook_subscriptions_by_org: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **organization_id** | **str**| The Organization Identifier. |
+ **product_id** | **str**| The Product Identifier. | [optional]
+ **event_type** | **str**| The Event Type. | [optional]
+
+### Return type
+
+[**list[InlineResponse2004]**](InlineResponse2004.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **notification_subscriptions_v1_webhooks_webhook_id_post**
-> InlineResponse2014 notification_subscriptions_v1_webhooks_webhook_id_post(webhook_id)
+> InlineResponse2015 notification_subscriptions_v1_webhooks_webhook_id_post(webhook_id)
Test a Webhook Configuration
@@ -43,7 +195,105 @@ Name | Type | Description | Notes
### Return type
-[**InlineResponse2014**](InlineResponse2014.md)
+[**InlineResponse2015**](InlineResponse2015.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **notification_subscriptions_v2_webhooks_webhook_id_patch**
+> notification_subscriptions_v2_webhooks_webhook_id_patch(webhook_id, update_webhook=update_webhook)
+
+Update a Webhook Subscription
+
+Update a Webhook Subscription.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.ManageWebhooksApi()
+webhook_id = 'webhook_id_example' # str | The Webhook Identifier.
+update_webhook = CyberSource.UpdateWebhook() # UpdateWebhook | The webhook payload or changes to apply. (optional)
+
+try:
+ # Update a Webhook Subscription
+ api_instance.notification_subscriptions_v2_webhooks_webhook_id_patch(webhook_id, update_webhook=update_webhook)
+except ApiException as e:
+ print("Exception when calling ManageWebhooksApi->notification_subscriptions_v2_webhooks_webhook_id_patch: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **webhook_id** | **str**| The Webhook Identifier. |
+ **update_webhook** | [**UpdateWebhook**](UpdateWebhook.md)| The webhook payload or changes to apply. | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **notification_subscriptions_v2_webhooks_webhook_id_status_put**
+> notification_subscriptions_v2_webhooks_webhook_id_status_put(webhook_id, update_status=update_status)
+
+Update a Webhook Status
+
+Users can update the status of a webhook subscription by calling this endpoint. The webhookId parameter in the URL path identifies the specific webhook subscription to be updated. The request body accepts the values ACTIVE or INACTIVE. If the subscription is set to INACTIVE, webhooks will not be delivered until the subscription is activated again.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.ManageWebhooksApi()
+webhook_id = 'webhook_id_example' # str | The Webhook Identifier.
+update_status = CyberSource.UpdateStatus() # UpdateStatus | The status that the subscription should be updated to. (optional)
+
+try:
+ # Update a Webhook Status
+ api_instance.notification_subscriptions_v2_webhooks_webhook_id_status_put(webhook_id, update_status=update_status)
+except ApiException as e:
+ print("Exception when calling ManageWebhooksApi->notification_subscriptions_v2_webhooks_webhook_id_status_put: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **webhook_id** | **str**| The Webhook Identifier. |
+ **update_status** | [**UpdateStatus**](UpdateStatus.md)| The status that the subscription should be updated to. | [optional]
+
+### Return type
+
+void (empty response body)
### Authorization
@@ -57,7 +307,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **save_asym_egress_key**
-> InlineResponse2015 save_asym_egress_key(v_c_sender_organization_id, v_c_permissions, save_asym_egress_key, v_c_correlation_id=v_c_correlation_id)
+> InlineResponse2016 save_asym_egress_key(v_c_sender_organization_id, v_c_permissions, save_asym_egress_key, v_c_correlation_id=v_c_correlation_id)
Message Level Encryption
@@ -97,7 +347,7 @@ Name | Type | Description | Notes
### Return type
-[**InlineResponse2015**](InlineResponse2015.md)
+[**InlineResponse2016**](InlineResponse2016.md)
### Authorization
diff --git a/docs/MerchantBoardingApi.md b/docs/MerchantBoardingApi.md
index f985c2b4..4cd3f6f7 100644
--- a/docs/MerchantBoardingApi.md
+++ b/docs/MerchantBoardingApi.md
@@ -9,7 +9,7 @@ Method | HTTP request | Description
# **get_registration**
-> InlineResponse2001 get_registration(registration_id)
+> InlineResponse2002 get_registration(registration_id)
Gets all the information on a boarding registration
@@ -43,7 +43,7 @@ Name | Type | Description | Notes
### Return type
-[**InlineResponse2001**](InlineResponse2001.md)
+[**InlineResponse2002**](InlineResponse2002.md)
### Authorization
@@ -61,7 +61,7 @@ No authorization required
Create a boarding registration
-Create a registration to board merchant If you have Card Processing product enabled in your boarding request, select payment processor from Configuration -> Sample Request. You may unselect attributes from the Request Builder tree which you do not need in the request. For VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request. e.g. replace VPC with <your vpc processor>
+Boarding Product is specifically for resellers who onboard merchants to resell their services to merchants and help integrate REST API into their systems. The Boarding API is designed to simplify and streamline the onboarding process of merchants by enabling administrators and developers to: 1. Enable and Configure Products: The API helps in adding new products to an existing organization and configuring them to suit specific needs. 2. Update Merchant Information: The API allows for updating an organization's information efficiently. 3. Manage Payment Integration: It provides templates for secure payment integration and management.
### Example
```python
diff --git a/docs/MicroformIntegrationApi.md b/docs/MicroformIntegrationApi.md
index 0d8fe6a7..d6d51e6a 100644
--- a/docs/MicroformIntegrationApi.md
+++ b/docs/MicroformIntegrationApi.md
@@ -12,7 +12,7 @@ Method | HTTP request | Description
Generate Capture Context
-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.
+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. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
diff --git a/docs/Notificationsubscriptionsv2productsorganizationIdEventTypes.md b/docs/Notificationsubscriptionsv2productsorganizationIdEventTypes.md
new file mode 100644
index 00000000..f9e60714
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2productsorganizationIdEventTypes.md
@@ -0,0 +1,14 @@
+# Notificationsubscriptionsv2productsorganizationIdEventTypes
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**event_name** | **str** | | [optional]
+**display_name** | **str** | | [optional]
+**frequency** | **int** | | [optional]
+**time_sensitivity** | **bool** | | [optional] [default to False]
+**payload_encryption** | **bool** | | [optional] [default to False]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksProducts.md b/docs/Notificationsubscriptionsv2webhooksProducts.md
new file mode 100644
index 00000000..ad7f94c3
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksProducts.md
@@ -0,0 +1,11 @@
+# Notificationsubscriptionsv2webhooksProducts
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**product_id** | **str** | Product ID. | [optional]
+**event_types** | **list[str]** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksProducts1.md b/docs/Notificationsubscriptionsv2webhooksProducts1.md
new file mode 100644
index 00000000..737d226a
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksProducts1.md
@@ -0,0 +1,11 @@
+# Notificationsubscriptionsv2webhooksProducts1
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**product_id** | **str** | Product ID. | [optional]
+**event_types** | **list[str]** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksRetryPolicy.md b/docs/Notificationsubscriptionsv2webhooksRetryPolicy.md
new file mode 100644
index 00000000..7a19aea1
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksRetryPolicy.md
@@ -0,0 +1,17 @@
+# Notificationsubscriptionsv2webhooksRetryPolicy
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**algorithm** | **str** | 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]
+**first_retry** | **int** | When to initiate first retry, after the initial call failed. (in mins). | [optional]
+**interval** | **int** | The interval between retries (in mins). | [optional]
+**number_of_retries** | **int** | The number of retries per sequence. | [optional]
+**deactivate_flag** | **str** | 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]
+**repeat_sequence_count** | **int** | 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]
+**repeat_sequence_wait_time** | **int** | 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]
+**additional_attributes** | **list[dict(str, str)]** | Additional data, if any. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksSecurityPolicy.md b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy.md
new file mode 100644
index 00000000..cd78a50a
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy.md
@@ -0,0 +1,11 @@
+# Notificationsubscriptionsv2webhooksSecurityPolicy
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**security_type** | **str** | Security Policy of the client server. | [optional]
+**config** | [**Notificationsubscriptionsv2webhooksSecurityPolicyConfig**](Notificationsubscriptionsv2webhooksSecurityPolicyConfig.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1.md b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1.md
new file mode 100644
index 00000000..97d41bf4
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1.md
@@ -0,0 +1,11 @@
+# Notificationsubscriptionsv2webhooksSecurityPolicy1
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**security_type** | **str** | Security Policy of the client server. Possible values: - key - oAuth - oAuth_JWT | [optional]
+**config** | [**Notificationsubscriptionsv2webhooksSecurityPolicy1Config**](Notificationsubscriptionsv2webhooksSecurityPolicy1Config.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1Config.md b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1Config.md
new file mode 100644
index 00000000..4a4c6f8e
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1Config.md
@@ -0,0 +1,13 @@
+# Notificationsubscriptionsv2webhooksSecurityPolicy1Config
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**o_auth_token_expiry** | **str** | Token expiration for the oAuth server. | [optional]
+**o_auth_url** | **str** | Client direct endpoint to the oAuth server. | [optional]
+**o_auth_token_type** | **str** | Token type for the oAuth config. | [optional]
+**additional_config** | [**Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig**](Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.md b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.md
new file mode 100644
index 00000000..1ce3508a
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig.md
@@ -0,0 +1,13 @@
+# Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**aud** | **str** | | [optional]
+**client_id** | **str** | | [optional]
+**key_id** | **str** | | [optional]
+**scope** | **str** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Notificationsubscriptionsv2webhooksSecurityPolicyConfig.md b/docs/Notificationsubscriptionsv2webhooksSecurityPolicyConfig.md
new file mode 100644
index 00000000..d2049731
--- /dev/null
+++ b/docs/Notificationsubscriptionsv2webhooksSecurityPolicyConfig.md
@@ -0,0 +1,12 @@
+# Notificationsubscriptionsv2webhooksSecurityPolicyConfig
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**o_auth_token_expiry** | **str** | Token expiration for the oAuth server. | [optional]
+**o_auth_url** | **str** | Client direct endpoint to the oAuth server. | [optional]
+**o_auth_token_type** | **str** | Token type for the oAuth config. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PayerAuthenticationApi.md b/docs/PayerAuthenticationApi.md
index ae367d71..4d602639 100644
--- a/docs/PayerAuthenticationApi.md
+++ b/docs/PayerAuthenticationApi.md
@@ -62,7 +62,7 @@ No authorization required
Setup Payer Auth
-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.
+A new service for Merchants to get reference_id for Digital Wallets to use in place of BIN number in Cardinal. Set up file while authenticating with Cardinal. This service should be called by Merchant when payment instrument chosen or changes. This service has to be called before enrollment check. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
diff --git a/docs/PaymentLinksApi.md b/docs/PaymentLinksApi.md
new file mode 100644
index 00000000..e954ae5d
--- /dev/null
+++ b/docs/PaymentLinksApi.md
@@ -0,0 +1,210 @@
+# CyberSource.PaymentLinksApi
+
+All URIs are relative to *https://apitest.cybersource.com*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_payment_link**](PaymentLinksApi.md#create_payment_link) | **POST** /ipl/v2/payment-links | Create a Payment Link
+[**get_all_payment_links**](PaymentLinksApi.md#get_all_payment_links) | **GET** /ipl/v2/payment-links | Get a List of Payment Links
+[**get_payment_link**](PaymentLinksApi.md#get_payment_link) | **GET** /ipl/v2/payment-links/{id} | Get Payment Link Details
+[**update_payment_link**](PaymentLinksApi.md#update_payment_link) | **PATCH** /ipl/v2/payment-links/{id} | Update a Payment Link
+
+
+# **create_payment_link**
+> PblPaymentLinksPost201Response create_payment_link(create_payment_link_request)
+
+Create a Payment Link
+
+Create a new payment link.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.PaymentLinksApi()
+create_payment_link_request = CyberSource.CreatePaymentLinkRequest() # CreatePaymentLinkRequest |
+
+try:
+ # Create a Payment Link
+ api_response = api_instance.create_payment_link(create_payment_link_request)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling PaymentLinksApi->create_payment_link: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **create_payment_link_request** | [**CreatePaymentLinkRequest**](CreatePaymentLinkRequest.md)| |
+
+### Return type
+
+[**PblPaymentLinksPost201Response**](PblPaymentLinksPost201Response.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_all_payment_links**
+> PblPaymentLinksAllGet200Response get_all_payment_links(offset, limit, status=status)
+
+Get a List of Payment Links
+
+Provides a (filtered) list of payment links that have been created in your account. You can filter the list based on the following status types: - ACTIVE - INACTIVE
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.PaymentLinksApi()
+offset = 56 # int | Page offset number.
+limit = 56 # int | Maximum number of items you would like returned. Maximum limit: 1000
+status = 'status_example' # str | The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE (optional)
+
+try:
+ # Get a List of Payment Links
+ api_response = api_instance.get_all_payment_links(offset, limit, status=status)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling PaymentLinksApi->get_all_payment_links: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **offset** | **int**| Page offset number. |
+ **limit** | **int**| Maximum number of items you would like returned. Maximum limit: 1000 |
+ **status** | **str**| The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE | [optional]
+
+### Return type
+
+[**PblPaymentLinksAllGet200Response**](PblPaymentLinksAllGet200Response.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_payment_link**
+> PblPaymentLinksGet200Response get_payment_link(id)
+
+Get Payment Link Details
+
+You can retrieve details of a specific payment link. For each payment transaction you can use the Transaction Details API to get more details on the payment transaction.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.PaymentLinksApi()
+id = 'id_example' # str | The purchase number.
+
+try:
+ # Get Payment Link Details
+ api_response = api_instance.get_payment_link(id)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling PaymentLinksApi->get_payment_link: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| The purchase number. |
+
+### Return type
+
+[**PblPaymentLinksGet200Response**](PblPaymentLinksGet200Response.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **update_payment_link**
+> PblPaymentLinksPost201Response update_payment_link(id, update_payment_link_request)
+
+Update a Payment Link
+
+You can update all information except the payment link number until any payment is received for a payment link.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.PaymentLinksApi()
+id = 'id_example' # str | The purchase number.
+update_payment_link_request = CyberSource.UpdatePaymentLinkRequest() # UpdatePaymentLinkRequest | Updating the purchase or donation link does not resend the link automatically. You must resend the purchase or donation link separately.
+
+try:
+ # Update a Payment Link
+ api_response = api_instance.update_payment_link(id, update_payment_link_request)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling PaymentLinksApi->update_payment_link: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **id** | **str**| The purchase number. |
+ **update_payment_link_request** | [**UpdatePaymentLinkRequest**](UpdatePaymentLinkRequest.md)| Updating the purchase or donation link does not resend the link automatically. You must resend the purchase or donation link separately. |
+
+### Return type
+
+[**PblPaymentLinksPost201Response**](PblPaymentLinksPost201Response.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/PayoutsApi.md b/docs/PayoutsApi.md
index 8c6f30a2..fed980a4 100644
--- a/docs/PayoutsApi.md
+++ b/docs/PayoutsApi.md
@@ -12,7 +12,7 @@ Method | HTTP request | Description
Process a Payout
-Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT).
+Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT). The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
diff --git a/docs/PblPaymentLinksAllGet200Response.md b/docs/PblPaymentLinksAllGet200Response.md
new file mode 100644
index 00000000..73762c1f
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet200Response.md
@@ -0,0 +1,13 @@
+# PblPaymentLinksAllGet200Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**GetAllPlansResponseLinks**](GetAllPlansResponseLinks.md) | | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**total_links** | **int** | | [optional]
+**sdk_links** | [**list[PblPaymentLinksAllGet200ResponseSdkLinks]**](PblPaymentLinksAllGet200ResponseSdkLinks.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet200ResponseOrderInformation.md b/docs/PblPaymentLinksAllGet200ResponseOrderInformation.md
new file mode 100644
index 00000000..afd891a2
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet200ResponseOrderInformation.md
@@ -0,0 +1,11 @@
+# PblPaymentLinksAllGet200ResponseOrderInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**amount_details** | [**PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails**](PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.md) | | [optional]
+**line_items** | [**list[PblPaymentLinksAllGet200ResponseOrderInformationLineItems]**](PblPaymentLinksAllGet200ResponseOrderInformationLineItems.md) | List of the line items from the order. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.md b/docs/PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.md
new file mode 100644
index 00000000..db8248c3
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.md
@@ -0,0 +1,13 @@
+# PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
+**max_amount** | **str** | Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page. | [optional]
+**min_amount** | **str** | Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet200ResponseOrderInformationLineItems.md b/docs/PblPaymentLinksAllGet200ResponseOrderInformationLineItems.md
new file mode 100644
index 00000000..db1e7aa7
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet200ResponseOrderInformationLineItems.md
@@ -0,0 +1,12 @@
+# PblPaymentLinksAllGet200ResponseOrderInformationLineItems
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**product_name** | **str** | For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values that are related to shipping and/or handling. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. | [optional]
+**unit_price** | **str** | Per-item price of the product. This value for this field cannot be negative. You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request. You can include a decimal point (.), but you cannot include any other special characters. The value is truncated to the correct number of decimal places. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request. #### Tax Calculation Required field for U.S., Canadian, international and value added taxes. #### Zero Amount Authorizations If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Maximum Field Lengths For GPN and JCN Gateway: Decimal (10) All other processors: Decimal (15) | [optional]
+**product_description** | **str** | Brief description of item. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet200ResponseProcessingInformation.md b/docs/PblPaymentLinksAllGet200ResponseProcessingInformation.md
new file mode 100644
index 00000000..0c784e1b
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet200ResponseProcessingInformation.md
@@ -0,0 +1,10 @@
+# PblPaymentLinksAllGet200ResponseProcessingInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**link_type** | **str** | linkType defines what type of link you want to create. Possible Values: - `PURCHASE` - `DONATION` | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet200ResponsePurchaseInformation.md b/docs/PblPaymentLinksAllGet200ResponsePurchaseInformation.md
new file mode 100644
index 00000000..ff1c685d
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet200ResponsePurchaseInformation.md
@@ -0,0 +1,11 @@
+# PblPaymentLinksAllGet200ResponsePurchaseInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**purchase_number** | **str** | The purchase number | [optional]
+**payment_link** | **str** | Returns the link to a purchase or donation link when the status is `ACTIVE`. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet200ResponseSdkLinks.md b/docs/PblPaymentLinksAllGet200ResponseSdkLinks.md
new file mode 100644
index 00000000..dc87eddb
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet200ResponseSdkLinks.md
@@ -0,0 +1,16 @@
+# PblPaymentLinksAllGet200ResponseSdkLinks
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**GetAllPlansResponseLinks**](GetAllPlansResponseLinks.md) | | [optional]
+**id** | **str** | An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. | [optional]
+**status** | **str** | The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE | [optional]
+**created_date** | **str** | Date and time (UTC) the invoice was created. 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]
+**processing_information** | [**PblPaymentLinksAllGet200ResponseProcessingInformation**](PblPaymentLinksAllGet200ResponseProcessingInformation.md) | | [optional]
+**purchase_information** | [**PblPaymentLinksAllGet200ResponsePurchaseInformation**](PblPaymentLinksAllGet200ResponsePurchaseInformation.md) | | [optional]
+**order_information** | [**PblPaymentLinksAllGet200ResponseOrderInformation**](PblPaymentLinksAllGet200ResponseOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet400Response.md b/docs/PblPaymentLinksAllGet400Response.md
new file mode 100644
index 00000000..d5039fab
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet400Response.md
@@ -0,0 +1,14 @@
+# PblPaymentLinksAllGet400Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the purchase or donation link. Possible values: - BADREQUEST | [optional]
+**reason** | **str** | The reason of the status. Possible values: - DUPLICATE_RECORD - ACTION_NOT_ALLOWED - VALIDATION_ERRORS - INVALID_TRANSIENT_TOKEN | [optional]
+**message** | **str** | The detail message related to the status and reason listed above. | [optional]
+**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksAllGet404Response.md b/docs/PblPaymentLinksAllGet404Response.md
new file mode 100644
index 00000000..c2916077
--- /dev/null
+++ b/docs/PblPaymentLinksAllGet404Response.md
@@ -0,0 +1,14 @@
+# PblPaymentLinksAllGet404Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the purchase or donation link. Possible values: - NOTFOUND | [optional]
+**reason** | **str** | The reason of the status. Possible values: - NOTFOUND | [optional]
+**message** | **str** | The detail message related to the status and reason listed above. | [optional]
+**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksGet200Response.md b/docs/PblPaymentLinksGet200Response.md
new file mode 100644
index 00000000..118e6a2f
--- /dev/null
+++ b/docs/PblPaymentLinksGet200Response.md
@@ -0,0 +1,16 @@
+# PblPaymentLinksGet200Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**PblPaymentLinksPost201ResponseLinks**](PblPaymentLinksPost201ResponseLinks.md) | | [optional]
+**id** | **str** | An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE | [optional]
+**processing_information** | [**Iplv2paymentlinksProcessingInformation**](Iplv2paymentlinksProcessingInformation.md) | | [optional]
+**purchase_information** | [**PblPaymentLinksPost201ResponsePurchaseInformation**](PblPaymentLinksPost201ResponsePurchaseInformation.md) | | [optional]
+**order_information** | [**PblPaymentLinksPost201ResponseOrderInformation**](PblPaymentLinksPost201ResponseOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksPost201Response.md b/docs/PblPaymentLinksPost201Response.md
new file mode 100644
index 00000000..cab69791
--- /dev/null
+++ b/docs/PblPaymentLinksPost201Response.md
@@ -0,0 +1,16 @@
+# PblPaymentLinksPost201Response
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**PblPaymentLinksPost201ResponseLinks**](PblPaymentLinksPost201ResponseLinks.md) | | [optional]
+**id** | **str** | An unique identification number generated by Cybersource to identify the submitted request. Returned by all services. It is also appended to the endpoint of the resource. On incremental authorizations, this value with be the same as the identification number returned in the original authorization response. | [optional]
+**submit_time_utc** | **str** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional]
+**status** | **str** | The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE | [optional]
+**processing_information** | [**Iplv2paymentlinksProcessingInformation**](Iplv2paymentlinksProcessingInformation.md) | | [optional]
+**purchase_information** | [**PblPaymentLinksPost201ResponsePurchaseInformation**](PblPaymentLinksPost201ResponsePurchaseInformation.md) | | [optional]
+**order_information** | [**PblPaymentLinksPost201ResponseOrderInformation**](PblPaymentLinksPost201ResponseOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksPost201ResponseLinks.md b/docs/PblPaymentLinksPost201ResponseLinks.md
new file mode 100644
index 00000000..85405cd4
--- /dev/null
+++ b/docs/PblPaymentLinksPost201ResponseLinks.md
@@ -0,0 +1,11 @@
+# PblPaymentLinksPost201ResponseLinks
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_self** | [**PtsV2PaymentsPost201ResponseLinksSelf**](PtsV2PaymentsPost201ResponseLinksSelf.md) | | [optional]
+**update** | [**PtsV2PaymentsPost201ResponseLinksSelf**](PtsV2PaymentsPost201ResponseLinksSelf.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksPost201ResponseOrderInformation.md b/docs/PblPaymentLinksPost201ResponseOrderInformation.md
new file mode 100644
index 00000000..25d54896
--- /dev/null
+++ b/docs/PblPaymentLinksPost201ResponseOrderInformation.md
@@ -0,0 +1,11 @@
+# PblPaymentLinksPost201ResponseOrderInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**amount_details** | [**PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails**](PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails.md) | | [optional]
+**line_items** | [**list[Iplv2paymentlinksOrderInformationLineItems]**](Iplv2paymentlinksOrderInformationLineItems.md) | List of the line items from the order. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PblPaymentLinksPost201ResponsePurchaseInformation.md b/docs/PblPaymentLinksPost201ResponsePurchaseInformation.md
new file mode 100644
index 00000000..9e175c21
--- /dev/null
+++ b/docs/PblPaymentLinksPost201ResponsePurchaseInformation.md
@@ -0,0 +1,12 @@
+# PblPaymentLinksPost201ResponsePurchaseInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**purchase_number** | **str** | The purchase number | [optional]
+**created_date** | **str** | Date and time (UTC) the invoice was created. 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]
+**payment_link** | **str** | Returns the link to a purchase or donation link when the status is `ACTIVE`. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/PlansApi.md b/docs/PlansApi.md
index e66377df..aeecdf72 100644
--- a/docs/PlansApi.md
+++ b/docs/PlansApi.md
@@ -67,7 +67,7 @@ No authorization required
Create a Plan
-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 *Token Management* (*TMS*). The three key elements of *Cybersource* Recurring Billing are: -  **Token**: stores customer billing, shipping, and payment details. -  **Plan**: stores the billing schedule. -  **Subscription**: combines the token and plan, and defines the subscription start date, name, and description. The APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management)
+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 *Token Management* (*TMS*). The three key elements of *Cybersource* Recurring Billing are: -  **Token**: stores customer billing, shipping, and payment details. -  **Plan**: stores the billing schedule. -  **Subscription**: combines the token and plan, and defines the subscription start date, name, and description. The APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management) The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
diff --git a/docs/PostPaymentCredentialsRequest.md b/docs/PostPaymentCredentialsRequest.md
index 257665d7..ea154ace 100644
--- a/docs/PostPaymentCredentialsRequest.md
+++ b/docs/PostPaymentCredentialsRequest.md
@@ -4,6 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**payment_credential_type** | **str** | The type of payment credentials to be returned. By default, payment credentials include network token and cryptogram or dynamic CVV. If \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested. If \"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. If \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex. Possible Values: - NETWORK_TOKEN - SECURITY_CODE - CRYPTOGRAM | [optional]
+**transaction_type** | **str** | Specifies the type of transaction for which the network token credentials are required. Possible Values: - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default. - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.md b/docs/PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.md
index 294476a6..553ea566 100644
--- a/docs/PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.md
+++ b/docs/PtsV2IncrementalAuthorizationPatch201ResponseErrorInformation.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**reason** | **str** | The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - CONSUMER_AUTHENTICATION_REQUIRED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR | [optional]
+**reason** | **str** | The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLOCKED_BY_CARDHOLDER - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - CONSUMER_AUTHENTICATION_REQUIRED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR | [optional]
**message** | **str** | The detail message related to the status and reason listed above. | [optional]
**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
diff --git a/docs/PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.md b/docs/PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.md
index c44ac748..dce3489a 100644
--- a/docs/PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.md
+++ b/docs/PtsV2PaymentsOrderPost201ResponseOrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/PtsV2PaymentsPost201Response2OrderInformationAmountDetails.md b/docs/PtsV2PaymentsPost201Response2OrderInformationAmountDetails.md
index f38721fd..1f51f732 100644
--- a/docs/PtsV2PaymentsPost201Response2OrderInformationAmountDetails.md
+++ b/docs/PtsV2PaymentsPost201Response2OrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/PtsV2PaymentsPost201ResponseErrorInformation.md b/docs/PtsV2PaymentsPost201ResponseErrorInformation.md
index 5dd3203f..937884df 100644
--- a/docs/PtsV2PaymentsPost201ResponseErrorInformation.md
+++ b/docs/PtsV2PaymentsPost201ResponseErrorInformation.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**reason** | **str** | The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - DECLINED_CHECK - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - PENDING_AUTHENTICATION - ACH_VERIFICATION_FAILED - DECISION_PROFILE_REVIEW - CONSUMER_AUTHENTICATION_REQUIRED - CONSUMER_AUTHENTICATION_FAILED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR - CUSTOMER_WATCHLIST_MATCH - ADDRESS_COUNTRY_WATCHLIST_MATCH - EMAIL_COUNTRY_WATCHLIST_MATCH - IP_COUNTRY_WATCHLIST_MATCH - INVALID_MERCHANT_CONFIGURATION | [optional]
+**reason** | **str** | The reason of the status. Possible values: - AVS_FAILED - CONTACT_PROCESSOR - EXPIRED_CARD - PROCESSOR_DECLINED - INSUFFICIENT_FUND - STOLEN_LOST_CARD - ISSUER_UNAVAILABLE - UNAUTHORIZED_CARD - CVN_NOT_MATCH - EXCEEDS_CREDIT_LIMIT - INVALID_CVN - BLOCKED_BY_CARDHOLDER - DECLINED_CHECK - BLACKLISTED_CUSTOMER - SUSPENDED_ACCOUNT - PAYMENT_REFUSED - CV_FAILED - INVALID_ACCOUNT - GENERAL_DECLINE - INVALID_MERCHANT_CONFIGURATION - DECISION_PROFILE_REJECT - SCORE_EXCEEDS_THRESHOLD - PENDING_AUTHENTICATION - ACH_VERIFICATION_FAILED - DECISION_PROFILE_REVIEW - CONSUMER_AUTHENTICATION_REQUIRED - CONSUMER_AUTHENTICATION_FAILED - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR - CUSTOMER_WATCHLIST_MATCH - ADDRESS_COUNTRY_WATCHLIST_MATCH - EMAIL_COUNTRY_WATCHLIST_MATCH - IP_COUNTRY_WATCHLIST_MATCH - INVALID_MERCHANT_CONFIGURATION | [optional]
**message** | **str** | The detail message related to the status and reason listed above. | [optional]
**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
diff --git a/docs/PtsV2PayoutsPost201ResponseErrorInformation.md b/docs/PtsV2PayoutsPost201ResponseErrorInformation.md
index d5be6510..67570476 100644
--- a/docs/PtsV2PayoutsPost201ResponseErrorInformation.md
+++ b/docs/PtsV2PayoutsPost201ResponseErrorInformation.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**reason** | **str** | The reason of the status. Possible values: - EXPIRED_CARD - PROCESSOR_DECLINED - STOLEN_LOST_CARD - UNAUTHORIZED_CARD - CVN_NOT_MATCH - INVALID_CVN - BLACKLISTED_CUSTOMER - INVALID_ACCOUNT - GENERAL_DECLINE - RISK_CONTROL_DECLINE - PROCESSOR_RISK_CONTROL_DECLINE - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR | [optional]
+**reason** | **str** | The reason of the status. Possible values: - EXPIRED_CARD - PROCESSOR_DECLINED - STOLEN_LOST_CARD - UNAUTHORIZED_CARD - CVN_NOT_MATCH - INVALID_CVN - BLOCKED_BY_CARDHOLDER - BLACKLISTED_CUSTOMER - INVALID_ACCOUNT - GENERAL_DECLINE - RISK_CONTROL_DECLINE - PROCESSOR_RISK_CONTROL_DECLINE - ALLOWABLE_PIN_RETRIES_EXCEEDED - PROCESSOR_ERROR | [optional]
**message** | **str** | The detail message related to the status and reason listed above. | [optional]
**details** | [**list[PtsV2PaymentsPost201ResponseErrorInformationDetails]**](PtsV2PaymentsPost201ResponseErrorInformationDetails.md) | | [optional]
diff --git a/docs/PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.md b/docs/PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.md
index a96dae0b..3e877a46 100644
--- a/docs/PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.md
+++ b/docs/PtsV2PayoutsPost201ResponseOrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**settlement_amount** | **str** | 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. | [optional]
**settlement_currency** | **str** | 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. | [optional]
diff --git a/docs/Ptsv2paymentreferencesOrderInformationAmountDetails.md b/docs/Ptsv2paymentreferencesOrderInformationAmountDetails.md
index 9eca04c5..0c553249 100644
--- a/docs/Ptsv2paymentreferencesOrderInformationAmountDetails.md
+++ b/docs/Ptsv2paymentreferencesOrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**discount_amount** | **str** | Total discount amount applied to the order. | [optional]
**tax_amount** | **str** | Total tax amount for all the items in the order. | [optional]
diff --git a/docs/Ptsv2paymentsOrderInformationAmountDetails.md b/docs/Ptsv2paymentsOrderInformationAmountDetails.md
index 27349137..5f9fcf22 100644
--- a/docs/Ptsv2paymentsOrderInformationAmountDetails.md
+++ b/docs/Ptsv2paymentsOrderInformationAmountDetails.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**gift_wrap_amount** | **str** | Amount being charged as gift wrap fee. | [optional]
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**sub_total_amount** | **str** | Subtotal amount of all the items.This amount (which is the value of all items in the cart, not including the additional amounts such as tax, shipping, etc.) cannot change after a sessions request. When there is a change to any of the additional amounts, this field should be resent in the order request. When the sub total amount changes, you must initiate a new transaction starting with a sessions request. Note The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point. This value can not be changed after a sessions request. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**discount_amount** | **str** | Total discount amount applied to the order. | [optional]
diff --git a/docs/Ptsv2paymentsidcapturesOrderInformationAmountDetails.md b/docs/Ptsv2paymentsidcapturesOrderInformationAmountDetails.md
index 20e8ca11..763ce0e4 100644
--- a/docs/Ptsv2paymentsidcapturesOrderInformationAmountDetails.md
+++ b/docs/Ptsv2paymentsidcapturesOrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**discount_amount** | **str** | Total discount amount applied to the order. | [optional]
**duty_amount** | **str** | Total charges for any import or export duties included in the order. | [optional]
diff --git a/docs/Ptsv2paymentsidreversalsReversalInformationAmountDetails.md b/docs/Ptsv2paymentsidreversalsReversalInformationAmountDetails.md
index 4d00a7cc..e764a382 100644
--- a/docs/Ptsv2paymentsidreversalsReversalInformationAmountDetails.md
+++ b/docs/Ptsv2paymentsidreversalsReversalInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Ptsv2payoutsOrderInformationAmountDetails.md b/docs/Ptsv2payoutsOrderInformationAmountDetails.md
index d925b607..02a7caa7 100644
--- a/docs/Ptsv2payoutsOrderInformationAmountDetails.md
+++ b/docs/Ptsv2payoutsOrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**surcharge** | [**Ptsv2payoutsOrderInformationAmountDetailsSurcharge**](Ptsv2payoutsOrderInformationAmountDetailsSurcharge.md) | | [optional]
diff --git a/docs/Rbsv1subscriptionsProcessingInformation.md b/docs/Rbsv1subscriptionsProcessingInformation.md
index 45a51a52..10d7bfc3 100644
--- a/docs/Rbsv1subscriptionsProcessingInformation.md
+++ b/docs/Rbsv1subscriptionsProcessingInformation.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**commerce_indicator** | **str** | Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates. Valid values: - `MOTO` - `RECURRING` Please 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. | [optional]
+**commerce_indicator** | **str** | Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates. Valid values: - `MOTO` - `RECURRING` - `INTERNET` Please 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. | [optional]
**authorization_options** | [**Rbsv1subscriptionsProcessingInformationAuthorizationOptions**](Rbsv1subscriptionsProcessingInformationAuthorizationOptions.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Riskv1authenticationresultsOrderInformationAmountDetails.md b/docs/Riskv1authenticationresultsOrderInformationAmountDetails.md
index 8fd0b867..eeafb88a 100644
--- a/docs/Riskv1authenticationresultsOrderInformationAmountDetails.md
+++ b/docs/Riskv1authenticationresultsOrderInformationAmountDetails.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Riskv1authenticationsOrderInformationAmountDetails.md b/docs/Riskv1authenticationsOrderInformationAmountDetails.md
index b70e3695..1e1033d9 100644
--- a/docs/Riskv1authenticationsOrderInformationAmountDetails.md
+++ b/docs/Riskv1authenticationsOrderInformationAmountDetails.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. |
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. |
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/SubscriptionsFollowOnsApi.md b/docs/SubscriptionsFollowOnsApi.md
new file mode 100644
index 00000000..d1fe3910
--- /dev/null
+++ b/docs/SubscriptionsFollowOnsApi.md
@@ -0,0 +1,108 @@
+# CyberSource.SubscriptionsFollowOnsApi
+
+All URIs are relative to *https://apitest.cybersource.com*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_follow_on_subscription**](SubscriptionsFollowOnsApi.md#create_follow_on_subscription) | **POST** /rbs/v1/subscriptions/follow-ons/{requestId} | Create a Follow-On Subscription
+[**get_follow_on_subscription**](SubscriptionsFollowOnsApi.md#get_follow_on_subscription) | **GET** /rbs/v1/subscriptions/follow-ons/{requestId} | Get a Follow-On Subscription
+
+
+# **create_follow_on_subscription**
+> CreateSubscriptionResponse create_follow_on_subscription(request_id, create_subscription_request)
+
+Create a Follow-On Subscription
+
+Create a new Subscription based on the Request Id of an existing successful Transaction.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.SubscriptionsFollowOnsApi()
+request_id = 'request_id_example' # str | Request Id of an existing successful Transaction
+create_subscription_request = CyberSource.CreateSubscriptionRequest1() # CreateSubscriptionRequest1 |
+
+try:
+ # Create a Follow-On Subscription
+ api_response = api_instance.create_follow_on_subscription(request_id, create_subscription_request)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling SubscriptionsFollowOnsApi->create_follow_on_subscription: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **request_id** | **str**| Request Id of an existing successful Transaction |
+ **create_subscription_request** | [**CreateSubscriptionRequest1**](CreateSubscriptionRequest1.md)| |
+
+### Return type
+
+[**CreateSubscriptionResponse**](CreateSubscriptionResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_follow_on_subscription**
+> GetSubscriptionResponse1 get_follow_on_subscription(request_id)
+
+Get a Follow-On Subscription
+
+Get details of the Subscription being created based on the Request Id of an existing successful Transaction.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.SubscriptionsFollowOnsApi()
+request_id = 'request_id_example' # str | Request Id of an existing successful Transaction
+
+try:
+ # Get a Follow-On Subscription
+ api_response = api_instance.get_follow_on_subscription(request_id)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling SubscriptionsFollowOnsApi->get_follow_on_subscription: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **request_id** | **str**| Request Id of an existing successful Transaction |
+
+### Return type
+
+[**GetSubscriptionResponse1**](GetSubscriptionResponse1.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/TaxesApi.md b/docs/TaxesApi.md
index ee8f11d1..e7f42d02 100644
--- a/docs/TaxesApi.md
+++ b/docs/TaxesApi.md
@@ -13,7 +13,7 @@ Method | HTTP request | Description
Calculate Taxes
-The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation 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).
+The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. It enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. The service supports product-based tax rules and exemptions for goods and services. The tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions). Implementation 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). The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```python
diff --git a/docs/TmsBinLookupPaymentAccountInformationCard.md b/docs/TmsBinLookupPaymentAccountInformationCard.md
index fbb484ab..8260a8d6 100644
--- a/docs/TmsBinLookupPaymentAccountInformationCard.md
+++ b/docs/TmsBinLookupPaymentAccountInformationCard.md
@@ -3,8 +3,8 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**type** | **str** | This field contains the 3-digit value that indicates the card type. Possible values: - `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. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: Enroute[^1] - `015`: Lowes Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Switch/Solo - `025`: Sams Club Consumer - `026`: Sams Club Business - `027`: Nicos - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `032`: Solo - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style - `046`: J.Crew - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo[^3] - `055`: Capital One Private Label - `058`: Carnet - `059`: ValueLink - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. | [optional]
-**brand_name** | **str** | This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS | [optional]
+**type** | **str** | This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system. Possible values: - `001`: Visa - `002`: Mastercard - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche - `007`: JCB - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: EnRoute - `015`: Lowe's Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL - `023`: Disney Card - `024`: Switch/Solo - `025`: Sam's Club Consumer - `026`: Sam's Club Business - `027`: Nico's - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron - `034`: Dankort - `035`: Laser - `036`: Cartes Bancaire - `037`: Carta Si - `040`: UATP - `041`: HOUSEHOLD - `042`: Maestro - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: J.Crew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo - `055`: Capital One Private Label - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: Meeza - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan | [optional]
+**brand_name** | **str** | This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - MADA - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS - MEEZA - PAYPAK - JAYWAN | [optional]
**currency** | **str** | This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency. | [optional]
**max_length** | **str** | This field contains the max length of the card. | [optional]
**credential_type** | **str** | This field contains the type of the payment credential. Possible values: - PAN - TOKEN | [optional]
diff --git a/docs/TmsBinLookupPaymentAccountInformationCardBrands.md b/docs/TmsBinLookupPaymentAccountInformationCardBrands.md
index dd862897..8f0fedaf 100644
--- a/docs/TmsBinLookupPaymentAccountInformationCardBrands.md
+++ b/docs/TmsBinLookupPaymentAccountInformationCardBrands.md
@@ -3,8 +3,8 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**type** | **str** | This field contains the 3-digit value that indicates the card type. Possible values: - `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. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `008`: Optima - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: Enroute[^1] - `015`: Lowes Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL[^1] - `023`: Disney Card - `024`: Switch/Solo - `025`: Sams Club Consumer - `026`: Sams Club Business - `027`: Nicos - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `032`: Solo - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `035`: Laser - `036`: Cartes Bancaires[^1] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `041`: HOUSEHOLD - `042`: Maestro (International)[^1] - `043`: GE MONEY - `044`: Korean Cards - `045`: Style - `046`: J.Crew - `050`: Hipercard[^2,3] - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo[^3] - `055`: Capital One Private Label - `058`: Carnet - `059`: ValueLink - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. | [optional]
-**brand_name** | **str** | This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS | [optional]
+**type** | **str** | This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system. Possible values: - `001`: Visa - `002`: Mastercard - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche - `007`: JCB - `008`: Optima - `009`: GE Private Label - `010`: Beneficial Private Label - `011`: Twinpay Credit Card - `012`: Twinpay Debit Card - `013`: Walmart - `014`: EnRoute - `015`: Lowe's Consumer - `016`: Home Depot Consumer - `017`: MBNA - `018`: Dick's Sportwear - `019`: Casual Corner - `020`: Sears - `021`: JAL - `023`: Disney Card - `024`: Switch/Solo - `025`: Sam's Club Consumer - `026`: Sam's Club Business - `027`: Nico's - `028`: Paymentech Bill Me Later - `029`: Bebe - `030`: Restoration Hardware - `031`: Delta Online - `032`: Solo - `033`: Visa Electron - `034`: Dankort - `035`: Laser - `036`: Cartes Bancaire - `037`: Carta Si - `040`: UATP - `041`: HOUSEHOLD - `042`: Maestro - `043`: GE MONEY - `044`: Korean Cards - `045`: Style Cards - `046`: J.Crew - `047`: Payeasecn eWallet - `048`: Payeasecn Bank Transfer - `049`: Meijer - `050`: Hipercard - `051`: Aura - `052`: Redecard - `053`: Orico Card - `054`: Elo - `055`: Capital One Private Label - `057`: Costco Private Label - `058`: Carnet - `059`: ValueLink - `060`: MADA - `061`: RuPay - `062`: China UnionPay - `063`: Falabella Private Label - `064`: Prompt Card - `065`: Korean Domestic - `066`: Banricompras - `067`: Meeza - `068`: PayPak - `070`: EFTPOS - `071`: Codensa - `072`: Olimpica - `073`: Colsubsidio - `074`: Tuya - `075`: Sodexo - `076`: Naranja - `077`: Cabal - `078`: DINELCO - `079`: PANAL - `080`: EPM - `081`: Jaywan | [optional]
+**brand_name** | **str** | This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - MADA - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS - MEEZA - PAYPAK - JAYWAN | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/TmsBinLookupPaymentAccountInformationFeatures.md b/docs/TmsBinLookupPaymentAccountInformationFeatures.md
index 373a8333..bfa6b4f7 100644
--- a/docs/TmsBinLookupPaymentAccountInformationFeatures.md
+++ b/docs/TmsBinLookupPaymentAccountInformationFeatures.md
@@ -8,10 +8,20 @@ Name | Type | Description | Notes
**card_product** | **str** | This field contains the type of issuer product. Example values: - Visa Classic - Visa Signature - Visa Infinite | [optional]
**message_type** | **str** | This field contains the type of BIN based authentication. Possible values: - `S`: Single Message - `D`: Dual Message | [optional]
**acceptance_level** | **str** | This field contains the acceptance level of the PAN. Possible values: - `0` : Normal - `1` : Monitor - `2` : Refuse - `3` : Not Allowed - `4` : Private - `5` : Test | [optional]
-**card_platform** | **str** | This field contains the type of card platform. Possible values: - `BUSINESS` - `CONSUMER` - `COMMERCIAL` - `GOVERNMENT` | [optional]
+**card_platform** | **str** | This field contains the type of card platform. Possible values: - `BUSINESS` - `CONSUMER` - `CORPORATE` - `COMMERCIAL` - `GOVERNMENT` | [optional]
**combo_card** | **str** | This field indicates the type of combo card. Possible values: - 0 (Not a combo card) - 1 (Credit and Prepaid Combo card) - 2 (Credit and Debit Combo card) | [optional]
-**corporate_purchase** | **bool** | This field indicates whether the card can be used for corporate purchasing. This field is only applicable for American Express cards. Possible values: - `true` - `false` | [optional]
-**health_card** | **bool** | This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs. Possible values: - `true` - `false` | [optional]
+**corporate_purchase** | **bool** | This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards. Possible values: - `true` - `false` | [optional]
+**health_card** | **bool** | This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs. Possible values: - `true` - `false` | [optional]
+**shared_bin** | **bool** | This field indicates if the BIN is shared by multiple issuers Possible values: - `true` - `false` | [optional]
+**pos_domestic_only** | **bool** | This field indicates if the BIN is valid only for POS domestic usage. Possible values: - `true` - `false` | [optional]
+**gambling_allowed** | **bool** | This field indicates if gambling transactions are allowed on the BIN. Possible values: - `true` - `false` | [optional]
+**commercial_card_level2** | **bool** | This field indicates if a transaction on the instrument qualifies for level 2 interchange rates. Possible values: - `true` - `false` | [optional]
+**commercial_card_level3** | **bool** | This field indicates if a transaction on the instrument qualifies for level 3 interchange rates. Possible values: - `true` - `false` | [optional]
+**exempt_bin** | **bool** | This field indicates if a transaction on the instrument qualifies for government exempt interchange fee. Possible values: - `true` - `false` | [optional]
+**account_level_management** | **bool** | This field indicates if the BIN participates in Account Level Management (ALM). Possible values: - `true` - `false` | [optional]
+**online_gambling_block** | **bool** | This field indicates if online gambling is blocked on the BIN. Possible values: - `true` - `false` | [optional]
+**auto_substantiation** | **bool** | This field indicates if auto-substantiation is enabled on the BIN. Possible values: - `true` - `false` | [optional]
+**flex_credential** | **bool** | This field indicates if the instrument is a flex credential. Possible values: - `true` - `false` | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Tmsv2TokenizedCard.md b/docs/Tmsv2TokenizedCard.md
index 157d854c..34ddbd90 100644
--- a/docs/Tmsv2TokenizedCard.md
+++ b/docs/Tmsv2TokenizedCard.md
@@ -13,6 +13,9 @@ Name | Type | Description | Notes
**state** | **str** | State of the network token or network token provision. Possible Values: ACTIVE : Network token is active. SUSPENDED : Network token is suspended. This state can change back to ACTIVE. DELETED : This is a final state for a network token instance. UNPROVISIONED : A previous network token. | [optional]
**reason** | **str** | Issuers state for the network token Possible Values: - INVALID_REQUEST : The network token provision request contained invalid data. - CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified. - CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization. - CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization. - DECLINED : Card can currently not be used with issuer for tokenization. - SERVICE_UNAVAILABLE : The network token service was unavailable or timed out. - SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration. | [optional]
**number** | **str** | The token requestor's network token for the provided PAN and consumer Id, if available. | [optional]
+**expiration_month** | **str** | Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`. | [optional]
+**expiration_year** | **str** | Four-digit year in which the network token expires. Format: `YYYY`. | [optional]
+**type** | **str** | The type of card (Card Network). Possible Values: - visa - mastercard - americanexpress | [optional]
**cryptogram** | **str** | Value generated by the card association to be used alongside the network token for processing a payment. | [optional]
**security_code** | **str** | 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. | [optional]
**eci** | **str** | Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication. | [optional]
diff --git a/docs/Tmsv2TokenizedCardCard.md b/docs/Tmsv2TokenizedCardCard.md
index bc3ac638..58d0875a 100644
--- a/docs/Tmsv2TokenizedCardCard.md
+++ b/docs/Tmsv2TokenizedCardCard.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
**number** | **str** | The customer's payment card number, also known as the Primary Account Number (PAN). | [optional]
**expiration_month** | **str** | Two-digit month in which the payment card expires. Format: `MM`. Possible Values: `01` through `12`. | [optional]
**expiration_year** | **str** | Four-digit year in which the credit card expires. Format: `YYYY`. | [optional]
-**type** | **str** | The type of card(Card network). Possible Values: 001: visa | [optional]
+**type** | **str** | The type of card (Card Network). Possible Values: - 001: visa | [optional]
**suffix** | **str** | The customer's latest payment card number suffix. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/TokenApi.md b/docs/TokenApi.md
index 87f5f99c..d334c50b 100644
--- a/docs/TokenApi.md
+++ b/docs/TokenApi.md
@@ -4,9 +4,62 @@ All URIs are relative to *https://apitest.cybersource.com*
Method | HTTP request | Description
------------- | ------------- | -------------
+[**get_card_art_asset**](TokenApi.md#get_card_art_asset) | **GET** /tms/v2/tokens/{instrumentIdentifierId}/{tokenProvider}/assets/{assetType} | Retrieve Card Art
[**post_token_payment_credentials**](TokenApi.md#post_token_payment_credentials) | **POST** /tms/v2/tokens/{tokenId}/payment-credentials | Generate Payment Credentials for a TMS Token
+# **get_card_art_asset**
+> InlineResponse200 get_card_art_asset(instrument_identifier_id, token_provider, asset_type)
+
+Retrieve Card Art
+
+Retrieves Card Art for a specific Instrument Identifier. The Card Art is a visual representation of the cardholder's payment card. Card Art is only available if a Network Token is successfully provisioned.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.TokenApi()
+instrument_identifier_id = 'instrument_identifier_id_example' # str | The Id of an Instrument Identifier.
+token_provider = 'token_provider_example' # str | The token provider.
+asset_type = 'asset_type_example' # str | The type of asset.
+
+try:
+ # Retrieve Card Art
+ api_response = api_instance.get_card_art_asset(instrument_identifier_id, token_provider, asset_type)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling TokenApi->get_card_art_asset: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **instrument_identifier_id** | **str**| The Id of an Instrument Identifier. |
+ **token_provider** | **str**| The token provider. |
+ **asset_type** | **str**| The type of asset. |
+
+### Return type
+
+[**InlineResponse200**](InlineResponse200.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **post_token_payment_credentials**
> str post_token_payment_credentials(token_id, post_payment_credentials_request, profile_id=profile_id)
diff --git a/docs/TokenizedCardApi.md b/docs/TokenizedCardApi.md
new file mode 100644
index 00000000..42613005
--- /dev/null
+++ b/docs/TokenizedCardApi.md
@@ -0,0 +1,160 @@
+# CyberSource.TokenizedCardApi
+
+All URIs are relative to *https://apitest.cybersource.com*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**delete_tokenized_card**](TokenizedCardApi.md#delete_tokenized_card) | **DELETE** /tms/v2/tokenized-cards/{tokenizedCardId} | Delete a Tokenized Card
+[**get_tokenized_card**](TokenizedCardApi.md#get_tokenized_card) | **GET** /tms/v2/tokenized-cards/{tokenizedCardId} | Retrieve a Tokenized Card
+[**post_tokenized_card**](TokenizedCardApi.md#post_tokenized_card) | **POST** /tms/v2/tokenized-cards | Create a Tokenized Card
+
+
+# **delete_tokenized_card**
+> delete_tokenized_card(tokenized_card_id, profile_id=profile_id)
+
+Delete a Tokenized Card
+
+| | | | | --- | --- | --- | | The Network Token will attempt to be deleted from the card association and if successful the corresponding TMS Network Token will be deleted.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.TokenizedCardApi()
+tokenized_card_id = 'tokenized_card_id_example' # str | The Id of a tokenized card.
+profile_id = 'profile_id_example' # str | The Id of a profile containing user specific TMS configuration. (optional)
+
+try:
+ # Delete a Tokenized Card
+ api_instance.delete_tokenized_card(tokenized_card_id, profile_id=profile_id)
+except ApiException as e:
+ print("Exception when calling TokenizedCardApi->delete_tokenized_card: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **tokenized_card_id** | **str**| The Id of a tokenized card. |
+ **profile_id** | **str**| The Id of a profile containing user specific TMS configuration. | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_tokenized_card**
+> TokenizedcardRequest get_tokenized_card(tokenized_card_id, profile_id=profile_id)
+
+Retrieve a Tokenized Card
+
+| | | | | --- | --- | --- | |**Tokenized Cards**
A Tokenized Card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.TokenizedCardApi()
+tokenized_card_id = 'tokenized_card_id_example' # str | The Id of a tokenized card.
+profile_id = 'profile_id_example' # str | The Id of a profile containing user specific TMS configuration. (optional)
+
+try:
+ # Retrieve a Tokenized Card
+ api_response = api_instance.get_tokenized_card(tokenized_card_id, profile_id=profile_id)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling TokenizedCardApi->get_tokenized_card: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **tokenized_card_id** | **str**| The Id of a tokenized card. |
+ **profile_id** | **str**| The Id of a profile containing user specific TMS configuration. | [optional]
+
+### Return type
+
+[**TokenizedcardRequest**](TokenizedcardRequest.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **post_tokenized_card**
+> TokenizedcardRequest post_tokenized_card(tokenizedcard_request, profile_id=profile_id)
+
+Create a Tokenized Card
+
+| | | | | --- | --- | --- | |**Tokenized cards**
A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
+
+### Example
+```python
+from __future__ import print_function
+import time
+import CyberSource
+from CyberSource.rest import ApiException
+from pprint import pprint
+
+# create an instance of the API class
+api_instance = CyberSource.TokenizedCardApi()
+tokenizedcard_request = CyberSource.TokenizedcardRequest() # TokenizedcardRequest |
+profile_id = 'profile_id_example' # str | The Id of a profile containing user specific TMS configuration. (optional)
+
+try:
+ # Create a Tokenized Card
+ api_response = api_instance.post_tokenized_card(tokenizedcard_request, profile_id=profile_id)
+ pprint(api_response)
+except ApiException as e:
+ print("Exception when calling TokenizedCardApi->post_tokenized_card: %s\n" % e)
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **tokenizedcard_request** | [**TokenizedcardRequest**](TokenizedcardRequest.md)| |
+ **profile_id** | **str**| The Id of a profile containing user specific TMS configuration. | [optional]
+
+### Return type
+
+[**TokenizedcardRequest**](TokenizedcardRequest.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json;charset=utf-8
+ - **Accept**: application/json;charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/TokenizedcardRequest.md b/docs/TokenizedcardRequest.md
new file mode 100644
index 00000000..22ae8724
--- /dev/null
+++ b/docs/TokenizedcardRequest.md
@@ -0,0 +1,32 @@
+# TokenizedcardRequest
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**links** | [**Tmsv2TokenizedCardLinks**](Tmsv2TokenizedCardLinks.md) | | [optional]
+**id** | **str** | The Id of the Tokenized Card. | [optional]
+**object** | **str** | The type. Possible Values: - tokenizedCard | [optional]
+**account_reference_id** | **str** | An identifier provided by the issuer for the account. | [optional]
+**consumer_id** | **str** | Identifier of the consumer within the wallet. Maximum 24 characters for VTS. | [optional]
+**create_instrument_identifier** | **bool** | Specifies whether the InstrumentId should be created (true) or not (false). Possible Values: - `true`: The InstrumentId should be created. - `false`: The InstrumentId should be created. | [optional]
+**source** | **str** | Source of the payment instrument. Possible Values: - ONFILE - TOKEN - ISSUER | [optional]
+**state** | **str** | State of the network token or network token provision. Possible Values: ACTIVE : Network token is active. SUSPENDED : Network token is suspended. This state can change back to ACTIVE. DELETED : This is a final state for a network token instance. UNPROVISIONED : A previous network token. | [optional]
+**reason** | **str** | Issuers state for the network token Possible Values: - INVALID_REQUEST : The network token provision request contained invalid data. - CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified. - CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization. - CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization. - DECLINED : Card can currently not be used with issuer for tokenization. - SERVICE_UNAVAILABLE : The network token service was unavailable or timed out. - SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration. | [optional]
+**number** | **str** | The token requestor's network token for the provided PAN and consumer Id, if available. | [optional]
+**expiration_month** | **str** | Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`. | [optional]
+**expiration_year** | **str** | Four-digit year in which the network token expires. Format: `YYYY`. | [optional]
+**type** | **str** | The type of card (Card Network). Possible Values: - visa - mastercard - americanexpress | [optional]
+**cryptogram** | **str** | Value generated by the card association to be used alongside the network token for processing a payment. | [optional]
+**security_code** | **str** | 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. | [optional]
+**eci** | **str** | Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication. | [optional]
+**requestor_id** | **str** | 11-digit identifier that uniquely identifies the Token Requestor. | [optional]
+**enrollment_id** | **str** | Unique id to identify this PAN/ enrollment. | [optional]
+**token_reference_id** | **str** | Unique ID for netwrok token. | [optional]
+**payment_account_reference** | **str** | Payment account reference. | [optional]
+**card** | [**Tmsv2TokenizedCardCard**](Tmsv2TokenizedCardCard.md) | | [optional]
+**passcode** | [**Tmsv2TokenizedCardPasscode**](Tmsv2TokenizedCardPasscode.md) | | [optional]
+**metadata** | [**Tmsv2TokenizedCardMetadata**](Tmsv2TokenizedCardMetadata.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/TransientTokenDataApi.md b/docs/TransientTokenDataApi.md
index 287f0bc1..547b305d 100644
--- a/docs/TransientTokenDataApi.md
+++ b/docs/TransientTokenDataApi.md
@@ -52,7 +52,7 @@ No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- - **Accept**: application/json
+ - **Accept**: application/jwt
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
diff --git a/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md b/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md
index a28b713a..87134df8 100644
--- a/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md
+++ b/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing Required for creating a new invoice. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
+**total_amount** | **str** | 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. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit 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. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set 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. #### DCC for First Data Not used. | [optional]
**currency** | **str** | Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency. | [optional]
**tax_amount** | **str** | Total tax amount for all the items in the order. | [optional]
**authorized_amount** | **str** | Amount that was authorized. Returned by authorization service. #### PIN debit Amount of the purchase. Returned by PIN debit purchase. | [optional]
diff --git a/docs/UpdateInvoiceRequest.md b/docs/UpdateInvoiceRequest.md
index 9659995d..fdbb4d56 100644
--- a/docs/UpdateInvoiceRequest.md
+++ b/docs/UpdateInvoiceRequest.md
@@ -4,8 +4,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**customer_information** | [**Invoicingv2invoicesCustomerInformation**](Invoicingv2invoicesCustomerInformation.md) | | [optional]
-**invoice_information** | [**Invoicingv2invoicesidInvoiceInformation**](Invoicingv2invoicesidInvoiceInformation.md) | | [optional]
-**order_information** | [**Invoicingv2invoicesOrderInformation**](Invoicingv2invoicesOrderInformation.md) | | [optional]
+**processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional]
+**invoice_information** | [**Invoicingv2invoicesidInvoiceInformation**](Invoicingv2invoicesidInvoiceInformation.md) | |
+**order_information** | [**Invoicingv2invoicesOrderInformation**](Invoicingv2invoicesOrderInformation.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/UpdatePaymentLinkRequest.md b/docs/UpdatePaymentLinkRequest.md
new file mode 100644
index 00000000..c4ef3978
--- /dev/null
+++ b/docs/UpdatePaymentLinkRequest.md
@@ -0,0 +1,14 @@
+# UpdatePaymentLinkRequest
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**status** | **str** | The status of the purchase or donation link. Possible values: - ACTIVE - INACTIVE | [optional]
+**client_reference_information** | [**Invoicingv2invoicesClientReferenceInformation**](Invoicingv2invoicesClientReferenceInformation.md) | | [optional]
+**processing_information** | [**Iplv2paymentlinksidProcessingInformation**](Iplv2paymentlinksidProcessingInformation.md) | | [optional]
+**purchase_information** | [**Iplv2paymentlinksidPurchaseInformation**](Iplv2paymentlinksidPurchaseInformation.md) | | [optional]
+**order_information** | [**Iplv2paymentlinksidOrderInformation**](Iplv2paymentlinksidOrderInformation.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/UpdateStatus.md b/docs/UpdateStatus.md
new file mode 100644
index 00000000..f141e189
--- /dev/null
+++ b/docs/UpdateStatus.md
@@ -0,0 +1,10 @@
+# UpdateStatus
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**status** | **str** | The status the user intends to update the subscription to. The supported values are ACTIVE & INACTIVE. If the subscription status is INACTIVE, webhook notifications will not be sent. Webhooks will resume being sent once the subscription is ACTIVE again. Possible values: - ACTIVE - INACTIVE | [optional] [default to 'INACTIVE']
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/UpdateWebhook.md b/docs/UpdateWebhook.md
new file mode 100644
index 00000000..2a140045
--- /dev/null
+++ b/docs/UpdateWebhook.md
@@ -0,0 +1,17 @@
+# UpdateWebhook
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Client friendly webhook name. | [optional]
+**organization_id** | **str** | Organization Id. | [optional]
+**description** | **str** | Client friendly webhook description. | [optional]
+**products** | [**list[Notificationsubscriptionsv2webhooksProducts]**](Notificationsubscriptionsv2webhooksProducts.md) | | [optional]
+**webhook_url** | **str** | The client's endpoint (URL) to receive webhooks. | [optional]
+**health_check_url** | **str** | The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. | [optional]
+**security_policy** | [**Notificationsubscriptionsv2webhooksSecurityPolicy**](Notificationsubscriptionsv2webhooksSecurityPolicy.md) | | [optional]
+**additional_attributes** | **list[dict(str, str)]** | Additional, free form configuration data. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/Upv1capturecontextsCaptureMandate.md b/docs/Upv1capturecontextsCaptureMandate.md
index 8dd3caac..c1ae6b47 100644
--- a/docs/Upv1capturecontextsCaptureMandate.md
+++ b/docs/Upv1capturecontextsCaptureMandate.md
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
**show_accepted_network_icons** | **bool** | Configure Unified Checkout to display the list of accepted card networks beneath the payment button Possible values: - True - False | [optional]
**request_save_card** | **bool** | Configure Unified Checkout to display the \"Save card for future use\" checkbox.<br> Configurable check box that will show in a Manual card entry flow to allow a Cardholder to give consent to store their manually entered credential with the Merchant that they are paying.<br> Applicable when manually entering the details and not enrolling in Click to Pay. Possible values: - True - False<br><br> **Use Cases:** **Offer consumers option to save their card in Unified Checkout:** - Include the captureMandate.requestSaveCard field in the capture context request and set it to true. - When set to true, this will show a checkbox with the message 'Save card for future use' in Unified Checkout. - When selected this provides a response in both the Transient Token and Get Credentials API response.<br><br> **Do not offer consumers the option to save their card in Unified Checkout:** - Include the captureMandate.requestSaveCard field in the capture context request and set it to false OR omit the field from the capture context request. - When set to false, the save card option is not shown to consumers when manually entering card details. | [optional]
**combo_card** | **bool** | Configure Unified Checkout to display combo card at checkout.<br> A combo debit/credit card is a single card that functions both as a Debit/Credit card. Unified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card. **Important:** This is applicable to Visa cards only. Possible values: - True - False<br><br> **Use Cases:** **Offer Combo Card at Checkout:** - Include the captureMandate.comboCard field in the capture context request and set it to true. - When set to true, Combo Card selection is shown at checkout <br><br> **Do not offer Combo Card at Checkout:** - Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request. - The Combo Card selection is not shown at checkout. | [optional]
+**cpf** | **bool** | Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas FÃsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes. Possible values: - True - False<br><br> This field is optional. If set to true the field is required. If set to false the field is optional. If the field is not included in the capture context then it is not captured.<br><br> **Important:** - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered. - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/Upv1capturecontextsCompleteMandate.md b/docs/Upv1capturecontextsCompleteMandate.md
new file mode 100644
index 00000000..80b8e58a
--- /dev/null
+++ b/docs/Upv1capturecontextsCompleteMandate.md
@@ -0,0 +1,11 @@
+# Upv1capturecontextsCompleteMandate
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**type** | **str** | This field is used to indicate how a payment should be processed. Possible values: - AUTH: Use this value when you want to authorize a payment without capturing it immediately. Payment types that initiate an immediate transfer of funds are not allowed. If a capture context request includes a payment type incompatible with this mode, a 400 error will be returned.<br><br> - CAPTURE: Use this value when you want to capture the payment immediately during the transaction. Note: Some payment types may return a PENDING status, requiring an additional status check call to determine the final outcome of the payment.<br><br> | [optional]
+**decision_manager** | **bool** | Configure Unified Checkout to determine whether Decision Manager is invoked during service orchestration. Possible values: - True - False<br><br> Setting this value to True indicates that device fingerprinting will be executed to add additional information for risk service Setting this value to False indicates that you do not wish to run device fingerprinting and skip decision manager services. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/generator/cybersource-python-template/api.mustache b/generator/cybersource-python-template/api.mustache
index 8a95894e..0154a40b 100644
--- a/generator/cybersource-python-template/api.mustache
+++ b/generator/cybersource-python-template/api.mustache
@@ -14,6 +14,7 @@ from six import iteritems
from ..configuration import Configuration
from ..api_client import ApiClient
import CyberSource.logging.log_factory as LogFactory
+from CyberSource.utilities.MultipartHelpers import MultipartHelpers
from authenticationsdk.util.MLEUtility import MLEUtility
from authenticationsdk.util.GlobalLabelParameters import GlobalLabelParameters
from authenticationsdk.util.Utility import process_body
@@ -180,6 +181,16 @@ class {{classname}}(object):
collection_formats['{{baseName}}'] = '{{collectionFormat}}'{{/isListContainer}}
{{/formParams}}
+ {{#hasProduces}}
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.select_header_accept([{{#produces}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/produces}}])
+
+ {{/hasProduces}}
+ {{#hasConsumes}}
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.select_header_content_type([{{#consumes}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}])
+ {{/hasConsumes}}
+
body_params = None
{{#bodyParam}}
if '{{paramName}}' in params:
@@ -187,29 +198,22 @@ class {{classname}}(object):
sdkTracker = SdkTracker()
body_params = sdkTracker.insert_developer_id_tracker(body_params, '{{paramName}}', self.api_client.mconfig.run_environment, self.api_client.mconfig.defaultDeveloperId)
+ body_params = process_body(body_params)
{{/bodyParam}}
{{^bodyParam}}
if '{{httpMethod}}' in ('POST'):
body_params = '{}'
+
+ file_post_body_and_delimiter = MultipartHelpers.build_post_body_for_files(local_var_files)
+ if file_post_body_and_delimiter is not None:
+ body_params = file_post_body_and_delimiter[0]
+ header_params['Content-Type'] = f"multipart/form-data; boundary={file_post_body_and_delimiter[1]}"
{{/bodyParam}}
- {{#hasProduces}}
-
- if '{{httpMethod}}' == GlobalLabelParameters.POST or '{{httpMethod}}' == GlobalLabelParameters.PUT or '{{httpMethod}}' == GlobalLabelParameters.PATCH:
- body_params = process_body(body_params)
is_mle_supported_by_cybs_for_api = {{#vendorExtensions.x-devcenter-metaData.isMLEsupported}}True{{/vendorExtensions.x-devcenter-metaData.isMLEsupported}}{{^vendorExtensions.x-devcenter-metaData.isMLEsupported}}False{{/vendorExtensions.x-devcenter-metaData.isMLEsupported}}
if MLEUtility.check_is_mle_for_api(self.api_client.mconfig, is_mle_supported_by_cybs_for_api, "{{operationId}},{{operationId}}_with_http_info"):
body_params = MLEUtility.encrypt_request_payload(self.api_client.mconfig, body_params)
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept([{{#produces}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/produces}}])
-
- {{/hasProduces}}
- {{#hasConsumes}}
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type([{{#consumes}}'{{{mediaType}}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}])
-
- {{/hasConsumes}}
# Authentication setting
auth_settings = [{{#authMethods}}'{{name}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}]
diff --git a/generator/cybersource-python-template/api_client.mustache b/generator/cybersource-python-template/api_client.mustache
index f3cd5a90..ce618009 100644
--- a/generator/cybersource-python-template/api_client.mustache
+++ b/generator/cybersource-python-template/api_client.mustache
@@ -263,8 +263,8 @@ class ApiClient(object):
# post parameters
if post_params or files:
- post_params = self.remove_first_underscore(post_params)
- post_params = self.prepare_post_parameters(post_params, files)
+ # post_params = self.remove_first_underscore(post_params)
+ # post_params = self.prepare_post_parameters(post_params, files)
post_params = self.sanitize_for_serialization(post_params)
post_params = self.parameters_to_tuples(post_params,
collection_formats)
diff --git a/generator/cybersource-rest-spec-python.json b/generator/cybersource-rest-spec-python.json
new file mode 100644
index 00000000..dd12a72e
--- /dev/null
+++ b/generator/cybersource-rest-spec-python.json
@@ -0,0 +1,139911 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html",
+ "version": "0.0.1",
+ "title": "CyberSource Merged Spec"
+ },
+ "host": "apitest.cybersource.com",
+ "schemes": [
+ "https"
+ ],
+ "basePath": "/",
+ "consumes": [
+ "application/json;charset=utf-8"
+ ],
+ "produces": [
+ "application/hal+json;charset=utf-8"
+ ],
+ "tags": [
+ {
+ "name": "payments",
+ "description": "A payment authorizes the amount for the transaction. There are a number of supported payment\ninstruments, such as Credit Card, Debit Card, e-Wallet, and Alternative Payments. A payment\nresponse includes the status of the request. It also includes processor-specific information\nwhen the request is successful and errors if unsuccessful.\n"
+ },
+ {
+ "name": "capture",
+ "description": "When you are ready to fulfill a customer's order and transfer funds from the customer's\nbank to your bank, capture the payment for that order.\n"
+ },
+ {
+ "name": "reversal",
+ "description": "An authorization reversal releases the hold that the payment placed on the customer's funds."
+ },
+ {
+ "name": "refund",
+ "description": "A refund is a follow-on transaction that uses the ID returned from either a payment or capture request.\n"
+ },
+ {
+ "name": "credit",
+ "description": "A credit is a stand-alone transaction that is not linked to any previous transactions. It takes money from\nyour merchant bank account and returns it to the customer.\n"
+ },
+ {
+ "name": "void",
+ "description": "A void cancels a payment or capture. A transaction can be voided only when CyberSource has not already\nsubmitted the capture to your processor. You cannot undo a void.\n"
+ },
+ {
+ "name": "options",
+ "description": "An option is a service that is used to retrieve meta data, rendering details and different payment options available from Cybersource.\nIt can be used in many ways and Merchants must consult their Technical Partner in Cybersource for further details.\n"
+ },
+ {
+ "name": "TransactionBatches",
+ "description": "Get a list of batch files or details of Individual file processed through the Offline Transaction Submission Services.\n"
+ },
+ {
+ "name": "AccountValidations",
+ "description": "A eCheck account validation enable you to determine, in real time, whether to\nproceed with an electronic check debit or the creation of a recurring electronic check\nsubscription.\n"
+ },
+ {
+ "name": "billingAgreements",
+ "description": "A billingAgreement is a stand-alone transaction that is not linked to any previous transactions. It takes money from\nyour merchant bank account and returns it to the customer.\n"
+ },
+ {
+ "name": "orders",
+ "description": "An order is a service that is used for initiating a transaction with itemized details, shipping, billing and buyer information. \n"
+ },
+ {
+ "name": "Customer",
+ "description": "A Customer can be linked to multiple Payment Instruments and Shipping Addresses.\nWith one Payment Instrument and Shipping Address designated as the default.\nIt stores merchant reference information for the Customer such as email and merchant defined data.\n"
+ },
+ {
+ "name": "Customer Shipping Address",
+ "description": "A Customer Shipping Address is linked to a Customer.\nIt stores shipping information in relation to the Customer.\n"
+ },
+ {
+ "name": "Customer Payment Instrument",
+ "description": "A Customer Payment Instrument is linked to a Customer and an Instrument Identifier.\nIt stores additional information in relation to a card number(PAN) or bank account (echeck).\n"
+ },
+ {
+ "name": "Payment Instrument",
+ "description": "A stand-alone Payment Instrument is linked to an Instrument Identifier.\nIt stores additional information in relation to a card number(PAN) or bank account (echeck).\n"
+ },
+ {
+ "name": "Instrument Identifier",
+ "description": "An Instrument Identifier represents a unique card number(PAN) or bank account (echeck).\nIt can also be associated with a Network Token that can be used for payment transactions.\n"
+ },
+ {
+ "name": "Token",
+ "description": "Token resources can act on different token types such as Customers, Payment Instruments or Instrument Identifiers.\n"
+ },
+ {
+ "name": "Tap",
+ "description": "A Tap represents a payment tap.\nIt stores track and EMV tag data for a defined period of time before being deleted.\n"
+ },
+ {
+ "name": "Microform Integration"
+ },
+ {
+ "name": "Flex API",
+ "description": "The Flex API enables merchants to securely accept customer payment information captured within a server-side application using a set of APIs.\nThese APIs protect your customer's primary account number (PAN), card verification number (CVN), and other payment information by embedding it within a transient token.\nThis allows payment data to be stored and transported and complies with the Payment Card Industry Data Security Standard (PCI DSS) policies and procedures. These transient tokens can be validated by the receiver to ensure the data integrity and protect against data injection attacks.\n\n**Warning:** Flex API is intended for server-side applications only. Do not use the Flex API in client-side applications. To add secure payments directly into client-side code, use Unified Checkout.\n\n**How It Works**
\nFollow these steps to capture payments using the Flex API:\n* Establish a payment session with a predefined customer context.\n* Validate the JSON Web Token.\n* Populate the JSON Web Token with customer information.\n\n**Customer Context**
\nAn important benefit of the Flex API is managing Personal Identifiable Information (PII). You can set up your customer context to include all PII associated with transactions, protecting this information from third parties.\n"
+ },
+ {
+ "name": "Decision Manager",
+ "description": "REST API for the Decision Manager Service"
+ },
+ {
+ "name": "Risk Services",
+ "description": "REST APIs for Risk Services"
+ },
+ {
+ "name": "Pull Funds",
+ "description": "Cybersource Payouts Funds Transfer REST API for Account Funding Transaction (AFT)\n"
+ },
+ {
+ "name": "Push Funds",
+ "description": "A payout enables an originator to send funds on behalf of itself, merchants, or customers to credit card\naccounts using an Original Credit Transaction (OCT). An originator is a merchant, government entity, or\ncorporation with a merchant account from an acquiring bank.\n"
+ },
+ {
+ "name": "Payouts",
+ "description": "A payout enables an originator to send funds on behalf of itself, merchants, or customers to credit card\naccounts using an Original Credit Transaction (OCT). An originator is a merchant, government entity, or\ncorporation with a merchant account from an acquiring bank.\n"
+ },
+ {
+ "name": "installments",
+ "description": "Provides Visa Installment & Issuer Installment Solution for CyberSource Merchant.\nThis API can be used for sending an installment inquiry transaction to either Visa (for Visa Installments)\nor to the cardholder's issuing bank (for issuer funded installments). The response for this API call\nwill contain list of installment plans that the card holder might be eligible for. This service is applicable\nfor Credit Cards only.\n"
+ },
+ {
+ "name": "Plans",
+ "description": "Create and manage Plans for subscriptions.\n"
+ },
+ {
+ "name": "Subscriptions",
+ "description": "Create and manage Recurring Subscriptions.\n\nYou have option to link subscription to plan or create independent subscriptions.\n"
+ },
+ {
+ "name": "Subscriptions Follow-Ons",
+ "description": "Create a Follow-On Subscription from an already existing successful Transaction.\n\nYou have option to link subscription to plan or create independent subscriptions.\n"
+ },
+ {
+ "name": "Reports",
+ "description": "API for creation and retrieval of Reports"
+ },
+ {
+ "name": "Report Definitions",
+ "description": "Get report definition information"
+ },
+ {
+ "name": "Report Downloads",
+ "description": "API for creation and retrieval of Reports"
+ },
+ {
+ "name": "Report Subscriptions",
+ "description": "API for creation and retrieval of Report Subscriptions"
+ },
+ {
+ "name": "Net Fundings",
+ "description": "API for retrieving the netfunding data for an account or a merchant"
+ },
+ {
+ "name": "Notification Of Changes",
+ "description": "API for Notification Of Change"
+ },
+ {
+ "name": "Purchase And Refund Details",
+ "description": "API for Purchase and Refund Details"
+ },
+ {
+ "name": "Payment Batch Summaries",
+ "description": "API for payment batch summary reports"
+ },
+ {
+ "name": "Conversion Details",
+ "description": "API for retrieving conversion data for merchant"
+ },
+ {
+ "name": "Download DTD",
+ "description": "API to download report DTDs"
+ },
+ {
+ "name": "Download XSD",
+ "description": "API to download report XSDs"
+ },
+ {
+ "name": "Chargeback Summaries",
+ "description": "API for requesting Chargeback Summaries."
+ },
+ {
+ "name": "Chargeback Details",
+ "description": "API for requesting Chargeback Details."
+ },
+ {
+ "name": "Retrieval Summaries",
+ "description": "API for requesting Retrieval Summaries"
+ },
+ {
+ "name": "Retrieval Details",
+ "description": "API for requesting Retrieval Details."
+ },
+ {
+ "name": "Interchange Clearing Level Details",
+ "description": "API for requesting Interchange Clearing Level data for an account or a merchant."
+ },
+ {
+ "name": "File Details",
+ "description": "API to access file information"
+ },
+ {
+ "name": "File Downloads",
+ "description": "API to download a file"
+ },
+ {
+ "name": "Invoices",
+ "description": "Offer your customers a simple, convenient, and fast way to pay with the new online invoicing tool.\n"
+ },
+ {
+ "name": "Invoice Settings",
+ "description": "Update the settings for the invoice payment page.\n"
+ },
+ {
+ "name": "Payment Links",
+ "description": "Offer your customers a simple, convenient, and fast way to pay with the new online pay by link tool.\n"
+ },
+ {
+ "name": "management",
+ "description": "management rest resources"
+ },
+ {
+ "name": "account number",
+ "description": "account number lookup"
+ },
+ {
+ "name": "taxes",
+ "description": "tax calculation service"
+ },
+ {
+ "name": "surcharge",
+ "description": "Surcharge service"
+ },
+ {
+ "name": "Merchant Boarding",
+ "description": "Manage Boarding Registrations"
+ },
+ {
+ "name": "Create New Webhooks",
+ "description": "Create a new webhook connection\n"
+ },
+ {
+ "name": "Manage Webhooks",
+ "description": "- Manage your webhooks. This will allow for you to update existing webhooks, test webhooks, or delete them.\n"
+ },
+ {
+ "name": "Create and Update devices",
+ "description": "Create and update terminal devices."
+ },
+ {
+ "name": "Device Search",
+ "description": "Search and Retrieve Devices."
+ },
+ {
+ "name": "Device De-Association",
+ "description": "Remove Association of a Device."
+ },
+ {
+ "name": "Unified Checkout Capture Context",
+ "externalDocs": {
+ "description": "Find out more",
+ "url": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html"
+ }
+ },
+ {
+ "name": "Transient Token Data",
+ "externalDocs": {
+ "url": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html",
+ "description": "Find out more"
+ }
+ },
+ {
+ "name": "Batches",
+ "description": "Once a batch is created its status can be checked using the status resource.\nWhen the batch status is COMPLETED its report can then be retrieved.\n"
+ }
+ ],
+ "x-devcenter-metaData": {
+ "categoryTagArray": [
+ {
+ "name": "Payments",
+ "description": "For more information about Payments transactions, see the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html)."
+ },
+ {
+ "name": "Transaction_Batches",
+ "description": "For more information about Transaction Batches, see the [Transaction Batches Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html)."
+ },
+ {
+ "name": "eCheck_AVS",
+ "description": "For more information about eCheck Account Validation, see the [Account Validation Developer Guides Page](https://...)."
+ },
+ {
+ "name": "Token_Management",
+ "description": "For more information about the Token Management Service (TMS) see the [Token Management Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms-developer/intro.html)"
+ },
+ {
+ "name": "Flex_Microform",
+ "description": "Microform Integration is a lightweight acceptance solution designed to safely and securely accept payment information within your web page. Microform is designed to a be embedded seamlessly within your existing webpage experience, blending in with your existing acceptance form. This solution allows for the replacement of sensitive payment date with a transient token (a short lived reference to the sensitive payment data). For more information about Flex Microform transactions, see the [Flex Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-flex/SAFlexibleToken.html). For examples on how to integrate Flex Microform within your webpage please see our [GitHub Flex Samples](https://github.com/CyberSource?q=flex&type=&language=)"
+ },
+ {
+ "name": "Flex_API",
+ "description": "For more information about Flex API, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/da-flex-api-intro.html)."
+ },
+ {
+ "name": "Risk_Management"
+ },
+ {
+ "name": "Payouts",
+ "description": "For more information about Payouts, see the [Payouts Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-payouts/Introduction.html).\n"
+ },
+ {
+ "name": "Installments",
+ "description": "For more information about Installment contact Cybersource Support. For Visa installments contact VISthroughCYBS@visa.com"
+ },
+ {
+ "name": "Recurring_Billing_Subscriptions",
+ "description": "For more information about Recurring Billing, see the [Recurring Billing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-developer/recur-bill-services-intro.html)."
+ },
+ {
+ "name": "BIN_Lookup",
+ "description": "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"
+ },
+ {
+ "name": "Transaction_Details",
+ "description": "For more information about Transaction Details, see the [Transaction Details Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_details_api.html)."
+ },
+ {
+ "name": "Transaction_Search",
+ "description": "For more information about Transaction Search, see the [Transaction Search Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_search_api.html)."
+ },
+ {
+ "name": "Reporting",
+ "description": "For more information about Reporting, see the [Reporting Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-reporting-rest-api-dev-guide-102718/reporting_api.html).\n"
+ },
+ {
+ "name": "Secure_File_Share",
+ "description": "For more information about Secure File Share, see the [Secure File Share Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html)."
+ },
+ {
+ "name": "Invoices",
+ "description": "For more information about Invoicing, see the [Invoicing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html)."
+ },
+ {
+ "name": "Pay_By_Link",
+ "description": "For more information about PayByLink, see the [PBL Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/boarding/user/all/rest/boarding/templates-matrix-intro/templates-matrix-pay-by-link.html)."
+ },
+ {
+ "name": "User_Management",
+ "description": "For more information about User Management, see the [User Managment Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-user-management-api-102718/user_management_api_intro.html)."
+ },
+ {
+ "name": "Value_Added_Service"
+ },
+ {
+ "name": "Fee Service"
+ },
+ {
+ "name": "Merchant_Boarding",
+ "description": "For more information about Merchant Boarding, please see [Developer Guides Page](https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html)."
+ },
+ {
+ "name": "Webhooks",
+ "description": "For more information about Webhooks, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html)."
+ },
+ {
+ "name": "Unified_Checkout",
+ "description": "For more information about Unified Checkout, see the [Unified Checkout Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html)."
+ },
+ {
+ "name": "Account_Updater",
+ "description": "For more information about Account Updater, see the [Account Updater Developer Guides Page:](https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html)."
+ },
+ {
+ "name": "Visa_Bank_Account_Validation",
+ "description": "The Visa Bank Account Validation Service is a new standalone product designed to validate bank account details for eCheck transactions. It ensures that all eCheck transactions comply with Nacha guidelines by validating the routing and account numbers.\nThere will be 2 modes of validation:\n1. Basic Mode: Validate account number format and routing number\n2. Advance mode : Validate account and routing number combination. If the Advanced mode is Unavailable or cannot validate the account, the default behavior will be to fallback to the Basic Mode.\n"
+ }
+ ]
+ },
+ "paths": {
+ "/pts/v2/payments": {
+ "post": {
+ "summary": "Process a Payment",
+ "description": "A payment authorizes the amount for the transaction. There are a number of supported payment features, such as E-commerce and Card Present - Credit Card/Debit Card, Echeck, e-Wallets, Level II/III Data, etc..\n\nA payment response includes the status of the request. It also includes processor-specific information when the request is successful and errors if unsuccessful. See the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html).\n\nAuthorization can be requested with Capture, Decision Manager, Payer Authentication(3ds), and Token Creation.\n",
+ "tags": [
+ "payments"
+ ],
+ "operationId": "createPayment",
+ "produces": [
+ "application/hal+json;charset=utf-8"
+ ],
+ "consumes": [
+ "application/json;charset=utf-8"
+ ],
+ "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": "createPaymentRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n"
+ },
+ "reconciliationId": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n"
+ },
+ "pausedRequestId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n"
+ },
+ "transactionId": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n"
+ },
+ "comments": {
+ "type": "string",
+ "description": "Brief description of the order or any comment you wish to add to the order."
+ },
+ "partner": {
+ "type": "object",
+ "properties": {
+ "originalTransactionId": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n"
+ },
+ "developerId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n"
+ },
+ "solutionId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n"
+ },
+ "thirdPartyCertificationNumber": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n"
+ }
+ }
+ },
+ "applicationName": {
+ "type": "string",
+ "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n"
+ },
+ "applicationVersion": {
+ "type": "string",
+ "description": "Version of the CyberSource application or integration used for a transaction.\n"
+ },
+ "applicationUser": {
+ "type": "string",
+ "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "actionList": {
+ "type": "array",
+ "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment.\n\nPossible values are one or more of follows:\n\n - `DECISION_SKIP`: Use this when you want to skip Decision Manager service(s).\n\n - `TOKEN_CREATE`: Use this when you want to create a token from the card/bank data in your payment request.\n\n - `CONSUMER_AUTHENTICATION`: Use this when you want to check if a card is enrolled in Payer Authentication along with your payment request.\n\n - `VALIDATE_CONSUMER_AUTHENTICATION`: Use this after you acquire a Payer Authentication result that needs to be included for your payment request.\n \n - `AP_INITIATE`: Use this when Alternative Payment Initiate service is requested.\n\n - `WATCHLIST_SCREENING` : Use this when you want to call Watchlist Screening service.\n\n - `AP_SALE` : Use this when Alternative Payment Sale service is requested.\n\n\n - `AP_AUTH` : Use this when Alternative Payment Authorize service is requested.\n\n - `AP_REAUTH` : Use this when Alternative Payment Reauthorize service is requested.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "enableEscrowOption": {
+ "type": "boolean",
+ "description": "Indicates whether to use the customer's escrow agreement.\nPossible values:\n- `true`: yes, use the customer's escrow agreement.\n- `false`: no, do not use the customer's escrow agreement. \n"
+ },
+ "actionTokenTypes": {
+ "type": "array",
+ "description": "CyberSource tokens types you are performing a create on.\nIf not supplied the default token type for the merchants token vault will be used.\n\nValid values:\n- customer\n- paymentInstrument\n- instrumentIdentifier\n- shippingAddress\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "binSource": {
+ "type": "string",
+ "description": "Bin Source File Identifier.\nPossible values:\n- itmx\n- rupay\n"
+ },
+ "capture": {
+ "type": "boolean",
+ "description": "Indicates whether to also include a capture in the submitted authorization request or not.\n\nPossible values:\n- `true`: Include a capture with an authorization request.\n- `false`: (default) Do not include a capture with an authorization request.\n\n#### Used by\n**Authorization and Capture**\nOptional field.\n",
+ "default": false
+ },
+ "processorId": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Value that identifies the processor/acquirer to use for the transaction. This value is supported only for\n**CyberSource through VisaNet**.\n\nContact CyberSource Customer Support to get the value for this field.\n"
+ },
+ "businessApplicationId": {
+ "type": "string",
+ "description": "Required for AFT and OCT transactions.\n\nGiven below is a list of all the BAI values available. However, the processors may support only few specific BAI values.\n\n- AA : Account-to-account \n- BB : Supplier Payments\n- BI : Bank-Initiated P2P Money Transfer\n- BP : Non-Card Bill Pay/Bill Pay\n- CD : Cash Deposit\n- CP : Credit card Bill Payment\n- FD : Funds disbursement \n- FT : Funds transfer\n- GD : Government Disbursement\n- GP : Gambling payout (non-online gambling)\n- LO : Loyalty credits and rebates\n- MD : Merchant Settlement\n- OG : Online Gambling Payout\n- PD : Payroll and pension disbursement\n- PP : Person-to-Person or Peer-to-Peer\n- TU : Top up, prepaid load\n- WT : Digital wallet \n"
+ },
+ "commerceIndicator": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n"
+ },
+ "commerceIndicatorLabel": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as `moto`\n"
+ },
+ "paymentSolution": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n"
+ },
+ "reconciliationId": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n"
+ },
+ "linkId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n"
+ },
+ "purchaseLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Set this field to 3 to indicate that the request includes Level III data."
+ },
+ "transactionTimeout": {
+ "type": "integer",
+ "maximum": 99999,
+ "description": "The time-out limit in seconds for the transaction. The time-out limit starts when the customer is directed to the merchant URL that is included in the sale service response. The maximum value is 99999 (about 27 hours). When the transaction times out, the payment system changes the status to abandoned."
+ },
+ "intentsId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Set to the value of the requestID field returned in the order service response."
+ },
+ "reportGroup": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n"
+ },
+ "visaCheckoutId": {
+ "type": "string",
+ "maxLength": 48,
+ "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n"
+ },
+ "industryDataType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n"
+ },
+ "authorizationOptions": {
+ "type": "object",
+ "properties": {
+ "authType": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture.\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization.\n\n#### for PayPal ptsV2CreateOrderPost400Response\nSet this field to 'AUTHORIZE' or 'CAPTURE' depending on whether you want to invoke delayed capture or sale respectively.\n"
+ },
+ "panReturnIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "#### Visa Platform Connect\nThe field contains the PAN translation indicator for American Express Contactless Transaction. Valid value is\u00a0\n\n1- Expresspay Translation, PAN request\n2- Expresspay Translation, PAN and Expiry date request\n"
+ },
+ "verbalAuthCode": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Authorization code.\n\n#### Forced Capture\nUse this field to send the authorization code you received from a payment that you authorized\noutside the CyberSource system.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit purchase.\n\n#### Verbal Authorization\nUse this field in CAPTURE API to send the verbally received authorization code.\n"
+ },
+ "verbalAuthTransactionId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Transaction ID (TID).\n\n#### FDMS South\nThis field is required for verbal authorizations and forced captures with the American Express card type to comply\nwith the CAPN requirements:\n- Forced capture: Obtain the value for this field from the authorization response.\n- Verbal authorization: You cannot obtain a value for this field so CyberSource uses the default value of `000000000000000` (15\nzeros).\n"
+ },
+ "authIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - **0**: Preauthorization\n - **1**: Final authorization\n\nTo set the default for this field, contact CyberSource Customer Support.\n\n#### Barclays and Elavon\nThe default for Barclays and Elavon is 1 (final authorization). To change the default for this field, contact CyberSource Customer Support.\n\n#### CyberSource through VisaNet\nWhen the value for this field is 0, it corresponds to the following data in the TC 33 capture file:\n - Record: CP01 TCR0\n - Position: 164\n - Field: Additional Authorization Indicators\nWhen the value for this field is 1, it does not correspond to any data in the TC 33 capture file.\n"
+ },
+ "partialAuthIndicator": {
+ "type": "boolean",
+ "description": "Flag that indicates whether the transaction is enabled for partial authorization. When the request includes this\nfield, this value overrides the information in your account. Possible values:\n- `true`: Enable the transaction for partial authorization.\n- `false`: Do not enable the transaction for partial authorization.\n\n#### PIN debit\nRequired field for partial authorizations that use PIN debit purchase; otherwise, not used.\n\n#### Used by\n**Authorization**\nOptional field.\n\n#### CyberSource through VisaNet\nTo set the default for this field, contact CyberSource Customer Support.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 164\n- Field: Additional Authorization Indicators\n"
+ },
+ "extendAuthIndicator": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Indicates Authorization extension transaction. Extension transaction is used to prolong the settlement period by one additional settlement cycle period.\n\nPossible values:\n- true: Transaction is an Authorization Extension transaction. \n- false: Transaction is not an Authorization Extension transaction.\n"
+ },
+ "balanceInquiry": {
+ "type": "boolean",
+ "description": "Flag that indicates whether to return balance information.\n\nPossible values:\n- `true`: Return balance information.\n- `false`: Do not return balance information.\n\n#### Used by\n**Authorization**\nRequired for a balance inquiry; otherwise, not used.\n\n#### PIN debit\nRequired for a balance inquiry request of a PIN debit purchase; otherwise, not used.\n"
+ },
+ "ignoreAvsResult": {
+ "type": "boolean",
+ "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization\nreceives an AVS decline, as indicated by a reply flag value of DAVSNO.\n\nPossible values:\n- `true`: Ignore the results of AVS checking and run the capture service.\n- `false` (default): If the authorization receives an AVS decline, do not run the capture service.\nWhen the value of this field is `true`, the list in the `processingInformation.authorizationOptions.declineAvsFlags` field is ignored.\n\n#### Used by\n**Authorization**\nOptional field.\nString (3)\n",
+ "default": false
+ },
+ "declineAvsFlags": {
+ "type": "array",
+ "description": "Comma-separated list of AVS flags that cause the reply flag `DAVSNO` to be returned.\n\n**Important** To receive declines for the AVS code `N`, you must include the value `N` in the comma-separated\nlist.\n\n ### AVS Codes for Cielo 3.0 and CyberSource Latin American Processing\n\n **Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports.\n In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America.\n The information in this section is for the specific processing connection called CyberSource Latin American Processing.\n It is not for any other Latin American processors that CyberSource supports.\n\n|AVS Code|Description|\n|--- |--- |\n|D|Partial match: postal code and address match.|\n|E|Not supported: AVS is not supported for this card type. _or_ Invalid: the acquirer returned an unrecognized value for the AVS response.|\n|F|Partial match: postal code matches, but CPF and address do not match.*|\n|G|Not supported: AVS not supported or not verified.|\n|I|No match: AVS information is not available.|\n|K|Partial match: CPF matches, but postal code and address do not match.*|\n|L|Partial match: postal code and CPF match, but address does not match.*|\n|N|No match: postal code, CPF, and address do not match.*|\n|O|Partial match: CPF and address match, but postal code does not match.*|\n|R|Not supported: your implementation does not support AVS _or_ System unavailable.|\n|T|Partial match: address matches, but postal code and CPF do not match.*|\n|V|Match: postal code, CPF, and address match.*|\n|* CPF (Cadastro de Pessoas Fisicas) is required only for Redecard in Brazil.||\n\n### AVS Codes for All Other Processors\n\n**Note** The list of AVS codes for all other processors follows these descriptions of the processor-specific information for these codes.\n\n#### American Express Cards\nFor American Express cards only, you can receive Visa and CyberSource\nAVS codes in addition to the American Express AVS codes.\n\n**Note** For CyberSource through VisaNet, the American Express AVS codes are converted to Visa\nAVS codes before they are returned to you. As a result, you will not receive American Express AVS codes for\nthe American Express card type.
\n\n_American Express Card codes_: `F`, `H`, `K`, `L`, `O`, `T`, `V`\n\n#### Domestic and International Visa Cards\nThe international and domestic alphabetic AVS codes are the Visa standard AVS codes. CyberSource maps\nthe standard AVS return codes for other types of payment cards, including American Express cards, to\nthe Visa standard AVS codes.\n\nAVS is considered either domestic or international, depending on the location of the bank that issued the\ncustomer's payment card:\n- When the bank is in the U.S., the AVS is domestic.\n- When the bank is outside the U.S., the AVS is international.\n\nYou should be prepared to handle both domestic and international AVS result codes:\n- For international cards, you can receive domestic AVS codes in addition to the international AVS codes.\n- For domestic cards, you can receive international AVS codes in addition to the domestic AVS codes.\n\n_International Visa Codes_: `B`, `C`, `D`, `G`, `I`, `M`, `P`\n\n_Domestic Visa Codes_: `A`, `E`,`N`, `R`, `S`, `U`, `W`, `X`, `Y`, `Z`\n\n#### CyberSource Codes\nThe numeric AVS codes are created by CyberSource\nand are not standard Visa codes. These AVS codes\ncan be returned for any card type.\n\n_CyberSource Codes_: `1`, `2`, `3`, `4`\n\n### Table of AVS Codes for All Other Processors\n\n|AVS Code|Description|\n|--- |--- |\n|A|Partial match: street address matches, but 5-digit and 9-digit postal codes do not match.|\n|B|Partial match: street address matches, but postal code is not verified. Returned only for Visa cards not issued in the U.S.|\n|C|No match: street address and postal code do not match. Returned only for Visa cards not issued in the U.S.|\n|D & M|Match: street address and postal code match. Returned only for Visa cards not issued in the U.S.|\n|E|Invalid: AVS data is invalid or AVS is not allowed for this card type.|\n|F|Partial match: card member's name does not match, but billing postal code matches.|\n|G|Not supported: issuing bank outside the U.S. does not support AVS.|\n|H|Partial match: card member's name does not match, but street address and postal code match. Returned only for the American Express card type.|\n|I|No match: address not verified. Returned only for Visa cards not issued in the U.S.|\n|K|Partial match: card member's name matches, but billing address and billing postal code do not match. Returned only for the American Express card type.|\n|L|Partial match: card member's name and billing postal code match, but billing address does not match. Returned only for the American Express card type.|\n|M|See the entry for D & M.|\n|N|No match: one of the following: street address and postal code do not match _or_ (American Express card type only) card member's name, street address, and postal code do not match.|\n|O|Partial match: card member's name and billing address match, but billing postal code does not match. Returned only for the American Express card type.|\n|P|Partial match: postal code matches, but street address not verified. Returned only for Visa cards not issued in the U.S.|\n|R|System unavailable.|\n|S|Not supported: issuing bank in the U.S. does not support AVS.|\n|T|Partial match: card member's name does not match, but street address matches. Returned only for the American Express card type.|\n|U|System unavailable: address information unavailable for one of these reasons: The U.S. bank does not support AVS outside the U.S. _or_ The AVS in a U.S. bank is not functioning properly.|\n|V|Match: card member's name, billing address, and billing postal code match. Returned only for the American Express card type.|\n|W|Partial match: street address does not match, but 9-digit postal code matches.|\n|X|Match: street address and 9-digit postal code match.|\n|Y|Match: street address and 5-digit postal code match.|\n|Z|Partial match: street address does not match, but 5-digit postal code matches.|\n|1|Not supported: one of the following: AVS is not supported for this processor or card type _or_ AVS is disabled for your CyberSource account. To enable AVS, contact CyberSource Customer Support.|\n|2|Unrecognized: the processor returned an unrecognized value for the AVS response.|\n|3|Match: address is confirmed. Returned only for PayPal Express Checkout.|\n|4|No match: address is not confirmed. Returned only for PayPal Express Checkout.|\n|5|No match: no AVS code was returned by the processor.|\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ignoreCvResult": {
+ "type": "boolean",
+ "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization receives a CVN decline, as indicated by an `processorInformation.cardVerification.resultCode` value of `D` or `N`.\nPossible values:\n- `true`: Ignore the results of CVN checking and run the capture service.\n- `false` (default): If the authorization receives a CVN decline, do not run the capture service.\n\n#### Used by\n**Authorization**\nOptional field.\n",
+ "default": false
+ },
+ "initiator": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n"
+ },
+ "credentialStoredOnFile": {
+ "type": "boolean",
+ "description": "Indicates to the issuing bank two things:\n- The merchant has received consent from the cardholder to store their card details on file\n- The merchant wants the issuing bank to check out the card details before the merchant initiates their first transaction for this cardholder.\nThe purpose of the merchant-initiated transaction is to ensure that the cardholder's credentials are valid (that the card is not stolen or has restrictions) and that the card details are good to be stored on the merchant's file for future transactions.\n\nValid values:\n- `true` means merchant will use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n- `false` means merchant will not use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n\n**NOTE:** The value for this field does not correspond to any data in the TC 33 capture file5.\n\nThis field is supported only for Visa transactions on CyberSource through VisaNet.\n"
+ },
+ "storedCredentialUsed": {
+ "type": "boolean",
+ "description": "Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- **true** means the merchant-initiated transaction came from a card that was already stored on file.\n- **false** means the merchant-initiated transaction came from a card that was not stored on file.\n"
+ },
+ "merchantInitiatedTransaction": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Reason for the merchant-initiated transaction or incremental authorization. Possible values:\n- `1`: Resubmission\n- `2`: Delayed charge\n- `3`: Reauthorization for split shipment\n- `4`: No show\n- `5`: Account top up\nThis field is required only for the five kinds of transactions in the preceding list.\nThis field is supported only for merchant-initiated transactions and incremental authorizations.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 160-163\n- Field: Message Reason Code\n"
+ },
+ "previousTransactionId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n\nIf the current payment request includes a token instead of an account number, the following time limits apply for the value of this field:\n- For a **resubmission**, the transaction ID must be less than 14 days old.\n- For a **delayed charge** or **reauthorization**, the transaction ID must be less than 30 days old.\n\n**NOTE**: The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported\nonly for Visa transactions on CyberSource through VisaNet.\n"
+ },
+ "originalAuthorizedAmount": {
+ "type": "string",
+ "maxLength": 61,
+ "description": "Amount of the original authorization.\n\nThis field is supported only for Apple Pay, Google Pay, and Samsung Pay transactions with Discover on FDC Nashville Global and Chase Paymentech.\n"
+ },
+ "agreementId": {
+ "type": "string",
+ "maxLength": 140,
+ "description": "An API to carry the agreement ID generated for recurring and unscheduled Card on file transaction. the merchant generates this per card holder or per payment agreement and shares the generated unique ID in the subsequent transactions. This can contain foreign/arabic character set also. Cybersource forwards this value to the Saudi Payment processor.\n"
+ }
+ }
+ }
+ }
+ },
+ "billPayment": {
+ "type": "boolean",
+ "description": "Indicates payment for bill or payment towards existing contractual loan.\n\nPossible values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n\nOptional request field.\n"
+ },
+ "billPaymentType": {
+ "type": "string",
+ "description": "Reason for the payment.\n\nPossible values:\n- 001: Public utilities / Utility payment\n- 002: Government services\n- 003: Cellular / Mobile phone top-up\n- 004: Coupon payment\n- 005: Installment based repayment\n- 006: Billing payment\n- 007: Tax payment\n- 008: Tax payment refunds\n\nThe value for this field corresponds to the following data in the TC 33A capture file (applicable to Brazil):\n- Record: CP07 TCR0\n- Position: 48-50\n- Field: Bill Payment Transaction Type Identifier\n\nThe value for this field corresponds to the following data in the TC 33A capture file (applicable to Installment)\nbased Repayment):\n- Record: CP01 TCR6\n- Position: 154-156\n- Field: Bill Payment Transaction Type Identifier\n\n\nThis field is supported for\n1. Bill payments in Brazil with Mastercard on CyberSource through VisaNet.\n2. Installment based repayment transactions on Cybersource through VisaNet.\n"
+ },
+ "redemptionInquiry": {
+ "type": "boolean",
+ "description": "Flag that indicates the payment request is a redemption inquiry.\n\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "transportationMode": {
+ "type": "string",
+ "description": "Type of transportation mode :\n\nPossible Values:\n- 00 = Unknown\n- 01 = Urban bus\n- 02 = Interurban bus\n- 03=Lighttrainmasstransit(Underground Metro LTR)\n- 04 = Train\n- 05 = Commuter train\n- 06 = Water-borne vehicle\n- 07 = Toll\n- 08 = Parking\n- 09 = Taxi\n- 10 = High-speed train\n- 11 = Rural bus\n- 12 = Express commuter train\n- 13 = Para transit\n- 14 = Self drive vehicle\n- 15 = Coach\n- 16 = Locomotive\n- 17 = Powered motor coach\n- 18 = Trailer\n- 19 = Regional train\n- 20 = Inter-city\n- 21 = Funicular train\n- 22 = Cable car\n"
+ },
+ "aggregatedAuthIndicator": {
+ "type": "string",
+ "description": "Indicates if transaction is an aggregated auth\n\nPossible values:\n- **true**\n- **false**\n"
+ },
+ "debtRecoveryIndicator": {
+ "type": "string",
+ "description": "Indicates if transaction is a debt recovery request\n\nPossible values:\n- **true**\n- **false**\n"
+ },
+ "deferredAuthIndicator": {
+ "type": "boolean",
+ "description": "Flag that indicates whether the authorization request was delayed because connectivity was interrupted.\n\nPossible values:\n - `true` (Deferred authorization)\n - `false` (default: Not a deferred authorization)\n"
+ },
+ "cashAdvanceIndicator": {
+ "type": "boolean",
+ "description": "This API field enables the merchant to indicate that a given transaction is Cash Advance.\n\nCash advance or Cash disbursement functionality allows a merchant to dispense cash at a point of sale.\nIt provides the ability of a POS system to act like an ATM. These terminals are typically seen in bank\nbranches where customers can use their card and withdraw cash or at merchant locations where ATMs are sparse.\n\nPossible values:\n - `true` (Cash advance is supported)\n - `false` (default: cash advance is not supported)\n"
+ },
+ "splitPaymentTransaction": {
+ "type": "boolean",
+ "description": "#### Visa Platform Connect\nIndicates split payment transaction. A split payment allows the use of two payment methods for a single transaction.\n\nPossible values:\n - `true` (split payment transaction is supported)\n - `false` (default: split payment transaction is not supported)\n"
+ },
+ "cardVerificationIndicator": {
+ "type": "boolean",
+ "description": "This API field will indicate whether a card verification check is being performed during the transaction\n\nPossible values:\n - `true`\n - `false` (default value)\n"
+ },
+ "transactionMode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Transaction mode identifier. Identifies the specific channel from which the transaction originates.\n\nPossible values:\n- M \u2013 Mobile Order\n- T \u2013 Telephone Order\n"
+ },
+ "aftIndicator": {
+ "type": "boolean",
+ "description": "Indicates whether the transaction is an Account Funding Transaction (AFT). \nThis field is mandatory for Account Funding Transactions (AFT). \n\nPossible values:\n - `true` (This is an AFT transaction)\n - `false` (default value) (This is not an AFT transaction)\n"
+ },
+ "serviceType": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Field is used for back-to-back funding transaction and can be defined as a payment flow that automatically transfers funds through a real-time \nfunding or a live-load. This type of transaction can also be connected to a purchase. \nIn back-to-back funding of general purpose card that is used to make a purchase, two separate accounts are involved: \n- account one is used to make the purchase\n- account two is used to automatically fund or reimburse account one\n\nPossible values:\n- 0B = back to back funding transaction\n- 00 = normal transaction\n- 01 = originator hold\n- 02 = Visa deferred OCT hold, default interval\n- 03 = Visa deferred OCT hold, user-defined interval\n- 09 = Cancel pending deferred OCT request\n- 0I = Visa Direct custom program 1\n- 0Q = uery the status of the deferred OCT\n- A0 = Alias Directory 2\n"
+ },
+ "balanceUpdate": {
+ "type": "boolean",
+ "description": "Merchant to inform Cybersource whether a transaction is Money load with Balance Update.\n\nPossible values:\n - `true` (This is a Money load with balance update transaction)\n - `false` (default value) (This is not a Money load with balance update transaction)\n"
+ },
+ "moneyLoad": {
+ "type": "boolean",
+ "description": "Merchant to inform Cybersource whether a transaction is Money load with Money load only.\n\nPossible values:\n - `true` (This is a money load transaction)\n - `false` (default value) (This is not a money load transaction)\n"
+ }
+ }
+ },
+ "captureOptions": {
+ "type": "object",
+ "properties": {
+ "captureSequenceNumber": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 99,
+ "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n"
+ },
+ "totalCaptureCount": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 99,
+ "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n"
+ },
+ "dateToCapture": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Date on which you want the capture to occur. This field is supported only for CyberSource through VisaNet.\nFormat: `MMDD`\n\n#### Used by\n**Authorization**\nOptional field.\n"
+ },
+ "isFinal": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Indicates whether to release the authorization hold on the remaining funds. \nPossible Values:\n- `true`\n- `false`\n"
+ },
+ "notes": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "An informational note about this settlement. Appears in both the payer's transaction history and the emails that the payer receives.\n"
+ },
+ "reconciliationId": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Used for authbill request when capture field equals true"
+ },
+ "reconciliationIdAlternate": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Used by Nike merchant to send 12 digit order number"
+ }
+ }
+ },
+ "recurringOptions": {
+ "type": "object",
+ "properties": {
+ "loanPayment": {
+ "type": "boolean",
+ "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n",
+ "default": false
+ },
+ "firstRecurringPayment": {
+ "type": "boolean",
+ "description": "Flag that indicates whether this transaction is the first in a series of recurring payments.\n\nThis field is supported only for **Atos**, **FDC Nashville Global**, and **OmniPay Direct**.\n\nPossible values:\n - `true` Indicates this is the first payment in a series of recurring payments\n - `false` (default) Indicates this is not the first payment in a series of recurring payments.\n",
+ "default": false
+ }
+ }
+ },
+ "bankTransferOptions": {
+ "type": "object",
+ "properties": {
+ "declineAvsFlags": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Space-separated list of AVS flags that cause the request to be declined for AVS reasons.\n\n**Important** To receive declines for the AVS code `N`, you must include the value `N` in the space-separated list.\n\n### AVS Codes for Cielo 3.0 and CyberSource Latin American Processing\n\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this section is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n|AVS Code|Description|\n|--- |--- |\n|D|Partial match: postal code and address match.|\n|E|Not supported: AVS is not supported for this card type. _or_ Invalid: the acquirer returned an unrecognized value for the AVS response.|\n|F|Partial match: postal code matches, but CPF and address do not match.*|\n|G|Not supported: AVS not supported or not verified.|\n|I|No match: AVS information is not available.|\n|K|Partial match: CPF matches, but postal code and address do not match.*|\n|L|Partial match: postal code and CPF match, but address does not match.*|\n|N|No match: postal code, CPF, and address do not match.*|\n|O|Partial match: CPF and address match, but postal code does not match.*|\n|R|Not supported: your implementation does not support AVS _or_ System unavailable.|\n|T|Partial match: address matches, but postal code and CPF do not match.*|\n|V|Match: postal code, CPF, and address match.*|\n|* CPF (Cadastro de Pessoas Fisicas) is required only for Redecard in Brazil.||\n\n### AVS Codes for All Other Processors\n\n**Note** The list of AVS codes for all other processors follows these descriptions of the processor-specific information for these codes.\n\n#### American Express Cards\nFor American Express cards only, you can receive Visa and CyberSource AVS codes in addition to the American Express AVS codes.\n\n**Note** For CyberSource through VisaNet, the American Express AVS codes are converted to Visa AVS codes before they are returned to you. As a result, you will not receive American Express AVS codes for the American Express card type.\n\n_American Express Card codes_: `F`, `H`, `K`, `L`, `O`, `T`, `V`\n\n#### Domestic and International Visa Cards\nThe international and domestic alphabetic AVS codes are the Visa standard AVS codes. CyberSource maps the standard AVS return codes for other types of payment cards, including American Express cards, to the Visa standard AVS codes.\n\nAVS is considered either domestic or international, depending on the location of the bank that issued the customer's payment card:\n- When the bank is in the U.S., the AVS is domestic.\n- When the bank is outside the U.S., the AVS is international.\n\nYou should be prepared to handle both domestic and international AVS result codes:\n- For international cards, you can receive domestic AVS codes in addition to the international AVS codes.\n- For domestic cards, you can receive international AVS codes in addition to the domestic AVS codes.\n\n_International Visa Codes_: `B`, `C`, `D`, `G`, `I`, `M`, `P`\n\n_Domestic Visa Codes_: `A`, `E`,`N`, `R`, `S`, `U`, `W`, `X`, `Y`, `Z`\n\n#### CyberSource Codes\nThe numeric AVS codes are created by CyberSource and are not standard Visa codes. These AVS codes can be returned for any card type.\n\n_CyberSource Codes_: `1`, `2`, `3`, `4`\n\n### Table of AVS Codes for All Other Processors\n\n|AVS Code|Description|\n|--- |--- |\n|A|Partial match: street address matches, but 5-digit and 9-digit postal codes do not match.|\n|B|Partial match: street address matches, but postal code is not verified. Returned only for Visa cards not issued in the U.S.|\n|C|No match: street address and postal code do not match. Returned only for Visa cards not issued in the U.S.|\n|D & M|Match: street address and postal code match. Returned only for Visa cards not issued in the U.S.|\n|E|Invalid: AVS data is invalid or AVS is not allowed for this card type.|\n|F|Partial match: card member's name does not match, but billing postal code matches.|\n|G|Not supported: issuing bank outside the U.S. does not support AVS.|\n|H|Partial match: card member's name does not match, but street address and postal code match. Returned only for the American Express card type.|\n|I|No match: address not verified. Returned only for Visa cards not issued in the U.S.|\n|K|Partial match: card member's name matches, but billing address and billing postal code do not match. Returned only for the American Express card type.|\n|L|Partial match: card member's name and billing postal code match, but billing address does not match. Returned only for the American Express card type.|\n|M|See the entry for D & M.|\n|N|No match: one of the following: street address and postal code do not match _or_ (American Express card type only) card member's name, street address, and postal code do not match.|\n|O|Partial match: card member's name and billing address match, but billing postal code does not match. Returned only for the American Express card type.|\n|P|Partial match: postal code matches, but street address not verified. Returned only for Visa cards not issued in the U.S.|\n|R|System unavailable.|\n|S|Not supported: issuing bank in the U.S. does not support AVS.|\n|T|Partial match: card member's name does not match, but street address matches. Returned only for the American Express card type.|\n|U|System unavailable: address information unavailable for one of these reasons: The U.S. bank does not support AVS outside the U.S. _or_ The AVS in a U.S. bank is not functioning properly.|\n|V|Match: card member's name, billing address, and billing postal code match. Returned only for the American Express card type.|\n|W|Partial match: street address does not match, but 9-digit postal code matches.|\n|X|Match: street address and 9-digit postal code match.|\n|Y|Match: street address and 5-digit postal code match.|\n|Z|Partial match: street address does not match, but 5-digit postal code matches.|\n|1|Not supported: one of the following: AVS is not supported for this processor or card type _or_ AVS is disabled for your CyberSource account. To enable AVS, contact CyberSource Customer Support.|\n|2|Unrecognized: the processor returned an unrecognized value for the AVS response.|\n|3|Match: address is confirmed. Returned only for PayPal Express Checkout.|\n|4|No match: address is not confirmed. Returned only for PayPal Express Checkout.|\n|5|No match: no AVS code was returned by the processor.|\n"
+ },
+ "secCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n"
+ },
+ "terminalCity": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n"
+ },
+ "terminalState": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n"
+ },
+ "effectiveDate": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not\ninclude this value, CyberSource sets the effective date to the next business day.\n\nFormat: `MMDDYYYY`\n\nSupported only for the CyberSource ACH Service.\n"
+ },
+ "partialPaymentId": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Identifier for a partial payment or partial credit.\n\nThe value for each debit request or credit request must be unique within the scope of the order.\n"
+ },
+ "customerMemo": {
+ "type": "string",
+ "maxLength": 80,
+ "description": "Payment related information.\n\nThis information is included on the customer's statement.\n"
+ },
+ "paymentCategoryCode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates whether to process the payment.\n\nUse with deferred payments.\n\nPossible values:\n- `0`: Standard debit with immediate payment (default).\n- `1`: For deferred payments, indicates that this is a deferred payment and that you will send a debit request\nwith `paymentCategoryCode = 2` in the future.\n- `2`: For deferred payments, indicates notification to initiate payment.\n\n#### Chase Paymentech Solutions and TeleCheck\nUse for deferred and partial payments.\n\n#### CyberSource ACH Service\nNot used.\n\n#### RBS WorldPay Atlanta\nNot used.\n"
+ },
+ "settlementMethod": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n"
+ },
+ "fraudScreeningLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Level of fraud screening.\n\nPossible values:\n- `1`: Validation \u2014 default if the field has not already been configured for your merchant ID\n- `2`: Verification\n"
+ },
+ "customerPresent": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether a customer is physically present and whether the customer is enrolling in CyberSource Recurring Billing.\n\nPossible values:\n- `1`: Customer is present and not enrolling.\n- `2`: Customer is not present and not enrolling.\n- `3`: Customer is present and enrolling.\n- `4`: Customer is not present and enrolling.\n"
+ }
+ }
+ },
+ "purchaseOptions": {
+ "type": "object",
+ "properties": {
+ "isElectronicBenefitsTransfer": {
+ "type": "boolean",
+ "description": "Flag that indicates whether this transaction is an EBT transaction. Possible values:\n- `true`\n- `false`\n\n#### PIN debit\nRequired field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n"
+ },
+ "type": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Flag that indicates an EBT voucher transaction. Possible value:\n- `EBT_VOUCHER`: Indicates the PIN debit transaction is an EBT voucher.\n- `BUY`\n- `RENT`\n- `BOOK`\n- `SUBSCRIBE`\n- `DOWNLOAD`\n- `ORDER`\n- `CONTINUE`\n\n#### PIN debit\nRequired field for EBT voucher transactions that use PIN debit purchase; otherwise, not used.\n"
+ },
+ "eligibilityIndicator": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains installment data defined by MasterCard.\nPossible values:\n - Y = eligible\n - N = not eligile\n"
+ },
+ "benefitAmount": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Workplace benefit amount."
+ },
+ "benefitType": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n"
+ }
+ }
+ },
+ "electronicBenefitsTransfer": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Flag that specifies the category for the EBT transaction.\n\nPossible values:\n- `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.\n- `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.\n\n#### PIN debit\nRequired field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n"
+ },
+ "voucherSerialNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "The serial number printed on the EBT voucher.\n\n#### PIN debit\nRequired field for EBT voucher transactions that use PIN debit purchase; otherwise, not used.\n"
+ }
+ }
+ },
+ "loanOptions": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n"
+ },
+ "assetType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n"
+ }
+ }
+ },
+ "walletType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field carries the wallet type in authorization requests and credit requests. Possible value are:\n- `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.\n- `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.\n- `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.\n- `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.\n- `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.\n- `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.\n- `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.\nFor all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nMasterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer's checkout information.\n\nVisa Checkout:\nThis field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.\nFor Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring\nSolutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nFor incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.\nPayment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.\n\nCyberSource through VisaNet\nWhen the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90, Field: Mastercard Wallet Identifier.\nWhen the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.\n"
+ },
+ "nationalNetDomesticData": {
+ "type": "string",
+ "maxLength": 123,
+ "description": "Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.\nFor transactions on CyberSource through VisaNet in countries that subscribe to NNSS:\nVisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.\nVisaNet settles transactions in the local pricing currency through a local financial institution.\nThis field is supported only on CyberSource through VisaNet for domestic data in Colombia\n"
+ },
+ "japanPaymentOptions": {
+ "type": "object",
+ "properties": {
+ "paymentMethod": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n"
+ },
+ "bonuses": {
+ "type": "array",
+ "description": "An array of objects, each of which contains a bonus month and bonus amount. \nLength of bonuses array is equal to the number of bonuses. Max length = 6. \nIn case of bonus month and amount not specified, null objects to be returned in the array.\nExample: bonuses : [ {\"month\": \"1\",\"amount\": \"200\"}, {\"month\": \"3\",\"amount\": \"2500\"}, null]\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "month": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This value is a 2-digit code indicating the first bonus month. Valid value from 1 to 12.\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "This value contains the bonus amount of the first month. Maximum value without decimal 99999999.\n"
+ }
+ }
+ }
+ },
+ "preapprovalType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This will contain the details of the kind of transaction that has been processe. Used only for Japan.\nPossible Values:\n- 0 = Normal (authorization with amount and clearing/settlement; data capture or paper draft)\n- 1 = Negative card authorization (authorization-only with 0 or 1 amount)\n- 2 = Reservation of authorization (authorization-only with amount)\n- 3 = Cancel transaction\n- 4 = Merchant-initiated reversal/refund transactions\n- 5 = Cancel reservation of authorization\n- 6 = Post authorization\n"
+ },
+ "installments": {
+ "type": "string",
+ "maximum": 99,
+ "description": "Number of Installments.\n"
+ },
+ "terminalId": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Unique Japan Credit Card Association (JCCA) terminal identifier.\n\nThe difference between this field and the `pointOfSaleInformation.terminalID` field is that you can define\n`pointOfSaleInformation.terminalID`, but `processingInformation.japanPaymentOptions.terminalId` is\ndefined by the JCCA and is used only in Japan.\n\nThis field is supported only on CyberSource through VisaNet and JCN Gateway.\n\nOptional field.\n"
+ },
+ "firstBillingMonth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Billing month in MM format.\n"
+ },
+ "businessName": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Business name in Japanese characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n"
+ },
+ "businessNameKatakana": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Business name in Katakana characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n"
+ },
+ "jis2TrackData": {
+ "type": "string",
+ "maxLength": 69,
+ "description": "Japanese Industrial Standard Type 2 (JIS2) track data from the front of the card.\n\nThis field is supported only on CyberSource through VisaNet and JCN Gateway.\n\nOptional field.\n"
+ },
+ "businessNameAlphaNumeric": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Business name in alphanumeric characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n"
+ }
+ }
+ },
+ "mobileRemotePaymentType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Type of payment initiated from a cardholder's mobile device. Possible values:\n- `1` : Consumer-initiated remote purchase, face-to-face\n- `2` : Consumer-initiated remote purchase, e-commerce\n- `3` : Consumer-initiated remote purchase, mail order / telephone order\n- `4` : Consumer-initiated bill pay\n- `5` : Consumer-initiated top up\n- `6` : Consumer-initiated cash out\n- `7` : ATM triggered or agent-initiated cash out\n- `8` : Merchant-initiated remote purchase, face-to-face\n- `9` : Merchant-initiated remote purchase, e-commerce\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nOptional field.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the\nTC 33 capture file:\n- Record: CP01 TCR6\n- Position: 94\n- Field: Mastercard Mobile Remote Payment Program Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the\nmerchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n"
+ },
+ "extendedCreditTotalCount": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "A private national-use field submitted by acquirers and issuers in South Africa for South Africa-domestic (intra-country) authorizations and financial requests.\nValues for this field are 00 through 99.\n"
+ },
+ "networkRoutingOrder": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority.\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference.\nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,\nVisaNet makes a selection based on the acquirer's routing priorities.\n\n#### PIN debit\nPriority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:\n\n| Network | Code |\n| --- | --- |\n| Accel | E |\n| AFFN | U |\n| Alaska Option | 3 |\n| CU24 | C |\n| Interlink | G |\n| Maestro | 8 |\n| NETS | P |\n| NYCE | F |\n| Pulse | H |\n| Shazam | 7 |\n| Star | M |\n| Visa | V |\n\nFor example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.\n\nWhen you do not include this value in your PIN debit request, the list of network codes from your account is used.\n**Note** This field is supported only for businesses located in the U.S.\n\nOptional field for PIN debit credit or PIN debit purchase.\n"
+ },
+ "payByPointsIndicator": {
+ "type": "boolean",
+ "description": "Flag that indicates if the transaction is pay by points transaction\ntrue: Transaction uses loyalty points\nfalse: Transaction does not use loyalty points\nDefault: false\n"
+ },
+ "timeout": {
+ "type": "integer",
+ "description": "Minutes until a pending MyBank transaction will be timed out. Value\nmust be between 5 and 30. Default is 5.\n"
+ },
+ "isReturnAuthRecordEnabled": {
+ "type": "boolean",
+ "description": "Flag that indicates the functionality we are having for merchants for which auth is done through Cybersource but\nsettlement is done by themselves.\ntrue: functionality is supported. Processor should send raw processor auth response to Merchant.\nfalse: functionality is not supported.\nDefault: false\n"
+ },
+ "networkPartnerId": {
+ "type": "string",
+ "maxLength": 11,
+ "description": "Merchant payment gateway ID that is assigned by Mastercard and is provided by the acquirer when a registered merchant payment gateway service provider is involved in the transaction.\n\nThis field is supported for Visa Platform Connect.\n"
+ },
+ "paymentType": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Identifier for the payment type.\n"
+ },
+ "enablerId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Enablers are payment processing entities that are not acquiring members and are often the primary relationship owner with merchants and originators. Enablers own technical solutions through which the merchant or originator will access acceptance. The Enabler ID is a five-character hexadecimal identifier that will be used by Visa to identify enablers. Enabler ID assignment will be determined by Visa. Visa will communicate Enablers assignments to enablers.\n"
+ },
+ "processingInstruction": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "The instruction to process an order.\n- default value: 'NO_INSTRUCTION'\n- 'ORDER_SAVED_EXPLICITLY'\n"
+ },
+ "transactionTypeIndicator": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n"
+ },
+ "purposeOfPayment": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "This field is applicable for AFT and OCT transactions. For list of supported values, please refer to Developer Guide.\n"
+ },
+ "languageCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Contains the ISO 639-2 defined language Code\n"
+ },
+ "originalPaymentId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "This value is used for linking Authorization extension transaction to the original Authorization transaction \nand for linking MIT (Merchant initiated transaction) with the respective CIT (Customer initiated transaction).\n"
+ }
+ }
+ },
+ "issuerInformation": {
+ "type": "object",
+ "properties": {
+ "discretionaryData": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n"
+ }
+ }
+ },
+ "paymentInformation": {
+ "type": "object",
+ "properties": {
+ "card": {
+ "type": "object",
+ "properties": {
+ "number": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n"
+ },
+ "useAs": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Flag that specifies the type of account associated with the card. This field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process. This field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations. Possible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported for all card types on Visa Platform Connect.\nFor combo **card present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - CR: Credit card\n - DB: Debit Card\n\nFor combo **card not present** transactions with Mastercard on Brazilian-issued cards, possible values:\n - C: Credit card\n - D: Debit card\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n"
+ },
+ "sourceAccountType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n"
+ },
+ "sourceAccountTypeDetails": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n"
+ },
+ "securityCode": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n"
+ },
+ "securityCodeIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n"
+ },
+ "accountEncoderId": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n"
+ },
+ "issueNumber": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n"
+ },
+ "startMonth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n"
+ },
+ "startYear": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Name of the card product.\n\nPossible value:\n- BNDES\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 115-120\n- Field: Brazil Country Data\n"
+ },
+ "productSubtype": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field would contain the indicator for transaction type\n\nPossible values:\n- AC: Agriculture Maintenance Account\n- AE: Agriculture Debit Account/Electron \n- AG: Agriculture \n- AI: Agriculture Investment Loan\n- CG: Brazil Cargo\n- CS: Construction \n- DS: Distribution \n- HC: Healthcare\n- LP: Visa Large Purchase Advantage\n- MA: Visa Mobile Agent\n- MB: Interoperable Mobile Branchless Banking\n- MG: Visa Mobile General\n- VA: Visa Vale - Supermarket\n- VF: Visa Vale - Fuel\n- VR: Visa Vale - Restaurant\n"
+ },
+ "typeSelectionIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that identifies how the card type was selected.\n\nPossible values:\n- 0: Card type was selected based on default acquirer settings.\n- 1: Customer selected the card type.\n"
+ }
+ }
+ },
+ "tokenizedCard": {
+ "type": "object",
+ "properties": {
+ "number": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Customer's payment network token value.\n"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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"
+ }
+ }
+ },
+ "directDebit": {
+ "type": "object",
+ "properties": {
+ "mandate": {
+ "type": "object",
+ "properties": {
+ "clearingDate": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "This is the date on which the SEPA DD should be executed. Debit date: the day on which the payer's account is debited.\n"
+ }
+ }
+ }
+ }
+ },
+ "fluidData": {
+ "type": "object",
+ "properties": {
+ "keySerialNumber": {
+ "type": "string",
+ "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n"
+ },
+ "descriptor": {
+ "type": "string",
+ "maxLength": 128,
+ "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n"
+ },
+ "value": {
+ "type": "string",
+ "maxLength": 4000,
+ "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n"
+ },
+ "encoding": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n"
+ }
+ }
+ },
+ "customer": {
+ "type": "object",
+ "properties": {
+ "customerId": {
+ "type": "string",
+ "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n"
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ }
+ },
+ "paymentInstrument": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ }
+ },
+ "instrumentIdentifier": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n",
+ "minLength": 12,
+ "maxLength": 32
+ }
+ }
+ },
+ "shippingAddress": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ }
+ },
+ "legacyToken": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ }
+ },
+ "bank": {
+ "type": "object",
+ "properties": {
+ "account": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n"
+ },
+ "number": {
+ "type": "string",
+ "maxLength": 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"
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Payment option ID name.\nThis is the bank's swift code.Include the option ID name returned in the Options service response.\n",
+ "minLength": 1,
+ "maxLength": 60
+ }
+ }
+ },
+ "paymentType": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n"
+ },
+ "subTypeName": {
+ "type": "string",
+ "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n"
+ },
+ "method": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n"
+ }
+ }
+ }
+ }
+ },
+ "initiationChannel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Mastercard-defined code that indicates how the account information was obtained.\n\n- `00`: Card\n- `01`: Mobile Network Operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone\n- `02`: Key fob\n- `03`: Watch using a contactless chip or a fixed (non-removable) secure element not controlled by the MNO\n- `04`: Mobile tag\n- `05`: Wristband\n- `06`: Mobile phone case or sleeve\n- `07`: Mobile phone or smartphone with a fixed (non-removable) secure element controlled by the MNO,for example, code division multiple access (CDMA)\n- `08`: Removable secure element not controlled by the MNO, for example, memory card personalized forused with a mobile phone or smartphone\n- `09`: Mobile Phone or smartphone with a fixed (non-removable) secure element not controlled by the MNO\n- `10`: MNO controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book\n- `11`: Tablet or e-book with a fixed (non-removable) secure element controlled by the MNO\n- `12`: Removable secure element not controlled by the MNO, for example, memory card personalized foruse with a tablet or e-book\n- `13`: Tablet or e-book with fixed (non-removable) secure element not controlled by the MNO\n- `14`: Mobile phone or smartphone with a payment application running in a host processor\n- `15`: Tablet or e-book with a payment application running in a host processor\n- `16`: Mobile phone or smartphone with a payment application running in the Trusted ExecutionEnvironment (TEE) of a host processor\n- `17`: Tablet or e-book with a payment application running in the TEE of a host processor\n- `18`: Watch with a payment application running in the TEE of a host processor\n- `19`: Watch with a payment application running in a host processor\n\nValues from 20\u201399 exclusively indicate the form factor only without also indicating the storage technology\n\n- `20`: Card\n- `21`: Phone e.g. Mobile Phone\n- `22`: Tablet/e-reader\n- `23`: Watch/Wristband e.g. Watch or wristband, including a fitness band, smart strap, disposable band, watch add-on, and security/ID band\n- `24`: Sticker\n- `25`: PC\n- `26`: Device Peripheral e.g. mobile phone case or sleeve\n- `27`: Tag e.g. key fob or mobile tag\n- `28`: Jewelry e.g. ring, bracelet, necklace and cuff links\n- `29`: Fashion Accessory e.g. handbag, bag charm and glasses\n- `30`: Garment e.g. dress\n- `31`: Domestic Appliance e.g refrigerator, washing machine\n- `32`: Vehicle e.g. vehicle, including vehicle attached devices\n- `33`: Media/Gaming Device e.g. media or gaming device, including a set top box, media player and television\n\n34\u201399 are reserved for future form factors. Any value in this range may occur within form factor and transaction data without prior notice.\n\nThis field is supported only for Mastercard on CyberSource through VisaNet.\nWhen initiation channel is not provided via this API field, the value is extracted from EMV tag 9F6E for Mastercard transactions. To enable this feature please call support.\n\n#### Used by\n**Authorization**\nOptional field.\n"
+ },
+ "sepa": {
+ "type": "object",
+ "properties": {
+ "directDebit": {
+ "type": "object",
+ "properties": {
+ "reference": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Mandate reference as returned on the first transaction in the\nsequence\n"
+ },
+ "signatureDate": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Date of the initial transaction, format is YYYY-MM-DD. Date\ncan be taken from the finaltimestamp of the SUCCEEDED\nnotification for the first transaction in the sequence.\n"
+ },
+ "url": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Valid URL pointing to the SEPA mandate, needs to be accessible\nby our risk and compliance department.\n"
+ },
+ "type": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Sequence type of the direct debit, defaults to \"oneOff\". Valid\nvalues:\noneOff The direct debit is executed once.\nfirst First direct debit in a series of recurring ones.\n"
+ }
+ }
+ }
+ }
+ },
+ "eWallet": {
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval."
+ },
+ "fundingSource": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Payment method for the unit purchase.\nPossible values:\n- `UNRESTRICTED (default)\u2014this value\nis only available if configured by PayPal\nfor the merchant.`\n- `INSTANT`\n"
+ }
+ }
+ },
+ "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": {
+ "giftWrapAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Amount being charged as gift wrap fee.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "subTotalAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Subtotal amount of all the items.This amount (which is the value of all items in the cart, not including the additional amounts such as tax, shipping, etc.) cannot change after a sessions request.\nWhen there is a change to any of the additional amounts, this field should be resent in the order request. When the sub total amount changes, you must initiate a new transaction starting with a sessions request.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point. This value can not be changed after a sessions request.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "dutyAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total charges for any import or export duties included in the order.\n"
+ },
+ "gratuityAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount for all the items in the order.\n"
+ },
+ "nationalTaxIncluded": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n"
+ },
+ "taxAppliedAfterDiscount": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n"
+ },
+ "taxAppliedLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n"
+ },
+ "taxTypeCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n"
+ },
+ "freightAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "foreignAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "foreignCurrency": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "exchangeRate": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n"
+ },
+ "exchangeRateTimeStamp": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n"
+ },
+ "surcharge": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "Merchant-defined field for describing the surcharge amount."
+ }
+ }
+ },
+ "settlementAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n"
+ },
+ "settlementCurrency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n"
+ },
+ "amexAdditionalAmounts": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Additional amount type. This field is supported only for **American Express Direct**.\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Additional amount. This field is supported only for **American Express Direct**.\n"
+ }
+ }
+ }
+ },
+ "taxDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ },
+ "code": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n"
+ },
+ "taxId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n"
+ },
+ "applied": {
+ "type": "boolean",
+ "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n"
+ },
+ "exemptionCode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n"
+ }
+ }
+ }
+ },
+ "serviceFeeAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Service fee. Required for service fee transactions.\n"
+ },
+ "originalAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Amount in your original local pricing currency.\n\nThis value cannot be negative. You can include a decimal point (.) in this field to denote the currency\nexponent, but you cannot include any other special characters.\n\nIf needed, CyberSource truncates the amount to the correct number of decimal places.\n"
+ },
+ "originalCurrency": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n"
+ },
+ "cashbackAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n"
+ },
+ "currencyConversion": {
+ "type": "object",
+ "properties": {
+ "indicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag indicating that DCC Lookup has been performed before this transaction. Set this field to 1 when cardholders opts to use DCC on the transaction.\n"
+ },
+ "reconciliationId": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Unique identifier generated by the DCC provider.\n"
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Value of the Cybersource request ID returned in a DCC Lookup transaction.\n"
+ }
+ }
+ },
+ "oct-surcharge": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 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"
+ }
+ }
+ },
+ "order": {
+ "type": "object",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Currency used for the order\n"
+ },
+ "subTotalAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n"
+ },
+ "handlingAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Aggregate handling charges for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n"
+ },
+ "shippingAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Aggregate shipping charges for the transaction If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n"
+ },
+ "shippingDiscountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Total tax amount. When the purchaseTotals_ taxAmount and ap_subtotalAmount fields are included in the request, do not include the tax amount as part of the subtotal amount calculation.\n"
+ },
+ "insuranceAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Amount being charged for the insurance fee. Only supported when the payment_method is set to paypal.\n"
+ },
+ "giftWrapAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Amount being charged as gift wrap fee.\n \n"
+ }
+ }
+ },
+ "anticipatedAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "This API Field contains the anticipated amount details. This supports use cases where the Merchant does not wish to have funds held against the account, but needs to confirm an amount prior to authorization, such as for a trial subscription, reservation service, or loyalty program. In an account verification, the anticipated amount is used to confirm the account has availability to accept purchases.\n"
+ }
+ }
+ },
+ "billTo": {
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "middleName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Customer's middle name.\n"
+ },
+ "nameSuffix": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Customer's name suffix.\n"
+ },
+ "title": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Title.\n"
+ },
+ "company": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "First line in the street address of the company purchasing the product."
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Additional address information for the company purchasing the product."
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "City in the address of the company purchasing the product."
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n"
+ }
+ }
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n"
+ },
+ "address3": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Additional address information (third line of the billing address)\n"
+ },
+ "address4": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Additional address information (fourth line of the billing address)\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n"
+ },
+ "county": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "U.S. county if available."
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "district": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n"
+ },
+ "buildingNumber": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n"
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "emailDomain": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Email domain of the customer. The domain of the email address comprises all characters that follow the @ symbol, such as mail.example.com. For the Risk Update service, if the email address and the domain are sent in the request, the domain supersedes the email address.\n"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "phoneType": {
+ "type": "string",
+ "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n"
+ },
+ "verificationStatus": {
+ "type": "string",
+ "description": "Whether buyer has verified their identity. Used in case of PayPal transactions.\n\nPossible Values:\n* VERIFIED\n* UNVERIFIED\n"
+ },
+ "alternatePhoneNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "#### Visa Platform Connect\ncontains customer's alternate phone number.\n"
+ },
+ "alternateEmail": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "#### Visa Platform Connect\ncontains customer's alternate email address.\n"
+ }
+ }
+ },
+ "shipTo": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The title of the person receiving the product.",
+ "maxLength": 10
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n"
+ },
+ "middleName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "county": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "U.S. county if available."
+ },
+ "country": {
+ "type": "string",
+ "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n",
+ "maxLength": 2
+ },
+ "district": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Neighborhood, community, or region within a city or municipality."
+ },
+ "buildingNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Building number in the street address. For example, the building number is 187 in the following address:\n\nRua da Quitanda 187\n"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Phone number associated with the shipping address."
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Email of the recipient.\n"
+ },
+ "company": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Name of the customer's company.\n"
+ },
+ "destinationTypes": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Shipping destination of item. Example: Commercial, Residential, Store\n"
+ },
+ "destinationCode": {
+ "type": "integer",
+ "maxLength": 2,
+ "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n"
+ },
+ "method": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n"
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productCode": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "unitOfMeasure": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Unit of measure, or unit of measure code, for the item.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Tax rate applied to the item.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n"
+ },
+ "taxAppliedAfterDiscount": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n"
+ },
+ "taxStatusIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n"
+ },
+ "taxTypeCode": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n"
+ },
+ "amountIncludesTax": {
+ "type": "boolean",
+ "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "typeOfSupply": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n"
+ },
+ "commodityCode": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountApplied": {
+ "type": "boolean",
+ "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "discountRate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "invoiceNumber": {
+ "type": "string",
+ "maxLength": 23,
+ "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n"
+ },
+ "taxDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ },
+ "code": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Type of tax being applied to the item.\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n"
+ },
+ "taxId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n"
+ },
+ "applied": {
+ "type": "boolean",
+ "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n"
+ },
+ "exemptionCode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n"
+ }
+ }
+ }
+ },
+ "fulfillmentType": {
+ "type": "string",
+ "description": "Information about the product code used for the line item.\nPossible values:\n- `E`: The product code is `electronic_software`.\n- `P`: The product code is not `electronic_software`.\n\nFor details, see the `fulfillmentType` field description in [Business Center Reporting User Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/reporting_and_reconciliation/Reporting_User/html/)\n"
+ },
+ "weight": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "Weight of the item.\n"
+ },
+ "weightIdentifier": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Type of weight.\n\nPossible values:\n- B: Billed weight\n- N: Actual net weight\n"
+ },
+ "weightUnit": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Code that specifies the unit of measurement for the weight amount. For example, `OZ` specifies ounce and `LB` specifies pound. The possible values are defined by the ANSI Accredited Standards Committee (ASC).\n"
+ },
+ "referenceDataCode": {
+ "type": "string",
+ "maxLength": 150,
+ "description": "Code that identifies the value of the corresponding `orderInformation.lineItems[].referenceDataNumber` field.\n\nPossible values:\n- AN: Client-defined asset code\n- MG: Manufacturer's part number\n- PO: Purchase order number\n- SK: Supplier stock keeping unit number\n- UP: Universal product code\n- VC: Supplier catalog number\n- VP: Vendor part number\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n"
+ },
+ "referenceDataNumber": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Reference number.\n\nThe meaning of this value is identified by the value of the corresponding `referenceDataCode` field.\nSee Numbered Elements.\n\nThe maximum length for this field depends on the value of the corresponding `referenceDataCode` field:\n- When the code is `PO`, the maximum length for the reference number is 22.\n- When the code is `VC`, the maximum length for the reference number is 20.\n- For all other codes, the maximum length for the reference number is 30.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n"
+ },
+ "unitTaxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item tax amount of the product.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point.\n"
+ },
+ "productDescription": {
+ "type": "string",
+ "description": "Brief description of item."
+ },
+ "giftCardCurrency": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n"
+ },
+ "shippingDestinationTypes": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n"
+ },
+ "gift": {
+ "type": "boolean",
+ "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n"
+ },
+ "passenger": {
+ "type": "object",
+ "description": "Contains travel-related passenger details used by DM service only.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n"
+ },
+ "status": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n"
+ },
+ "phone": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n"
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Passenger's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Passenger's last name."
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n"
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Passenger's email address, including the full domain name, such as jdoe@example.com."
+ },
+ "nationality": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)."
+ }
+ }
+ },
+ "allowedExportCountries": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n"
+ }
+ },
+ "restrictedExportCountries": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n"
+ }
+ }
+ }
+ }
+ },
+ "invoiceDetails": {
+ "type": "object",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "barcodeNumber": {
+ "type": "string",
+ "description": "Barcode Number."
+ },
+ "expirationDate": {
+ "type": "string",
+ "description": "Expiration Date."
+ },
+ "purchaseOrderNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n"
+ },
+ "purchaseOrderDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n"
+ },
+ "purchaseContactName": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "The name of the individual or the company contacted for company authorized purchases.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "vatInvoiceReferenceNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "VAT invoice number associated with the transaction.\n"
+ },
+ "commodityCode": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n"
+ },
+ "merchandiseCode": {
+ "type": "integer",
+ "description": "Identifier for the merchandise. This field is supported only on the processors listed in this field description.\n\n#### American Express Direct\nPossible value:\n- 1000: Gift card\n\n#### CyberSource through VisaNet\nThis value must be right justified. In Japan, this value is called a _goods code_.\n\n#### JCN Gateway\nThis value must be right justified. In Japan, this value is called a _goods code_.\n"
+ },
+ "transactionAdviceAddendum": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n"
+ }
+ }
+ }
+ },
+ "referenceDataCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Code that identifies the value of the `referenceDataNumber` field.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n"
+ },
+ "referenceDataNumber": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Reference number. The meaning of this value is identified by the value of the `referenceDataCode` field.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n"
+ },
+ "salesSlipNumber": {
+ "type": "integer",
+ "maximum": 99999,
+ "description": "Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt.\nThis field is supported only on Cybersource through Visanet and JCN gateway.\n\nOptional field.\n\n#### Card Present processing message\nIf you included this field in the request, the returned value is the value that you sent in the request.\nIf you did not include this field in the request, the system generated this value for you.\n\nThe difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the\nsystem generates the system trace audit number (STAN), and you must print the receipt number on the receipt;\nwhereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt.\n"
+ },
+ "invoiceDate": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Date of the tax calculation. Use format YYYYMMDD. You can provide a date in the past if you are calculating tax for a refund and want to know what the tax was on the date the order was placed.\nYou can provide a date in the future if you are calculating the tax for a future date, such as an upcoming tax holiday.\n\nThe default is the date, in Pacific time, that the bank receives the request.\nKeep this in mind if you are in a different time zone and want the tax calculated with the rates that are applicable on a specific date.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "costCenter": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Cost centre of the merchant"
+ },
+ "issuerMessage": {
+ "type": "string",
+ "maxLength": 41,
+ "description": "Text message from the issuer. If you give the customer a receipt, display this value on the receipt."
+ },
+ "productDescription": {
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ },
+ "shippingDetails": {
+ "type": "object",
+ "description": "Contains shipping information not related to address.",
+ "properties": {
+ "giftWrap": {
+ "type": "boolean",
+ "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n"
+ },
+ "shippingMethod": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n"
+ },
+ "shipFromPostalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n"
+ }
+ }
+ },
+ "returnsAccepted": {
+ "type": "boolean",
+ "description": "This is only needed when you are requesting both payment and DM service at same time.\n\nBoolean that indicates whether returns are accepted for this order.\nThis field can contain one of the following values:\n- true: Returns are accepted for this order.\n- false: Returns are not accepted for this order.\n"
+ },
+ "isCryptocurrencyPurchase": {
+ "type": "string",
+ "description": "#### Visa Platform Connect :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nAdditional values to add :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nvalid values are\n- Y/y, true\n- N/n, false\n"
+ },
+ "cutoffDateTime": {
+ "type": "string",
+ "description": "Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.transit.airline.legs[].departureDate and travelInformation.transit.airline.legs[].departureTime if these fields are supplied in the request.\nFormat: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n"
+ },
+ "preOrder": {
+ "type": "string",
+ "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n"
+ },
+ "preOrderDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n"
+ },
+ "reordered": {
+ "type": "boolean",
+ "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n"
+ },
+ "totalOffersCount": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n"
+ }
+ }
+ },
+ "buyerInformation": {
+ "type": "object",
+ "properties": {
+ "merchantCustomerId": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n"
+ },
+ "dateOfBirth": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n"
+ },
+ "vatRegistrationNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n"
+ },
+ "companyTaxId": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "Company's tax identifier. This is only used for eCheck service.\n\n** TeleCheck **\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n** All Other Processors **\nNot used.\n"
+ },
+ "personalIdentification": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n -\t`BR_CPF` The individual tax ID type, typically is 11 characters long\n -\t`BR_CNPJ` The business tax ID type, typically is 14 characters long.\n\nThis field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n"
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports. \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "issuedBy": {
+ "type": "string",
+ "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n"
+ },
+ "verificationResults": {
+ "type": "string",
+ "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n"
+ }
+ }
+ }
+ },
+ "hashedPassword": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n"
+ },
+ "gender": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Customer's gender. Possible values are F (female), M (male),O (other)."
+ },
+ "language": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "language setting of the user"
+ },
+ "noteToSeller": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Note to the recipient of the funds in this transaction"
+ },
+ "mobilePhone": {
+ "type": "integer",
+ "maxLength": 25,
+ "description": "Cardholder's mobile phone number.\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n"
+ },
+ "walletId": {
+ "type": "string",
+ "maxLength": 150,
+ "description": "The one-time identification code of the Alipay wallet user. \nIt is scanned from the barcode that is shown by the mobile application.\n"
+ }
+ }
+ },
+ "senderInformation": {
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "First name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported.Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to the processor.\n"
+ },
+ "middleName": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Middle name of the sender.\nThis field is applicable for AFT and OCT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 35,
+ "description": "Last name of the sender.\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 35,
+ "description": "The street address of the sender.\nThis field is applicable for AFT transactions. \n \nOnly alpha numeric values are supported. \nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "The city or locality of the sender.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. \nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "The state or province of the sender.\nThis field is applicable for AFT transactions when the sender country is US or CA. Else it is optional.\n\nMust be a two character value\n"
+ },
+ "countryCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "The country associated with the address of the sender.\nThis field is applicable for AFT transactions. \n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n"
+ },
+ "aliasName": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Sender's alias name."
+ },
+ "referenceNumber": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "This field is applicable for AFT transactions. \n\nContains a transaction reference number provided by the Merchant. Only alpha numeric values are supported.\n"
+ },
+ "account": {
+ "type": "object",
+ "properties": {
+ "number": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The account number of the entity funding the transaction. The value for this field can be a payment card account number or bank account number.\n"
+ },
+ "type": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Identifies the sender's account type.\nThis field is applicable for AFT transactions.\n\nValid values are:\n - `00` for Other\n - `01` for Routing Transit Number (RTN) + Bank Account Number (BAN)\n - `02` for International Bank Account Number (IBAN)\n - `03` for Card Account\n - `04` for Email\n - `05` for Phone Number\n - `06` for Bank Account Number (BAN) + Bank Identification Code (BIC), also known as a SWIFT code\n - `07` for Wallet ID\n - `08` for Social Network ID\n"
+ },
+ "fundsSource": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Source of funds.\nPossible Values:\n - `01`: Credit.\n - `02`: Debit.\n - `03`: Prepaid.\n - `04`: Deposit Account.\n - `05`: Mobile Money Account.\n - `06`: Cash.\n - `07`: Other.\n - `V5`: Debits / deposit access other than those linked to the cardholders' scheme.\n - `V6`: Credit accounts other than those linked to the cardholder's scheme.\n"
+ }
+ }
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Postal code of sender.\n"
+ }
+ }
+ },
+ "recipientInformation": {
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Identifier for the recipient's account.\nThis field is applicable for AFT transactions.\n"
+ },
+ "accountType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Identifies the recipient's account type.\nThis field is applicable for AFT transactions.\n\nValid values are:\n - `00` for Other\n - `01` for Routing Transit Number (RTN) + Bank Account Number (BAN)\n - `02` for International Bank Account Number (IBAN)\n - `03` for Card Account\n - `06` for Bank Account Number (BAN) + Bank Identification Code (BIC), also known as a SWIFT code\n"
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 35,
+ "description": "First name of the recipient.\nThis field is applicable for AFT transactions. \n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n"
+ },
+ "middleName": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Middle name of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 35,
+ "description": "Last name of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set, are not supported and will be stripped before being sent to sent to the processor.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The street address of the recipient\nThis field is applicable for AFT and OCT transactions.\n\nOnly alpha numeric values are supported. Special characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor. \n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "The state or province of the recipient.\nThis field is applicable for AFT transactions when the recipient country is US or CA. Else it is optional.\n\nMust be a two character value\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Partial postal code for the recipient's address. For example, if the postal code is **NN5 7SG**, the value for\nthis field should be the first part of the postal code: **NN5**. This field is a _pass-through_, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "The country associated with the address of the recipient.\nThis field is applicable for AFT and OCT transactions.\n\nMust be a two character ISO country code. \nFor example, see [ISO Country Code](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html)\n"
+ },
+ "dateOfBirth": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n"
+ },
+ "beneficiaryId": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Only for e-wallets: ID, username, hash or anything uniquely identifying\nthe ultimate beneficiary.\n"
+ },
+ "beneficiaryName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Only for e-wallets: The ultimate beneficiary's full name.\n"
+ },
+ "beneficiaryAddress": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Only for e-wallets: The ultimate beneficiary's street address (street,\nzip code, city), excluding the country. Example: \"Main street 1, 12345,\nBarcelona\n"
+ },
+ "aliasName": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Account owner alias name.\n"
+ },
+ "nationality": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Account Owner Nationality"
+ },
+ "countryOfBirth": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Account Owner Country of Birth"
+ },
+ "occupation": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Account Owner Occupation"
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 150,
+ "description": "Account Owner email address"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "The city of the recipient.\nThis field is applicable for AFT transactions.\n\nOnly alpha numeric values are supported.\nSpecial characters not in the standard ASCII character set are not supported and will be stripped before being sent to sent to the processor.\n"
+ }
+ }
+ },
+ "deviceInformation": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Value created by the client software that uniquely identifies the POS device.\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to\nthe CyberSource reporting functionality.\n\nThis field is supported only for authorizations and credits on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\nString (32)\n"
+ },
+ "hostName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "DNS resolved hostname from `ipAddress`."
+ },
+ "ipAddress": {
+ "type": "string",
+ "maxLength": 45,
+ "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n"
+ },
+ "userAgent": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n"
+ },
+ "fingerprintSessionId": {
+ "type": "string",
+ "description": "Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint\ninformation. The string can contain uppercase and lowercase letters, digits, hyphen (-), and\nunderscore (_). However, do not use the same uppercase and lowercase letters to indicate\ndifferent session IDs.\n\nThe session ID must be unique for each merchant ID. You can use any string that you are already\ngenerating, such as an order number or web session ID.\n\nThe session ID must be unique for each page load, regardless of an individual's web session ID.\nIf a user navigates to a profiled page and is assigned a web session, navigates away from the\nprofiled page, then navigates back to the profiled page, the generated session ID should be different\nand unique. You may use a web session ID, but it is preferable to use an application GUID (Globally\nUnique Identifier). This measure ensures that a unique ID is generated every time the page is\nloaded, even if it is the same user reloading the page.\n"
+ },
+ "useRawFingerprintSessionId": {
+ "type": "boolean",
+ "description": "Boolean that indicates whether request contains the device fingerprint information.\nValues:\n- `true`: Use raw fingerprintSessionId when looking up device details.\n- `false` (default): Use merchant id + fingerprintSessionId as the session id for Device detail collection.\n"
+ },
+ "deviceType": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "The device type at the client side."
+ },
+ "appUrl": {
+ "type": "string",
+ "description": "This field will contain the deep link that would help the Customer App to wake up.\n"
+ },
+ "metadata": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "Verifies that the payment is originating from a valid, user-approved application and device. Sending this field helps reduce fraud and declined transactions.\nNote The length is set for a hexadecimal representation of the GUID/UUID. This field accepts a 36-character string (with hyphens) or a 32-character string (without hyphens).\nExample 123e4567-e89b-12d3-a456-426655440000\nExample 123e4567e89b12d3a456426655440000\n"
+ },
+ "rawData": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n"
+ },
+ "provider": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n"
+ }
+ }
+ }
+ },
+ "httpAcceptBrowserValue": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n"
+ },
+ "httpAcceptContent": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "The exact content of the HTTP accept header.\n"
+ },
+ "httpBrowserEmail": {
+ "type": "string",
+ "description": "Email address set in the customer's browser, which may differ from customer email.\n"
+ },
+ "httpBrowserLanguage": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n"
+ },
+ "httpBrowserJavaEnabled": {
+ "type": "boolean",
+ "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n"
+ },
+ "httpBrowserJavaScriptEnabled": {
+ "type": "boolean",
+ "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n"
+ },
+ "httpBrowserColorDepth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n"
+ },
+ "httpBrowserScreenHeight": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Total height of the Cardholder's scree in pixels, example: 864.\n"
+ },
+ "httpBrowserScreenWidth": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n"
+ },
+ "httpBrowserTimeDifference": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n"
+ },
+ "userAgentBrowserValue": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n"
+ }
+ }
+ },
+ "merchantInformation": {
+ "type": "object",
+ "properties": {
+ "merchantDescriptor": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n"
+ },
+ "alternateName": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "An alternate name for the merchant.\n"
+ },
+ "contact": {
+ "type": "string",
+ "maxLength": 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"
+ }
+ }
+ },
+ "domainName": {
+ "type": "string",
+ "maxLength": 127,
+ "description": "This field will contain either the merchant url or the reverse domain as per the requirement for DSRP Format 3. This might vary transaction to transaction and might not be static. Merchant needs to have access to send this value for all DSRP program.\n"
+ },
+ "salesOrganizationId": {
+ "type": "string",
+ "maxLength": 11,
+ "description": "Company ID assigned to an independent sales organization. Get this value from Mastercard.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 106-116\n- Field: Independent Sales Organization ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n"
+ },
+ "categoryCode": {
+ "type": "integer",
+ "maximum": 9999,
+ "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n"
+ },
+ "categoryCodeDomestic": {
+ "type": "integer",
+ "maximum": 9999,
+ "description": "Merchant category code for domestic transactions. The value for this field is a four-digit number that the payment\ncard industry uses to classify merchants into market segments. A payment card company assigned one or more of these\nvalues to your business when you started accepting the payment card company's cards. Including this field in a request\nfor a domestic transaction might reduce interchange fees.\n\nWhen you include this field in a request:\n- Do not include the `merchant_category_code` field.\n- The value for this field overrides the value in your CyberSource account.\n\nThis field is supported only for:\n- Domestic transactions with Mastercard in Spain. Domestic means that you and the cardholder are in the same country.\n- Merchants enrolled in the OmniPay Direct interchange program.\n- First Data Merchant Solutions (Europe) on OmniPay Direct.\n"
+ },
+ "taxId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n"
+ },
+ "vatRegistrationNumber": {
+ "type": "string",
+ "maxLength": 21,
+ "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n"
+ },
+ "cardAcceptorReferenceNumber": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n"
+ },
+ "transactionLocalDateTime": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n"
+ },
+ "serviceFeeDescriptor": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 22,
+ "description": "Name of the service provider that is collecting the service fee. The service provider name must consist of\n3, 7, or 12 characters followed by an asterisk (*). This value must also include the words \"Service Fee.\"\n\nWhen you include more than one consecutive space, extra spaces are removed. Use one of the following formats\nfor this value:\n- <3-character name>*Service Fee\n- <7-character name>*Service Fee\n- <12-character name>*Service Fee\n\nWhen payments are made in installments, this value must also include installment information such as\n\"1 of 5\" or \"3 of 7.\" For installment payments, use one of the following formats for this value:\n- <3-character name>*Service Fee* of \n- <7-character name>*Service Fee* of \n- <12-character name>*Service Fee* of \n\nwhere is the payment number and is the total number of payments.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource\naccount.\n\nThis value might be displayed on the cardholder's statement.\n"
+ },
+ "contact": {
+ "type": "string",
+ "maxLength": 11,
+ "description": "Contact information for the service provider that is collecting the service fee. when you include more than one\nconsecutive space, extra spaces are removed.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n"
+ },
+ "state": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "State or territory in which the service provider is located.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n"
+ }
+ }
+ },
+ "cancelUrl": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "customer would be redirected to this url based on the decision of the transaction"
+ },
+ "successUrl": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "customer would be redirected to this url based on the decision of the transaction"
+ },
+ "failureUrl": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "customer would be redirected to this url based on the decision of the transaction"
+ },
+ "returnUrl": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 7,
+ "description": "URL for displaying payment results to the consumer (notifications) after the transaction is processed. Usually this URL belongs to merchant and its behavior is defined by merchant\n"
+ },
+ "partnerIdCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "#### Visa Platform Connect\nThis field may be used for transactions on accounts issued under co-branding agreements when one of the\nco-branding partners.\n"
+ },
+ "serviceLocation": {
+ "type": "object",
+ "properties": {
+ "locality": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "#### Visa Platform Connect\n\nMerchant's service location city name. When merchant provides services from a location other than the location identified as merchant location.\n"
+ },
+ "countrySubdivisionCode": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "#### Visa Platform Connect\n\nMerchant's service location country subdivision code. When merchant provides services from a location other than the location identified as merchant location.\n"
+ },
+ "countryCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "#### Visa Platform Connect\n\nMerchant's service location country code. When merchant provides services from a location other than the location identified as merchant location.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "#### Visa Platform Connect\n\nMerchant's service location postal code. When merchant provides services from a location other than the location identified as merchant location.\n"
+ }
+ }
+ },
+ "noteToBuyer": {
+ "type": "string",
+ "maxLength": 165,
+ "description": "Free-form text field.\n"
+ },
+ "merchantName": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Use this field only if you are requesting payment with Payer Authentication serice together.\n\nYour company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n"
+ }
+ }
+ },
+ "aggregatorInformation": {
+ "type": "object",
+ "properties": {
+ "aggregatorId": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 37,
+ "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n"
+ },
+ "subMerchant": {
+ "type": "object",
+ "properties": {
+ "cardAcceptorId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Unique identifier assigned by the payment card company to the sub-merchant."
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 37,
+ "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 38,
+ "description": "First line of the sub-merchant's street address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 21,
+ "description": "Sub-merchant's city.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Sub-merchant's state or province.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n"
+ },
+ "region": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Partial postal code for the sub-merchant's address.\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n"
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n"
+ }
+ }
+ },
+ "streetAddress": {
+ "type": "string",
+ "maxLength": 150,
+ "description": "Acquirer street name."
+ },
+ "city": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Acquirer city."
+ },
+ "state": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Acquirer state."
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Acquirer postal code."
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Acquirer country."
+ }
+ }
+ },
+ "consumerAuthenticationInformation": {
+ "type": "object",
+ "properties": {
+ "cavv": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Cardholder authentication verification value (CAVV)."
+ },
+ "transactionFlowIndicator": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field details out the type of transaction. Below are the possible values.\n08:GC- Guest Checkout.\n"
+ },
+ "cavvAlgorithm": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Algorithm used to generate the CAVV for Visa Secure or the UCAF authentication data for Mastercard Identity Check.\n"
+ },
+ "eciRaw": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Raw electronic commerce indicator (ECI).\n"
+ },
+ "paresStatus": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Payer authentication response status.\n"
+ },
+ "veresEnrolled": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Verification response enrollment status.\n"
+ },
+ "xid": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Transaction identifier.\n"
+ },
+ "ucafCollectionIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Universal cardholder authentication field (UCAF) collection indicator.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR7\n- Position: 5\n- Field: Mastercard Electronic Commerce Indicators\u2014UCAF Collection Indicator\n"
+ },
+ "ucafAuthenticationData": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Universal cardholder authentication field (UCAF) data.\n"
+ },
+ "strongAuthentication": {
+ "type": "object",
+ "properties": {
+ "issuerInformation": {
+ "type": "object",
+ "properties": {
+ "exemptionDataRaw": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Payer authentication exemption indicator for Carte Bancaire exemptions. \nThis is used with unbundled authentication and authorizations calls, for example: \"low fraud merchant program\".\nThe value for this field maps to the value returned in the payer authentication API response field -\n`consumerAuthenticationInformation.exemptionDataRaw`.\n"
+ }
+ }
+ },
+ "lowValueExemptionIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field will contain the low value exemption indicator with one of the following values:\nPossible values:\n- `0` ( low value exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be a low value payment)\n"
+ },
+ "riskAnalysisExemptionIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field will contain the transaction risk analysis exemption indicator with one of the following values:\nPossible values:\n- `0` (TRA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be low risk in accordance with the criteria defined by PSD2/RTS)\n"
+ },
+ "trustedMerchantExemptionIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Possible values:\n- `0` (Trusted merchant exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as it originated at a merchant trusted by the cardholder)\n"
+ },
+ "secureCorporatePaymentIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field will contain the secure corporate payment exemption indicator with one of the following values:\nPossible values:\n- `0` (SCA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it as a secure corporate payment)\n"
+ },
+ "delegatedAuthenticationExemptionIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field will contain the delegated authentication exemption indicator with one of the following values:\nPossible values:\n- `0` (delegated Authentication exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as authentication has been delegated to other provider (PSP,Acquirer))\n"
+ },
+ "outageExemptionIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field will contain the outage exemption indicator with one of the following values:\nPossible values:\n- `0` (Outage Authentication exemption does not apply to the transaction)\n- `1` (Outage exempt from SCA as authentication could not be done due to outage)\n"
+ },
+ "authenticationIndicator": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n"
+ }
+ }
+ },
+ "directoryServerTransactionId": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: \nRecord: CP01 TCR7, Position: 114-149, Field: MC AVV Verification\u2014Directory Server Transaction ID\n"
+ },
+ "paSpecificationVersion": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains 3DS version that was used for Secured Consumer Authentication (SCA). \nThe value for this field should be in the format major.minor.patch version.\n\nValid Values are:\n\n- `2.1.0` (EMV 3D Secure Version 2.1)\n- `2.2.0` (EMV 3D Secure Version 2.2)\n- `2.3.0` (EMV 3D Secure Version 2.3)\n- `2.4.0` (EMV 3D Secure Version 2.4)\n- `2.5.0` (EMV 3D Secure Version 2.5)\n- `2.6.0` (EMV 3D Secure Version 2.6)\n- `2.7.0` (EMV 3D Secure Version 2.7)\n- `2.8.0` (EMV 3D Secure Version 2.8)\n- `2.9.0` (EMV 3D Secure Version 2.9)\n\nFor Visa Platform Connect: \nThe value for this field corresponds to the following data in the TC 33 capture file3: \nRecord: CP01 TCR7, Position: 113 , Field: MC AVV Verification\u2014Program Protocol\n\nIt will contain one of the following values:\n- `1` (3D Secure Version 1.x (3DS 1.0))\n- `2` (EMV 3-D Secure (3DS 2.x))\n"
+ },
+ "authenticationType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n"
+ },
+ "responseAccessToken": {
+ "type": "string",
+ "description": "JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.\n"
+ },
+ "acsTransactionId": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\n"
+ },
+ "acsWindowSize": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n"
+ },
+ "alternateAuthenticationData": {
+ "type": "string",
+ "maxLength": 2048,
+ "description": "Data that documents and supports a specific authentication process.\n"
+ },
+ "alternateAuthenticationDate": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n"
+ },
+ "alternateAuthenticationMethod": {
+ "type": "string",
+ "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n"
+ },
+ "authenticationDate": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n"
+ },
+ "authenticationTransactionId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n"
+ },
+ "challengeCancelCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n"
+ },
+ "challengeCode": {
+ "type": "string",
+ "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n"
+ },
+ "challengeStatus": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n"
+ },
+ "customerCardAlias": {
+ "type": "string",
+ "maxLength": 128,
+ "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n"
+ },
+ "decoupledAuthenticationIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n"
+ },
+ "decoupledAuthenticationMaxTime": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n"
+ },
+ "defaultCard": {
+ "type": "boolean",
+ "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "deviceChannel": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n"
+ },
+ "installmentTotalCount": {
+ "type": "integer",
+ "maxLength": 4,
+ "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n"
+ },
+ "merchantFraudRate": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n"
+ },
+ "marketingOptIn": {
+ "type": "boolean",
+ "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "marketingSource": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n"
+ },
+ "mcc": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n"
+ },
+ "merchantScore": {
+ "type": "integer",
+ "maxLength": 2,
+ "description": "Risk Score provided by merchants. This is specific for CB transactions.\n"
+ },
+ "messageCategory": {
+ "type": "string",
+ "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n"
+ },
+ "networkScore": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "The global score calculated by the CB scoring platform and returned to merchants.\n\nPossible values: \n- '00' - '99'\n\nWhen you request the payer authentication and authorization services separately, get the value for this field from the pa_network_score reply field. \n\nThis field is supported only for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\n"
+ },
+ "npaCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n"
+ },
+ "overridePaymentMethod": {
+ "type": "string",
+ "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n"
+ },
+ "overrideCountryCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n"
+ },
+ "priorAuthenticationData": {
+ "type": "string",
+ "maxLength": 2048,
+ "description": "This field carry data that the ACS can use to verify the authentication process.\n"
+ },
+ "priorAuthenticationMethod": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n"
+ },
+ "priorAuthenticationReferenceId": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n"
+ },
+ "priorAuthenticationTime": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n"
+ },
+ "productCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n"
+ },
+ "returnUrl": {
+ "type": "string",
+ "maxLength": 2048,
+ "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n"
+ },
+ "requestorId": {
+ "type": "string",
+ "maxLength": 35,
+ "description": "Cardinal's directory server assigned 3DS Requestor ID value"
+ },
+ "requestorInitiatedAuthenticationIndicator": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n"
+ },
+ "requestorName": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Cardinal's directory server assigned 3DS Requestor Name value"
+ },
+ "referenceId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n"
+ },
+ "sdkMaxTimeout": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n"
+ },
+ "secureCorporatePaymentIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n"
+ },
+ "transactionMode": {
+ "type": "string",
+ "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n"
+ },
+ "whiteListStatus": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n"
+ },
+ "authenticationBrand": {
+ "type": "string",
+ "maxLength": 16,
+ "description": "Indicates which directory server was used while authentication process, this data is useful in case of scenarios \nwhen domestic scheme directory server is not present and authentication fallbacks to global scheme directory server.\nPossible values:\n- VISA - Returned for Mada VISA Co-badged cards, when authentication falls back to VISA Directory Server\n- MASTERCARD - Returned for Mada MasterCard Co-badged cards, when authentication falls back to MasterCard Directory Server\n"
+ },
+ "effectiveAuthenticationType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n"
+ },
+ "signedParesStatusReason": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Provides additional information as to why the PAResStatus has a specific value.\n"
+ },
+ "signedPares": {
+ "type": "string",
+ "description": "Payer authentication result (PARes) message returned by the card-issuing bank.\nIf you need to show proof of enrollment checking, you may need to\ndecrypt and parse the string for the information required by the payment card company.\nFor more information, see \"Storing Payer Authentication Data,\" page 160.\nImportant The value is in base64. You must remove all carriage returns and line feeds before\nadding the PARes to the request.\n"
+ },
+ "acsReferenceNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval."
+ },
+ "dsReferenceNumber": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "EMVCo-assigned unique identifier. This field is required in Cardholder Initiated 3DS fully authenticated mada transactions.\nWhen you request the payer authentication and authorization services separately, get the value for this field from the payerAuthEnrollReply_dsReferenceNumber or payerAuthValidateReply_dsReferenceNumber response field.\n"
+ }
+ }
+ },
+ "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": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n"
+ },
+ "frequency": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n"
+ },
+ "planType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n"
+ },
+ "sequence": {
+ "type": "integer",
+ "maximum": 999,
+ "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n"
+ },
+ "totalCount": {
+ "type": "integer",
+ "maximum": 999,
+ "description": "Total number of installments when making payments in installments.\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n"
+ },
+ "firstInstallmentDate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n"
+ },
+ "invoiceData": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n"
+ },
+ "paymentType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Payment plan for the installments.\nThis field is supported only for installment payments on Visa Platform Connect, RuPay and SPG-KSA seamless flow.\n\nPossible values for a standing-instruction (SI) merchant-initiated transaction (MIT) with Diners Club or Mastercard in India or with an India-issued card:\n- 1: SI with a fixed amount.\n- 2: SI with a maximum amount.\n- 3: Other kind of SI.\n\nPossible values for a type of Installment transaction for on-soil transaction in Kingdom of Saudi Arabia\n- 1: Registration or first transaction.\n- 2: Subsequent transaction.\n\nPossible values for other kinds of installment payments:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n- 6: SI de-registration on RuPay for the payer authentication seamless flow.\n"
+ },
+ "eligibilityInquiry": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "Indicates whether the authorization request is a Crediario eligibility inquiry.\n\nSet the value for this field to `Crediario`.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n"
+ },
+ "gracePeriodDuration": {
+ "type": "string",
+ "maximum": 99,
+ "description": "Grace period requested by the customer before the first installment payment is due.\n\nWhen you include this field in a request, you must also include the grace period duration type field.\n\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR5, Position: 100-101, Field: Mastercard Grace Period Details.\n\nThis field is supported only for Mastercard installment payments in Brazil and Greece.\n"
+ },
+ "gracePeriodDurationType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Unit for the requested grace period duration.\n\nPossible values:\n- `D`: Days\n- `W`: Weeks\n- `M`: Months\n\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR5, Position: 99, Field: Mastercard Grace Period Details\n\nThis field is supported only for Mastercard installment payments in Brazil and Greece on CyberSource through VisaNet.\n"
+ },
+ "firstInstallmentAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n"
+ },
+ "validationIndicator": {
+ "type": "string",
+ "maximum": 1,
+ "description": "Standing Instruction/Installment validation indicator.\n- '1': Prevalidated\n- '2': Not Validated\n"
+ },
+ "identifier": {
+ "type": "string",
+ "maximum": 60,
+ "description": "Standing Instruction/Installment identifier.\n"
+ }
+ }
+ },
+ "travelInformation": {
+ "type": "object",
+ "properties": {
+ "duration": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n"
+ },
+ "agency": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Name of travel agency that made the reservation.\n"
+ }
+ }
+ },
+ "autoRental": {
+ "type": "object",
+ "properties": {
+ "noShowIndicator": {
+ "type": "boolean",
+ "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n"
+ },
+ "customerName": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n"
+ },
+ "vehicleClass": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n"
+ },
+ "distanceTravelled": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n"
+ },
+ "distanceUnit": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n"
+ },
+ "returnDateTime": {
+ "type": "string",
+ "maxLength": 21,
+ "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n"
+ },
+ "rentalDateTime": {
+ "type": "string",
+ "maxLength": 21,
+ "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n"
+ },
+ "maxFreeDistance": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n"
+ },
+ "insuranceIndicator": {
+ "type": "boolean",
+ "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n"
+ },
+ "programCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n"
+ },
+ "returnAddress": {
+ "type": "object",
+ "properties": {
+ "city": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "City where the auto was returned to the rental agency.\n"
+ },
+ "state": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n"
+ },
+ "locationId": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "When merchant wants to send the rental address's street address.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "When merchant wants to send the return address's postal code.\n"
+ },
+ "location": {
+ "type": "string",
+ "maxLength": 38,
+ "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n"
+ }
+ }
+ },
+ "rentalAddress": {
+ "type": "object",
+ "properties": {
+ "city": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n"
+ },
+ "state": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n"
+ },
+ "locationId": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Address from where the vehicle was rented.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Address from where the vehicle was rented.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "When merchant wants to send the rental address's postal code.\n"
+ },
+ "location": {
+ "type": "string",
+ "maxLength": 38,
+ "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n"
+ }
+ }
+ },
+ "agreementNumber": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n"
+ },
+ "odometerReading": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Odometer reading at time of vehicle rental.\n"
+ },
+ "vehicleIdentificationNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains a unique identifier assigned by the company to the vehicle.\n"
+ },
+ "companyId": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n"
+ },
+ "numberOfAdditionalDrivers": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n"
+ },
+ "driverAge": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Age of the driver renting the vehicle.\n"
+ },
+ "specialProgramCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n"
+ },
+ "vehicleMake": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n"
+ },
+ "vehicleModel": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n"
+ },
+ "timePeriod": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n"
+ },
+ "commodityCode": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n"
+ },
+ "customerServicePhoneNumber": {
+ "type": "string",
+ "maxLength": 17,
+ "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n"
+ },
+ "taxDetails": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ },
+ "applied": {
+ "type": "boolean",
+ "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n"
+ },
+ "exemptionCode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n"
+ },
+ "taxType": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n"
+ },
+ "taxSummary": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Summary of all tax types\n"
+ }
+ }
+ },
+ "insuranceAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Insurance charges.\nField is conditional and can include decimal point.\n"
+ },
+ "oneWayDropOffAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n"
+ },
+ "adjustedAmountIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n"
+ },
+ "adjustedAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n"
+ },
+ "fuelCharges": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n"
+ },
+ "weeklyRentalRate": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n"
+ },
+ "dailyRentalRate": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n"
+ },
+ "ratePerMile": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n"
+ },
+ "mileageCharge": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n"
+ },
+ "extraMileageCharge": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n"
+ },
+ "lateFeeAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n"
+ },
+ "towingCharge": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n"
+ },
+ "extraCharge": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n"
+ },
+ "gpsCharge": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Amount charged for renting a Global Positioning Service (GPS).\n"
+ },
+ "phoneCharge": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Additional charges incurred for phone usage included on the total bill.\n"
+ },
+ "parkingViolationCharge": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n"
+ },
+ "otherCharges": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total amount charged for all other miscellaneous charges not previously defined.\n"
+ },
+ "companyName": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Merchant to send their auto rental company name\n"
+ },
+ "affiliateName": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "When merchant wants to send the affiliate name.\n"
+ }
+ }
+ },
+ "lodging": {
+ "type": "object",
+ "properties": {
+ "checkInDate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n"
+ },
+ "checkOutDate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n"
+ },
+ "room": {
+ "type": "array",
+ "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "dailyRate": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Daily cost of the room.\n"
+ },
+ "numberOfNights": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 9999,
+ "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n"
+ }
+ }
+ }
+ },
+ "smokingPreference": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n"
+ },
+ "numberOfRooms": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 99,
+ "description": "Number of rooms booked by the cardholder.\n"
+ },
+ "numberOfGuests": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 99,
+ "description": "Number of guests staying in the room.\n"
+ },
+ "roomBedType": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Type of room, such as queen, king, or two doubles.\n"
+ },
+ "roomTaxType": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Type of tax, such as tourist or hotel.\n"
+ },
+ "roomRateType": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Type of rate, such as corporate or senior citizen.\n"
+ },
+ "guestName": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Name of the guest under which the room is reserved.\n"
+ },
+ "customerServicePhoneNumber": {
+ "type": "string",
+ "maxLength": 17,
+ "description": "Your toll-free customer service phone number.\n"
+ },
+ "corporateClientCode": {
+ "type": "string",
+ "maxLength": 17,
+ "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n"
+ },
+ "additionalDiscountAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Amount of an additional coupon or discount.\n"
+ },
+ "roomLocation": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Location of room, such as lake view or ocean view.\n"
+ },
+ "specialProgramCode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n"
+ },
+ "totalTaxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount.\n"
+ },
+ "prepaidCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Prepaid amount, such as a deposit.\n"
+ },
+ "foodAndBeverageCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost for all food and beverages.\n"
+ },
+ "roomTaxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax for the room.\n"
+ },
+ "adjustmentAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n"
+ },
+ "phoneCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of telephone services.\n"
+ },
+ "restaurantCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of restaurant purchases\n"
+ },
+ "roomServiceCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of room service.\n"
+ },
+ "miniBarCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of mini-bar purchases.\n"
+ },
+ "laundryCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of laundry services.\n"
+ },
+ "miscellaneousCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Miscellaneous costs.\n"
+ },
+ "giftShopCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of gift shop purchases.\n"
+ },
+ "movieCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of movies.\n"
+ },
+ "healthClubCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of health club services.\n"
+ },
+ "valetParkingCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of valet parking services.\n"
+ },
+ "cashDisbursementCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of the cash that was disbursed plus any associated service fees\n"
+ },
+ "nonRoomCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of non-room purchases, such as meals and gifts.\n"
+ },
+ "businessCenterCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of business center services.\n"
+ },
+ "loungeBarCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of lounge and bar purchases.\n"
+ },
+ "transportationCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of transportation services.\n"
+ },
+ "gratuityAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Gratuity.\n"
+ },
+ "conferenceRoomCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of conference room services.\n"
+ },
+ "audioVisualCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of audio visual services.\n"
+ },
+ "banquestCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of banquet services.\n"
+ },
+ "nonRoomTaxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Tax on non-room purchases.\n"
+ },
+ "earlyCheckOutCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Service fee for early departure.\n"
+ },
+ "internetAccessCost": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Cost of Internet access.\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n"
+ },
+ "hotelName": {
+ "type": "string",
+ "description": "The name of the hotel for which the reservation was made.\n"
+ },
+ "checkInDateTime": {
+ "type": "string",
+ "description": "The date of the check-in in GMT+8 offset.\n"
+ },
+ "checkOutDateTime": {
+ "type": "string",
+ "description": "The date of the check-out in GMT+8 offset.\n"
+ }
+ }
+ },
+ "transit": {
+ "type": "object",
+ "properties": {
+ "airline": {
+ "type": "object",
+ "properties": {
+ "isDomestic": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n"
+ },
+ "bookingReferenceNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n"
+ },
+ "carrierName": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "ticketIssuer": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n"
+ },
+ "address": {
+ "type": "string",
+ "maxLength": 16,
+ "description": "Address of the company issuing the ticket.\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 18,
+ "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 18,
+ "description": "State in which transaction occured.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Zip code of the city in which transaction occured.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 18,
+ "description": "Country in which transaction occured.\n"
+ }
+ }
+ },
+ "ticketNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n"
+ },
+ "checkDigit": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n"
+ },
+ "restrictedTicketIndicator": {
+ "type": "integer",
+ "maxLength": 1,
+ "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n"
+ },
+ "transactionType": {
+ "type": "integer",
+ "maxLength": 2,
+ "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n"
+ },
+ "extendedPaymentCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "The field is not currently supported.\n"
+ },
+ "passengerName": {
+ "type": "string",
+ "maxLength": 42,
+ "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "customerCode": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n"
+ },
+ "documentType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n"
+ },
+ "documentNumber": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "The field is not currently supported.\n"
+ },
+ "documentNumberOfParts": {
+ "type": "integer",
+ "maxLength": 4,
+ "description": "The field is not currently supported.\n"
+ },
+ "invoiceNumber": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Invoice number for the airline transaction.\n"
+ },
+ "invoiceDate": {
+ "type": "integer",
+ "maxLength": 8,
+ "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n"
+ },
+ "additionalCharges": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n"
+ },
+ "totalFeeAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "clearingSequence": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "clearingCount": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "totalClearingAmount": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n"
+ },
+ "numberOfPassengers": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "reservationSystemCode": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n"
+ },
+ "processIdentifier": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n"
+ },
+ "ticketIssueDate": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "electronicTicketIndicator": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n"
+ },
+ "originalTicketNumber": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "Original ticket number when the transaction is for a replacement ticket.\n"
+ },
+ "purchaseType": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "creditReasonIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n"
+ },
+ "ticketChangeIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n"
+ },
+ "planNumber": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "arrivalDate": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n"
+ },
+ "restrictedTicketDesciption": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "exchangeTicketAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n"
+ },
+ "exchangeTicketFeeAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n"
+ },
+ "reservationType": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "The field is not currently supported.\n"
+ },
+ "boardingFeeAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Boarding fee.\n"
+ },
+ "legs": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "carrierCode": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "flightNumber": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "originatingAirportCode": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "class": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "stopoverIndicator": {
+ "type": "integer",
+ "maxLength": 1,
+ "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "departureDate": {
+ "type": "integer",
+ "maxLength": 8,
+ "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "destinationAirportCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "fareBasis": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n"
+ },
+ "departTaxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Amount of departure tax for this leg of the trip.\n"
+ },
+ "conjunctionTicket": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "exchangeTicketNumber": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "couponNumber": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "departureTime": {
+ "type": "integer",
+ "maxLength": 4,
+ "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "departureTimeMeridian": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "arrivalTime": {
+ "type": "integer",
+ "maxLength": 4,
+ "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "arrivalTimeMeridian": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n"
+ },
+ "endorsementsRestrictions": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "totalFareAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "feeAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n"
+ }
+ }
+ }
+ },
+ "ancillaryInformation": {
+ "type": "object",
+ "properties": {
+ "ticketNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n"
+ },
+ "passengerName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n"
+ },
+ "connectedTicketNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n"
+ },
+ "creditReasonIndicator": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n"
+ },
+ "service": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "categoryCode": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n"
+ },
+ "subCategoryCode": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "flightType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n"
+ },
+ "insuranceAmount": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "The total cost of the flight insurance. Example: 10000.00\n"
+ },
+ "frequentFlyerNumber": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n"
+ },
+ "thirdPartyStatus": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Specifies if the travel agent joins the flight (0) or not (1)\n"
+ },
+ "passengerType": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n"
+ },
+ "totalInsuranceAmount": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Total insurance amount. We have per leg and not total\n"
+ }
+ }
+ }
+ }
+ },
+ "vehicleData": {
+ "type": "object",
+ "properties": {
+ "connectorType": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n"
+ },
+ "chargingReasonCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n"
+ }
+ }
+ }
+ }
+ },
+ "healthCareInformation": {
+ "type": "object",
+ "properties": {
+ "amountDetails": {
+ "type": "array",
+ "description": "array for Healthcare fields",
+ "items": {
+ "type": "object",
+ "properties": {
+ "amountType": {
+ "type": "string",
+ "maxLength": 35,
+ "description": "Total amount that has been spent on healthcare in a transaction.\nValid Values for **Visa**:\n- `healthcare` - Total Amount Healthcare\n- `healthcare-transit` - Amount Transit\n- `vision` - Amount Vision/Optical\n- `prescription` - Amount Prescription/RX\n- `clinic` - Amount Clinic/Other Qualified Medical\n- `dental` - Amount Dental\n\n\n`Note:` - Prescription, Clinic and dental amounts must be preceded with the total healthcare amount and cannot occur individually. Vision and Transit must be sent individually and cannot be combined with total healthcare amount or any other amounts. Total Healthcare amount can be sent individually.\n\nValid Values for **MasterCard**:\n- `prescription` - Amount Prescription/RX\n- `eligible-total` - Total Amount Healthcare\n\n\n`Note:` - Prescription must be preceded with the total healthcare amount and cannot occur individually. Total Healthcare amount can be sent individually.\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total Amount that has been spent on the corresponding amountType. This is 13 byte field including sign.\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "promotionInformation": {
+ "type": "object",
+ "properties": {
+ "additionalCode": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n"
+ },
+ "code": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Code for a promotion or discount.\n"
+ }
+ }
+ },
+ "tokenInformation": {
+ "type": "object",
+ "properties": {
+ "jti": {
+ "type": "string",
+ "maxLength": 64,
+ "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n"
+ },
+ "transientTokenJwt": {
+ "type": "string",
+ "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n"
+ },
+ "paymentInstrument": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Flag that specifies if the Payment Instrument should be made the Customers default.\nPossible values:\n- true\n- false : (default)\n",
+ "default": false
+ }
+ }
+ },
+ "shippingAddress": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Flag that specifies if the Shipping Address should be made the Customers default.\nPossible values:\n- true\n- false : (default)\n",
+ "default": false
+ }
+ }
+ },
+ "networkTokenOption": {
+ "type": "string",
+ "description": "Indicates whether a payment network token associated with a TMS token should be used for authorization. This field can contain one of following values:\n\n- `ignore`: Use a tokenized card number for an authorization, even if the TMS token has an associated payment network token.\n- `prefer`: (Default) Use an associated payment network token for an authorization if the TMS token has one; otherwise, use the tokenized card number.\n"
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "invoiceDetails": {
+ "type": "object",
+ "description": "invoice Details",
+ "properties": {
+ "barcodeNumber": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Barcode ID scanned from the Payment Application."
+ }
+ }
+ },
+ "processorInformation": {
+ "type": "object",
+ "description": "Processor Information",
+ "properties": {
+ "preApprovalToken": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Token received in original session service."
+ },
+ "authorizationOptions": {
+ "type": "object",
+ "properties": {
+ "panReturnIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "#### Visa Platform Connect\nThe field contains the PAN translation indicator for American Express Contactless Transaction. Valid value is\u00a0\n\n1- Expresspay Translation, PAN request\n2- Expresspay Translation, PAN and Expiry date request\n"
+ }
+ }
+ },
+ "reversal": {
+ "type": "object",
+ "properties": {
+ "preApprovalToken": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions."
+ }
+ }
+ }
+ }
+ },
+ "agreementInformation": {
+ "type": "object",
+ "properties": {
+ "agreementId": {
+ "type": "string",
+ "description": "Identifier for the mandate being signed for. This mandate id is required for all the subsequent transactions.\n"
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 128,
+ "description": "The processor specific billing agreement ID. References an approved recurring payment for goods or services. This value is sent by merchant via Cybersource to processor. The value sent in this field is procured by the merchant from the processor.\n"
+ }
+ }
+ },
+ "riskInformation": {
+ "type": "object",
+ "description": "This object is only needed when you are requesting both payment and DM services at same time.",
+ "properties": {
+ "profile": {
+ "type": "object",
+ "description": "Identifies a risk profile.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n"
+ }
+ }
+ },
+ "eventType": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Specifies one of the following types of events:\n- login\n- account_creation\n- account_update\nFor regular payment transactions, do not send this field.\n"
+ },
+ "buyerHistory": {
+ "type": "object",
+ "properties": {
+ "customerAccount": {
+ "type": "object",
+ "properties": {
+ "lastChangeDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "creationHistory": {
+ "type": "string",
+ "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n"
+ },
+ "modificationHistory": {
+ "type": "string",
+ "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n"
+ },
+ "passwordHistory": {
+ "type": "string",
+ "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n"
+ },
+ "createDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n"
+ },
+ "passwordChangeDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n"
+ }
+ }
+ },
+ "accountHistory": {
+ "type": "object",
+ "properties": {
+ "firstUseOfShippingAddress": {
+ "type": "boolean",
+ "description": "Applicable when this is not a guest account.\n"
+ },
+ "shippingAddressUsageDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n"
+ }
+ }
+ },
+ "accountPurchases": {
+ "type": "integer",
+ "maxLength": 4,
+ "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "addCardAttempts": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "priorSuspiciousActivity": {
+ "type": "boolean",
+ "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "paymentAccountHistory": {
+ "type": "string",
+ "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n"
+ },
+ "paymentAccountDate": {
+ "type": "integer",
+ "maxLength": 8,
+ "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n"
+ },
+ "transactionCountDay": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n"
+ },
+ "transactionCountYear": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n"
+ }
+ }
+ },
+ "auxiliaryData": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "Contains auxiliary key-value pairs.",
+ "properties": {
+ "key": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Fields that you can use to send additional data to Risk services.\n**Warning** Auxiliary fields are not intended to and MUST NOT\nbe used to capture personally identifying information.\nAccordingly, merchants are prohibited from capturing,\nobtaining, and/or transmitting any personally identifying\ninformation in or via the auxiliary data fields. Personally\nidentifying information includes, but is not limited to,\naddress, credit card number, social security number,\ndriver's license number, state-issued identification\nnumber, passport number, and card verification numbers\n(CVV, CVC2, CVV2, CID, CVN). In the event CyberSource\ndiscovers that a merchant is capturing and/or transmitting\npersonally identifying information via the auxiliary data\nfields, whether or not intentionally, CyberSource WILL\nimmediately suspend the merchant's account, which will\nresult in a rejection of any and all transaction requests\nsubmitted by the merchant after the point of suspension.\n"
+ },
+ "value": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "String value for the key"
+ }
+ }
+ }
+ }
+ }
+ },
+ "acquirerInformation": {
+ "type": "object",
+ "properties": {
+ "acquirerBin": {
+ "type": "string",
+ "maxLength": 11,
+ "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n"
+ },
+ "password": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Registered password for the Visa directory server.\n"
+ },
+ "merchantId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n"
+ },
+ "acquirerMerchantId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Acquirer assigned merchant id. Check if your processor supports this field.\n"
+ }
+ }
+ },
+ "recurringPaymentInformation": {
+ "type": "object",
+ "description": "This object contains recurring payment information.",
+ "required": [
+ "frequency",
+ "endDate"
+ ],
+ "properties": {
+ "endDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n"
+ },
+ "frequency": {
+ "type": "integer",
+ "maxLength": 4,
+ "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n"
+ },
+ "numberOfPayments": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "Total number of payments for the duration of the recurring subscription.\n"
+ },
+ "originalPurchaseDate": {
+ "type": "string",
+ "maxLength": 17,
+ "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n"
+ },
+ "sequenceNumber": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n"
+ },
+ "type": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n"
+ },
+ "occurrence": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n"
+ },
+ "validationIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n"
+ },
+ "amountType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n"
+ },
+ "maximumAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n"
+ },
+ "referenceNumber": {
+ "type": "string",
+ "maxLength": 35,
+ "description": "This will contain a unique reference number for the recurring payment transaction.\n"
+ }
+ }
+ },
+ "unscheduledPaymentInformation": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates the type of unscheduled payment. This field is required for unscheduled payments CIT/MIT Possible values:\n1: First unscheduled transaction.\n2: Subsequent unscheduled transaction.\n"
+ }
+ }
+ },
+ "hostedPaymentInformation": {
+ "type": "object",
+ "properties": {
+ "hostName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "The title of the hosted payment page, displayed in the browser's tab. If\nnot set, defaults to the title set in the merchant configuration.\n"
+ },
+ "ipAddress": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "URL of the merchant's logo to be displayed in Klarna's hosted payment\npage. If not set, defaults to the logo set in the merchant configuration.\n"
+ },
+ "userAgent": {
+ "type": "object",
+ "description": "The images to be used as background on Klarna's payment page (the\nimage best matching the resolution will be used). This is a pass-through\nfield. Check Klarna's documentation for more information about the correct\nformat. This value can also be set in the merchant configuration.\n",
+ "properties": {
+ "url": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Url for the image"
+ },
+ "width": {
+ "type": "integer",
+ "description": "Width of the image"
+ }
+ }
+ }
+ }
+ },
+ "watchlistScreeningInformation": {
+ "type": "object",
+ "properties": {
+ "addressOperator": {
+ "type": "string",
+ "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n"
+ },
+ "weights": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n"
+ },
+ "company": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n"
+ }
+ }
+ },
+ "sanctionLists": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ },
+ "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n"
+ },
+ "proceedOnMatch": {
+ "type": "boolean",
+ "description": "Indicates whether the transaction should proceed if there is a match.\nPossible values:\n- `true`: Transaction proceeds even when match is found in the Denied Parties List. The match is noted in the response.\n- `false`: Normal watchlist screening behavior occurs. (Transaction stops if a match to DPL occurs. Transaction proceeds if no match.)\n"
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "lastName": "VDP",
+ "address1": "201 S. Division St.",
+ "postalCode": "48104-2201",
+ "locality": "Ann Arbor",
+ "administrativeArea": "MI",
+ "firstName": "RTS",
+ "phoneNumber": "999999999",
+ "district": "MI",
+ "buildingNumber": "123",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "5555555555554444",
+ "securityCode": "123",
+ "expirationMonth": "12",
+ "type": "002"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Successful response.",
+ "schema": {
+ "title": "ptsV2PaymentsPost201Response",
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "reversal": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "capture": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "customer": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "paymentInstrument": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "shippingAddress": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "instrumentIdentifier": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ }
+ }
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "More information about the transaction response.\n"
+ },
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - AUTHORIZED\n - PARTIAL_AUTHORIZED\n - AUTHORIZED_PENDING_REVIEW\n - AUTHORIZED_RISK_DECLINED\n - PENDING_AUTHENTICATION\n - PENDING_REVIEW\n - DECLINED\n - INVALID_REQUEST\n"
+ },
+ "reconciliationId": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n"
+ },
+ "errorInformation": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - AVS_FAILED\n - CONTACT_PROCESSOR\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - INSUFFICIENT_FUND\n - STOLEN_LOST_CARD\n - ISSUER_UNAVAILABLE\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - EXCEEDS_CREDIT_LIMIT\n - INVALID_CVN\n - BLOCKED_BY_CARDHOLDER\n - DECLINED_CHECK\n - BLACKLISTED_CUSTOMER\n - SUSPENDED_ACCOUNT\n - PAYMENT_REFUSED\n - CV_FAILED\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - INVALID_MERCHANT_CONFIGURATION\n - DECISION_PROFILE_REJECT\n - SCORE_EXCEEDS_THRESHOLD\n - PENDING_AUTHENTICATION\n - ACH_VERIFICATION_FAILED\n - DECISION_PROFILE_REVIEW\n - CONSUMER_AUTHENTICATION_REQUIRED\n - CONSUMER_AUTHENTICATION_FAILED\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\n - CUSTOMER_WATCHLIST_MATCH\n - ADDRESS_COUNTRY_WATCHLIST_MATCH\n - EMAIL_COUNTRY_WATCHLIST_MATCH\n - IP_COUNTRY_WATCHLIST_MATCH\n - INVALID_MERCHANT_CONFIGURATION\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n"
+ },
+ "submitLocalDateTime": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n"
+ },
+ "ownerMerchantId": {
+ "type": "string",
+ "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "bankTransferOptions": {
+ "type": "object",
+ "properties": {
+ "settlementMethod": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n"
+ },
+ "fraudScreeningLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Level of fraud screening.\n\nPossible values:\n- `1`: Validation \u2014 default if the field has not already been configured for your merchant ID\n- `2`: Verification\n"
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "captureOptions": {
+ "type": "object",
+ "properties": {
+ "finalCapture": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Indicates whether you can make additional captures against the authorized payment.\nSet to true if you do not intend to capture additional payments against the authorization.\nSet to false if you intend to capture additional payments\nPossible Values:\n- `true`\n- `false`\n"
+ }
+ }
+ },
+ "authorizationOptions": {
+ "type": "object",
+ "properties": {
+ "serviceType": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Field is used for back-to-back funding transaction and can be defined as a payment flow that automatically transfers funds through a real-time \nfunding or a live-load. This type of transaction can also be connected to a purchase. \nIn back-to-back funding of general purpose card that is used to make a purchase, two separate accounts are involved: \n- account one is used to make the purchase\n- account two is used to automatically fund or reimburse account one\n\nPossible values:\n- 0B = back to back funding transaction\n- 00 = normal transaction\n- 01 = originator hold\n- 02 = Visa deferred OCT hold, default interval\n- 03 = Visa deferred OCT hold, user-defined interval\n- 09 = Cancel pending deferred OCT request\n- 0I = Visa Direct custom program 1\n- 0Q = uery the status of the deferred OCT\n- A0 = Alias Directory 2\n"
+ }
+ }
+ },
+ "purchaseOptions": {
+ "type": "object",
+ "properties": {
+ "eligibilityIndicator": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains installment data defined by MasterCard.\nPossible values:\n - Y = eligible\n - N = not eligile\n"
+ },
+ "type": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Data mapped received in response from MasterCard.\nPossible values:\n- 01 = Meal Voucher - Employee Nutrition Program\n- 02 = Food Voucher - Employee Nutrition Program\n- 03 = Culture Voucher - Worker's Culture Program\n- 04 = Meal Voucher - Consolidation of Labor Laws\n- 05 = Food Voucher - Consolidation of Labor Laws\n"
+ },
+ "benefitAmount": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Workplace benefit amount."
+ },
+ "benefitType": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Workplace benefit type.\nPossible values:\n- 70 = employee benefit\n- 4T = transportation / transit\n- 52 = general benefit\n- 53 = meal voucher\n- 54 = fuel\n- 55 = ecological / sustainability\n- 58 = philanthropy / patronage / consumption\n- 59 = gift\n- 5S = sport / culture\n- 5T = book / education\n"
+ }
+ }
+ }
+ }
+ },
+ "processorInformation": {
+ "type": "object",
+ "properties": {
+ "authIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - `0`: Preauthorization\n - `1`: Final authorization\n"
+ },
+ "approvalCode": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n"
+ },
+ "cardReferenceData": {
+ "type": "string",
+ "maxLength": 56,
+ "description": "The Scheme reference data is a variable length data element up to a maximum of 56 characters. It may be sent by the acquirer in the\nauthorisation response message, and by the terminal (unchanged) in subsequent authorisation request messages associated with the same\ntransaction.\nThis field is used by Streamline and HSBC UK only, at present.\n"
+ },
+ "transactionId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"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"
+ },
+ "responseCodeSource": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Used by Visa only and contains the response source/reason code that identifies the source of the response decision.\n"
+ },
+ "responseDetails": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n"
+ },
+ "responseCategoryCode": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "Processor-defined response category code. The associated detail error code is in the `processorInformation.responseCode` or `issuerInformation.responseCode`\nfield of the service you requested.\n\nThis field is supported only for:\n\n - Japanese issuers\n - Domestic transactions in Japan\n - Comercio Latino\u2014processor transaction ID required for troubleshooting\n\n#### Maximum length for processors\n\n - Comercio Latino: 36\n - All other processors: 3\n"
+ },
+ "forwardedAcquirerCode": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.\nPlease contact the CyberSource Japan Support Group for more information.\n"
+ },
+ "settlementDate": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day.\n"
+ },
+ "sequenceNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field serves as a unique identifier for initial and subsequent recurring transactions, specific to the payment brand, and is crucial for transaction tracking and recurrence management. Not all processors provide this value.\nReturned by the authorization service.\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"
+ },
+ "resultCodeRaw": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "CVN result code sent directly from the processor. Returned only when the processor returns this value.\n\n**Important** Do not use this field to evaluate the result of card verification. Use for debugging purposes only.\n"
+ }
+ }
+ },
+ "merchantAdvice": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "- Merchant should update their retry logic to ensure retry is not attempted for the cards for which Issuer won't approve the transactions and where the retry is allowed.\n- Card Processing Associations provides this data which is being passed through in the following data element irrespective of the Card Associations. Usage of this data must be always associated with the Card Associations card types for merchant processing retry logic.\n- In additions to the Merchant Advice code, Associations also provides the decline response codes which provides the reason for decline. Association response code will be a pass-through value.\n\n#### Processors supported:\n - HSBC\n - Barclays\n - FDC Nash\n - FDI Global\n - Elavon America\n - VPC\n - Rede\n - Payment tech Salem\n\n\n#### Possible values:\n| Card Type | Advice Code | Description |\n| ----------- | ------------- | ------------------------------------------- |\n| VISA | 1 | Issuer never approves |\n| VISA | 2 | Issuer cannot approve at this time |\n| VISA | 3 | Data quality/revalidate payment information |\n| MasterCard | 01 | New account information available |\n| MasterCard | 02 | Try Again Later |\n| MasterCard | 03 | Do Not Try Again |\n| MasterCard | 04 | Token not supported |\n| MasterCard | 21 | Do not honor |\n| MasterCard | 22 | Merchant does not qualify for product code |\n| MasterCard | 24 | Retry after 1 hour |\n| MasterCard | 25 | Retry after 24 hours |\n| MasterCard | 26 | Retry after 2 days |\n| MasterCard | 27 | Retry after 4 days |\n| MasterCard | 28 | Retry after 6 days |\n| MasterCard | 29 | Retry after 8 days |\n| MasterCard | 30 | Retry after 10 days |\n| MasterCard | 40 | Consumer non-reloadable prepaid card |\n| MasterCard | 41 | Consumer single-use virtual card number |\n| MasterCard | 42 | Sanctions score exceeds threshold value |\n| MasterCard | 99 | Do Not Try Again |\n"
+ },
+ "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"
+ }
+ }
+ },
+ "electronicVerificationResults": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Mapped Electronic Verification response code for the customer's name.\n"
+ },
+ "codeRaw": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Raw Electronic Verification response code from the processor for the customer's last name"
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Mapped Electronic Verification response code for the customer's email address.\n"
+ },
+ "emailRaw": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Raw Electronic Verification response code from the processor for the customer's email address."
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Mapped Electronic Verification response code for the customer's phone number.\n"
+ },
+ "phoneNumberRaw": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Raw Electronic Verification response code from the processor for the customer's phone number."
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Mapped Electronic Verification response code for the customer's postal code.\n"
+ },
+ "postalCodeRaw": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Raw Electronic Verification response code from the processor for the customer's postal code."
+ },
+ "street": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Mapped Electronic Verification response code for the customer's street address.\n"
+ },
+ "streetRaw": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Raw Electronic Verification response code from the processor for the customer's street address."
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "#### Visa Platform Connect\nMapped Electronic Verification response code for the customer's name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n"
+ },
+ "nameRaw": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "#### Visa Platform Connect\nRaw Electronic Verification response code from the processor for the customer's name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n"
+ },
+ "firstNameRaw": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "#### Visa Platform Connect\nRaw electronic verification response code from the processor for the customer's first name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n"
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "#### Visa Platform Connect\nMapped electronic verification response code from the processor for the customer's first name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n"
+ },
+ "middleNameRaw": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "#### Visa Platform Connect\nRaw electronic verification response code from the processor for the customer's middle name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n"
+ },
+ "middleName": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "#### Visa Platform Connect\nMapped electronic verification response code from the processor for the customer's middle name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n"
+ },
+ "lastNameRaw": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "#### Visa Platform Connect\nRaw electronic verification response code from the processor for the customer's last name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "#### Visa Platform Connect\nMapped electronic verification response code from the processor for the customer's last name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n"
+ }
+ }
+ },
+ "achVerification": {
+ "type": "object",
+ "properties": {
+ "resultCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Results from the ACH verification service.\n"
+ },
+ "resultCodeRaw": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Raw results from the ACH verification service.\n"
+ }
+ }
+ },
+ "customer": {
+ "type": "object",
+ "properties": {
+ "personalIdResult": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Personal identifier result. This field is supported only for Redecard in Brazil for CyberSource Latin\nAmerican Processing. If you included `buyerInformation.personalIdentification[].ID` in the request, this\nvalue indicates whether or not `buyerInformation.personalIdentification[].ID` matched a value in a record\non file. Returned only when the personal ID result is returned by the processor.\n\nPossible values:\n\n - `Y`: Match\n - `N`: No match\n - `K`: Not supported\n - `U`: Unknown\n - `Z`: No response returned\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America.The information in this field description is for the specific processing\nconnection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n"
+ }
+ }
+ },
+ "consumerAuthenticationResponse": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Mapped response code for Visa Secure and American Express SafeKey.\n"
+ },
+ "codeRaw": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Raw response code sent directly from the processor for Visa Secure and American Express SafeKey:\n"
+ }
+ }
+ },
+ "systemTraceAuditNumber": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "This field is returned only for **American Express Direct** and **CyberSource through VisaNet**.\nReturned by authorization and incremental authorization services.\n\n#### American Express Direct\n\nSystem trace audit number (STAN). This value identifies the transaction and is useful when investigating a\nchargeback dispute.\n\n#### CyberSource through VisaNet\n\nSystem trace number that must be printed on the customer's receipt.\n"
+ },
+ "paymentAccountReferenceNumber": {
+ "type": "string",
+ "maxLength": 32,
+ "description": "Visa-generated reference number that identifies a card-present transaction for which you provided one of the\nfollowing:\n\n - Visa primary account number (PAN)\n - Visa-generated token for a PAN\n\nThis reference number serves as a link to the cardholder account and to all transactions for that account.\nThis reply field is returned only for CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR8\n- Position: 79-110\n- Field: Payment Account Reference\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer,\nwho uses this information to facilitate end-of-day clearing processing with payment networks.\n"
+ },
+ "transactionIntegrityCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Transaction integrity classification provided by Mastercard. This value specifies Mastercard's evaluation of\nthe transaction's safety and security. This field is returned only for **CyberSource through VisaNet**.\n\nFor card-present transactions, possible values:\n\n - `A1`: EMV or token in a secure, trusted environment\n - `B1`: EMV or chip equivalent\n - `C1`: Magnetic stripe\n - `E1`: Key entered\n - `U0`: Unclassified\n\nFor card-not-present transactions, possible values:\n\n - `A2`: Digital transactions\n - `B2`: Authenticated checkout\n - `C2`: Transaction validation\n - `D2`: Enhanced data\n - `E2`: Generic messaging\n - `U0`: Unclassified\n\nFor information about these values, contact Mastercard or your acquirer.\n\n#### CyberSource through VisaNet\n\nThe value for this field corresponds to the following data in the TC 33 capture file,1:\n- Record: CP01 TCR6\n- Position: 136-137\n- Field: Mastercard Transaction Integrity Classification\n\n1 The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses\nthis information to facilitate end-of-day clearing processing with payment networks.\n"
+ },
+ "amexVerbalAuthReferenceNumber": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Referral response number for a verbal authorization with FDMS Nashville when using an American Express card.\nGive this number to American Express when you call them for the verbal authorization.\n"
+ },
+ "masterCardServiceCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Mastercard service that was used for the transaction. Mastercard provides this value to CyberSource.\n\nPossible value:\n - 53: Mastercard card-on-file token service\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 133-134\n- Field: Mastercard Merchant on-behalf service.\n**Note** This field is returned only for CyberSource through VisaNet.\n"
+ },
+ "masterCardServiceReplyCode": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource.\n\nPossible values:\n\n - `C`: Service completed successfully.\n - `F`: One of the following:\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or\n authorization reversal.\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request.\n - Token requestor ID is missing or formatted incorrectly.\n - `I`: One of the following:\n - Invalid token requestor ID.\n - Suspended or deactivated token.\n - Invalid token (not in mapping table).\n - `T`: Invalid combination of token requestor ID and token.\n - `U`: Expired token.\n - `W`: Primary account number (PAN) listed in electronic warning bulletin.\n\n**Note** This field is returned only for **CyberSource through VisaNet**.\n"
+ },
+ "masterCardAuthenticationType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Type of authentication for which the transaction qualifies as determined by the Mastercard authentication\nservice, which confirms the identity of the cardholder. Mastercard provides this value to CyberSource.\n\nPossible values:\n\n - `1`: Transaction qualifies for Mastercard authentication type 1.\n - `2`: Transaction qualifies for Mastercard authentication type 2.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 132\n- Field: Mastercard Member Defined service.\n**Note** This field is returned only for CyberSource through VisaNet.\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Name of the Processor.\n"
+ },
+ "routing": {
+ "type": "object",
+ "properties": {
+ "network": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "PIN Debit Services:\nContains the ID of the debit network to which the transaction was routed.\n\n| Code | Network |\n| --- | --- |\n| 0000 | Priority Routing or Generic File Update |\n| 0002 | Visa programs, Private Label and non-Visa Authorization Gateway Services |\n| 0003 | Interlink |\n| 0004 | Plus |\n| 0008 | Star |\n| 0009 | Pulse|\n| 0010 | Star |\n| 0011 | Star |\n| 0012 | Star (primary network ID) |\n| 0013 | AFFN |\n| 0015 | Star |\n| 0016 | Maestro |\n| 0017 | Pulse (primary network ID) |\n| 0018 | NYCE (primary network ID) |\n| 0019 | Pulse |\n| 0020 | Accel |\n| 0023 | NETS |\n| 0024 | CU24 |\n| 0025 | Alaska Option |\n| 0027 | NYCE |\n| 0028 | Shazam |\n| 0029 | EBT POS |\n\nFDC Nashville Global authorization service:\n\nIndicates whether the transaction was routed to a credit network, a debit network, or the STAR signature debit\nnetwork.\n- `C`: Credit network\n- `D`: Debit network (without signature)\n- `S`: STAR signature debit network\n"
+ },
+ "networkName": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Name of the network to which the transaction was routed.\n"
+ },
+ "customerSignatureRequired": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether you need to obtain the cardholder's signature.\n\nPossible values:\n- `Y`: You need to obtain the cardholder's signature.\n- `N`: You do not need to obtain the cardholder's signature.\n"
+ }
+ }
+ },
+ "merchantNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Identifier that was assigned to you by your acquirer. This value must be printed on the receipt.\n\n#### Returned by\nAuthorizations and Credits.\n\nThis reply field is only supported by merchants who have installed client software on their POS terminals and\nuse these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n"
+ },
+ "retrievalReferenceNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "#### Ingenico ePayments\nUnique number that CyberSource generates to identify the transaction. You can use this value to identify transactions in the Ingenico ePayments Collections Report, which provides settlement information. Contact customer support for information about the report.\n\n### CyberSource through VisaNet\nRetrieval request number.\n"
+ },
+ "paymentUrl": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Direct the customer to this URL to complete the payment."
+ },
+ "completeUrl": {
+ "type": "string",
+ "maxLength": 2048,
+ "description": "The redirect URL for forwarding the consumer to complete page. This redirect needed by PSP to track browser information of consumer.\nPSP then redirect consumer to merchant success URL.\n"
+ },
+ "signature": {
+ "type": "string"
+ },
+ "publicKey": {
+ "type": "string"
+ },
+ "sellerProtection": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The kind of seller protection in force for the transaction. This field is\nreturned only when the protection eligibility value is set to\nELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values\n- ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected\nagainst claims for items not received.\n- UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are\nprotected against claims for unauthorized payments.\nOne or both values can be returned.\n"
+ },
+ "eligibility": {
+ "type": "string",
+ "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"
+ }
+ }
+ },
+ "transactionExpiryDate": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "The date on which the transaction expires and payment cannot be made.\n"
+ },
+ "customUrl": {
+ "type": "string",
+ "description": "For merchants to declare customs\nCustoms declaration service URL.\n"
+ },
+ "schemeAssignedId": {
+ "type": "string",
+ "maxLength": 150,
+ "description": "Unique id assigned to a merchant by the APM and not PSP\nThe merchant ID, as boarded with Alipay\n"
+ },
+ "deviceUrl": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The QR code value. Convert this value into an image and send it to the POS terminal to be displayed. The terminal can also perform the conversion.\nThe value is a URL like in the example below:\nhttps://qr.alipay.com/pmxabcka1ts5grar12.\n"
+ },
+ "disbursementMode": {
+ "type": "string",
+ "description": "The funds are released to the merchant immediately.\nINSTANT\tThe funds are released to the merchant immediately.\nDELAYED\tThe funds are held for a finite number of days. The actual duration depends on the region and type of integration. You can release the funds through a referenced payout. Otherwise, the funds disbursed automatically after the specified duration.\n"
+ },
+ "updateTimeUtc": {
+ "type": "string",
+ "description": "The date and time when the transaction was last updated, in Internet date and time format.\n"
+ },
+ "expirationTimeUtc": {
+ "type": "string",
+ "description": "The date and time when the authorized payment expires, in Internet date and time format.\n"
+ },
+ "orderId": {
+ "type": "string",
+ "description": "The id of the order\n"
+ },
+ "orderStatus": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "The order status. \nPossible values:\n- `CREATED`\n- `VOIDED`\n- `COMPLETED`\n- `PAYER_ACTION_REQUIRED`\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"
+ }
+ }
+ },
+ "issuerInformation": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Country in which the card was issued. This information enables you to determine whether the card was issued\ndomestically or internationally. Use the two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\nThis field is supported for Visa, Mastercard, Discover, Diners Club, JCB, and Maestro (International) on Chase\nPaymentech Solutions.\n"
+ },
+ "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"
+ },
+ "countrySpecificDiscretionaryData": {
+ "type": "string",
+ "maxLength": 140,
+ "description": "Data defined by the issuer.\n\nThis national use field contains two subfields for information unique to the processing of Visa transactions by members in Japan.\nThis subfield contains the Katakana text to be printed on the receipt.\n"
+ },
+ "responseCode": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "This is the raw Association/Issuer Response Codes. You can use 'issuer/association' response codes to identify when you can retry to authorize a declined transaction and increase successful transaction volumes. You'll receive an association/issuer response code for the majority of transactions.\n\n#### Processors supported:\n - HSBC\n - FDC Nashville Global\n - SIX\n\nCurrently SIX is not receiving Association/Issuer Response Codes here it receives the additional authorization code that must be printed on the receipt when returned by the processor.\n\n#### Possible values:\n| Card Type | Response Code | Description |\n| ----------- | ------------- | ------------------------------------------------------------------------------ |\n| VISA | 000 | Successful approval/completion or that V.I.P. PIN verification is successful |\n| VISA | 001 | Refer to card issuer |\n| VISA | 002 | Refer to card issuer, special condition |\n| VISA | 003 | Invalid merchant or service provider |\n| VISA | 004 | Pickup card | \n| MasterCard | 000 | Approved or completed successfully |\n| MasterCard | 001 | Refer to card issuer |\n| MasterCard | 003 | Invalid merchant |\n| MasterCard | 004 | Capture card |\n| MasterCard | 005 | Do not honor |\n| AMEX | 000 | Approved |\n| AMEX | 001 | Approve with ID |\n| AMEX | 002 | Partial Approval (Prepaid Cards only) |\n| AMEX | 100 | Deny |\n| AMEX | 101 | Expired Card/Invalid Expiration Date |\n| Discover | 000 | Approved or completed successfully |\n| Discover | 001 | Reserved for future USE |\n| Discover | 002 | Reserved for future USE |\n| Discover | 003 | Invalid Merchant |\n| Discover | 004 | Capture Card |\n"
+ },
+ "pinRequestIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains value '1' which is sent by Issuer in the response when PIN is requested by issuer, \n\nThis field is only supported for Visa Platform Connect.\n"
+ }
+ }
+ },
+ "paymentAccountInformation": {
+ "type": "object",
+ "properties": {
+ "card": {
+ "type": "object",
+ "properties": {
+ "suffix": {
+ "type": "string",
+ "description": "Last four digits of the cardholder's account number. This field is included in the reply message when the client software\nthat is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details.\n\nYou must contact customer support to have your account enabled to receive these fields in the credit reply message.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### PIN debit\nThis field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder.\n\nReturned by PIN debit credit and PIN debit purchase.\n\nThis field is supported only by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n"
+ },
+ "prefix": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "hashedNumber": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "#### Visa Platform Connect\nThis API field will contain the SHA 256 hashed value of PAN.\n"
+ }
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "type": "object",
+ "properties": {
+ "card": {
+ "type": "object",
+ "properties": {
+ "suffix": {
+ "type": "string",
+ "description": "Last four digits of the cardholder's account number. This field is included in the reply message when the client software\nthat is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details.\n\nYou must contact customer support to have your account enabled to receive these fields in the credit reply message.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### PIN debit\nThis field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder.\n\nReturned by PIN debit credit and PIN debit purchase.\n\nThis field is supported only by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n"
+ },
+ "prefix": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n"
+ },
+ "hashedNumber": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "#### Visa Platform Connect\nThis API field will contain the SHA 256 hashed value of PAN.\n"
+ }
+ }
+ },
+ "tokenizedCard": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "First six digits of token. CyberSource includes this field in the reply message when it decrypts the payment\nblob for the tokenized transaction.\n"
+ },
+ "suffix": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Last four digits of token. CyberSource includes this field in the reply message when it decrypts the payment\nblob for the tokenized transaction.\n\nFor details, see `token_suffix` field description in [Google Pay Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Google_Pay_SCMP_API/html/)\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n"
+ },
+ "assuranceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n"
+ },
+ "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"
+ },
+ "requestorId": {
+ "type": "string",
+ "maxLength": 11,
+ "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n"
+ },
+ "assuranceMethod": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n"
+ }
+ }
+ },
+ "accountFeatures": {
+ "type": "object",
+ "properties": {
+ "accountType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Type of account. This value is returned only if you requested a balance inquiry. Possible values:\n\n - `00`: Not applicable or not specified\n - `10`: Savings account\n - `20`: Checking account\n - `30`: Credit card account\n - `40`: Universal account\n\n#### PIN debit\nType of account. This value is returned only if you requested a balance inquiry.\n\nPossible values:\n- `00`: Not applicable or not specified\n- `10`: Savings account\n- `20`: Checking account\n- `40`: Universal account\n- `96`: Cash benefits account\n- `98`: Food stamp account\n\nReturned by PIN debit purchase.\n"
+ },
+ "accountStatus": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Possible values:\n- `N`: Nonregulated\n- `R`: Regulated\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** This field is returned only for CyberSource through VisaNet.\n"
+ },
+ "balances": {
+ "type": "array",
+ "description": "This is an array of multiple balances information an issuer can return for a given card.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "accountType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Type of account.\n\nThis value is returned only if you request a balance inquiry.\n\nPossible values:\n\n - `00`: Not applicable or not specified\n - `10`: Savings account\n - `20`: Checking account\n - `30`: Credit card account\n - `40`: Universal account\n\nBalance Account Types returned on EBT Debit card transactions:\n\n - `96`: Cash Benefits Account (PIN Debit Gateway EBT only)\n - `98`: Food Stamp Account (PIN Debit Gateway EBT only)\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Remaining balance on the account. If the processor returns the sign, positive or negative, this sign is prefixed\nto the amount value as (+/-).\n"
+ },
+ "amountType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Type of amount. This value is returned only if you request a balance inquiry. The issuer determines the value\nthat is returned.\n\nPossible values for deposit accounts:\n\n - `01`: Current ledger (posted) balance.\n - `02`: Current available balance, which is typically the ledger balance minus outstanding authorizations. Some\n depository institutions also include pending deposits and the credit or overdraft line associated with the account.\n\nPossible values for credit card accounts:\n\n - `01`: Credit amount remaining for customer (open to buy).\n - `02`: Credit limit.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency of the remaining balance on the account.\n"
+ }
+ }
+ }
+ },
+ "balanceAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n"
+ },
+ "balanceAmountType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Type of amount. This value is returned only if you requested a balance inquiry. The issuer determines the value\nthat is returned. Possible values for deposit accounts:\n\n - `01`: Current ledger (posted) balance.\n - `02`: Current available balance, which is typically the ledger balance less outstanding authorizations.\n\nSome depository institutions also include pending deposits and the credit or overdraft line associated with the\naccount. Possible values for credit card accounts:\n\n - `01`: Credit amount remaining for customer (open to buy).\n - `02`: Credit limit.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Currency of the remaining balance on the account. For the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nReturned by authorization service.\n\n#### PIN debit\nCurrency of the remaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n"
+ },
+ "balanceSign": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Sign for the remaining balance on the account. Returned only when the processor returns this value. Possible values:\n\nPossible values:\n- `Positive`\n- `Negative`\n\n#### PIN debit\nSign for the remaining balance on the prepaid card. Returned only when the processor returns this value.\n\nReturned by PIN debit purchase.\n"
+ },
+ "affluenceIndicator": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "**Chase Paymentech Solutions**\n\nIndicates whether a customer has high credit limits. This information enables you to market high cost items to\nthese customers and to understand the kinds of cards that high income customers are using.\n\nThis field is supported for Visa, Mastercard, Discover, and Diners Club. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n\n#### Litle\n\nFlag that indicates that a Visa cardholder or Mastercard cardholder is in one of the affluent categories.\nPossible values:\n\n - `AFFLUENT`: High income customer with high spending pattern (>100k USD annual income and >40k USD annual\n card usage).\n - `MASS AFFLUENT`: High income customer (>100k USD annual income).\n\n Maximum length is 13.\n\n#### Chase Paymentech Solutions\n Maximum length is 1.\n"
+ },
+ "category": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "#### GPX\nMastercard product ID associated with the primary account number (PAN).\nReturned by authorization service.\n\n#### CyberSource through VisaNet\nVisa or Mastercard product ID that is associated with the primary account number (PAN).\nFor descriptions of the Visa product IDs, see the Product ID table on the [Visa\nRequest & Response Codes web page.](https://developer.visa.com/guides/request_response_codes)\n\nData Length: String (3)\n\n#### GPN\nVisa or Mastercard product ID that is associated with the primary account number (PAN).\nFor descriptions of the Visa product IDs, see the Product ID table on the\n[Visa Request & Response Codes web page.](https://developer.visa.com/guides/request_response_codes)\n\nData Length: String (3)\n\n#### Worldpay VAP\n**Important** Before using this field on Worldpay VAP,\nyou must contact CyberSource Customer Support to have\nyour account configured for this feature.\n\nType of card used in the transaction. The only possible value is:\n- `PREPAID`: Prepaid Card\n\nData Length: String (7)\n\n#### RBS WorldPay Atlanta\nType of card used in the transaction. Possible values:\n- `B`: Business Card\n- `O`: Noncommercial Card\n- `R`: Corporate Card\n- `S`: Purchase Card\n- `Blank`: Purchase card not supported\n\nData Length: String (1)\n"
+ },
+ "commercial": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is a commercial card, which enables you to include Level II data in your transaction\nrequests. This field is supported for Visa and Mastercard on **Chase Paymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "group": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Type of commercial card. This field is supported only for CyberSource through VisaNet. Possible values:\n\n - `B`: Business card\n - `R`: Corporate card\n - `S`: Purchasing card\n - `0`: Noncommercial card\n\nReturned by authorization service.\n"
+ },
+ "healthCare": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is a healthcare card. This field is supported for Visa and Mastercard on **Chase\nPaymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "payroll": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is a payroll card. This field is supported for Visa, Discover, Diners Club, and JCB\non **Chase Paymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "level3Eligible": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is eligible for Level III interchange fees, which enables you to include Level III\ndata in your transaction requests. This field is supported for Visa and Mastercard on **Chase Paymentech\nSolutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "pinlessDebit": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is a PINless debit card. This field is supported for Visa and Mastercard on **Chase\nPaymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "signatureDebit": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is a signature debit card.\n\nThis information enables you to alter the way an order is processed. For example, you might not want to reauthorize a transaction for a signature debit card, or you might\nwant to perform reversals promptly for a signature debit card. This field is supported for Visa, Mastercard, and\nMaestro (International) on Chase Paymentech Solutions. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "prepaid": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is a prepaid card. This information enables you to determine when a gift card or\nprepaid card is presented for use when establishing a new recurring, installment, or deferred billing\nrelationship.\n\nThis field is supported for Visa, Mastercard, Discover, Diners Club, and JCB on Chase Paymentech Solutions.\nPossible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "regulated": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the card is regulated according to the Durbin Amendment. If the card is regulated, the card\nissuer is subject to price caps and interchange rules. This field is supported for Visa, Mastercard, Discover,\nDiners Club, and JCB on Chase Paymentech Solutions. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n"
+ },
+ "accountHolderType": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "This is the account owner information, valid values are:\n- `01` : primary account holder\n- `02` : secondary account holder\nThis is returned in the response of an account verification transaction by the Issuer. \n"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "eWallet": {
+ "type": "object",
+ "properties": {
+ "fundingSource": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Payment mode for the reference transaction.\nPossible values:\n- `INSTANT_TRANSFER`\n- `MANUAL_BANK_TRANSFER`\n- `DELAYED_TRANSFER`\n- `ECHECK`\n"
+ },
+ "accountId": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval.\n"
+ }
+ }
+ }
+ }
+ },
+ "paymentInsightsInformation": {
+ "type": "object",
+ "properties": {
+ "responseInsights": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Categorization of response message from processor\n\nPossible Values:\n- `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"
+ }
+ }
+ }
+ }
+ },
+ "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": {
+ "level3TransmissionStatus": {
+ "type": "boolean",
+ "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n"
+ },
+ "salesSlipNumber": {
+ "type": "integer",
+ "maximum": 99999,
+ "description": "Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt.\nThis field is supported only on Cybersource through Visanet and JCN gateway.\n\nOptional field.\n\n#### Card Present processing message\nIf you included this field in the request, the returned value is the value that you sent in the request.\nIf you did not include this field in the request, the system generated this value for you.\n\nThe difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the\nsystem generates the system trace audit number (STAN), and you must print the receipt number on the receipt;\nwhereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt.\n"
+ }
+ }
+ },
+ "rewardPointsDetails": {
+ "type": "object",
+ "properties": {
+ "pointsBeforeRedemption": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Loyalty points total balance before redemption.\nFor Example: Points, such as 100\n"
+ },
+ "pointsValueBeforeRedemption": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "The total value of loyalty points before redemption in the default currency. Max characters is 12 excluding the \".\" symbol\nFor Example: Points, such as 20.00\n"
+ },
+ "pointsRedeemed": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Number of loyalty points that were redeemed.\nFor Example: Points, such as 100\n"
+ },
+ "pointsValueRedeemed": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "The value of the loyalty points that were redeemed in the default currency. Max characters is 12 excluding the \".\" symbol\nFor Example: Points, such as 100.00\n"
+ },
+ "pointsAfterRedemption": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Loyalty Points remaining total balance after redemption.\nFor Example: Points, such as 20.00\n"
+ },
+ "pointsValueAfterRedemption": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "The value of the remaining loyalty points after redumption in the default currency. Max characters is 12 excluding the \".\" symbol\nFor Example: Points, such as 20.00\n"
+ }
+ }
+ },
+ "billTo": {
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string"
+ },
+ "lastName": {
+ "type": "string"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "First line of the billing street address.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Second line of the billing street address.\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "City of the billing address.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. \nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: 12345-6789\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: A1B 2C3\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States and Canada.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Country of the billing address. Use the two-character ISO Standard Country Codes.\n"
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "Email address of the customer.\n"
+ },
+ "alternatePhoneNumberVerificationStatus": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "#### Visa Platform Connect\nContains one of the following values that will identify the phone number result code in the account verification response message:\n\n'VERIFIED' - Customer verified\n\n'UNVERIFIED' - Customer not verified\n\n'FAILED' - Customer verification failed\n"
+ },
+ "alternateEmailVerificationStatus": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "#### Visa Platform Connect\nContains one of the following values that will identify the phone number result code in the account verification response message:\n\n'VERIFIED' - Customer verified\n\n'UNVERIFIED' - Customer not verified\n\n'FAILED' - Customer verification failed\n"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "nameSuffix": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Customer's name suffix.\n"
+ }
+ }
+ },
+ "shipTo": {
+ "type": "object",
+ "properties": {
+ "firstname": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "First name of the recipient.\n"
+ },
+ "lastname": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Last name of the recipient.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "First line of the shipping address.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Second line of the shipping address.\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "City of the shipping address.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 40,
+ "description": "State or province of shipping address. This is a State, Province, and Territory Codes for the United States and Canada.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Postal code of the shipping address. Consists of 5 to 9 digits.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Country of shipping address. This is a two-character ISO Standard Country Codes.\n"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Phone number of the recipient.\n"
+ }
+ }
+ }
+ }
+ },
+ "pointOfSaleInformation": {
+ "type": "object",
+ "properties": {
+ "emv": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "string",
+ "maxLength": 1998,
+ "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n"
+ },
+ "chipValidationType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Entity or service that provided the validation results returned in `chipValidationResult`.\n\nPossible values:\n - `02`: MasterCard on-behalf pre-validation service (The MasterCard authorization platform validated the M/Chip cryptogram before the authorization request reached the issuer.)\n - `03`: MasterCard on-behalf stand-in service (The MasterCard authorization platform validated the M/Chip cryptogram because the issuer was not available.)\n - `50`: Issuer\n - `90`: Chip fall-back transaction downgrade process (The chip could not be read.)\n\nThis field is returned only for NFC payment network tokenization transactions with MasterCard.\n\n**Note** No CyberSource through VisaNet acquirers support EMV at this time.\n"
+ },
+ "chipValidationResult": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Cryptogram validation results returned by the entity or service specified in `chipValidationType`.\n\nPossible values:\n- `A`: Application cryptogram is valid, but the application transaction counter (ATC) is outside allowed range. (A large jump in ATC values may indicate data copying or other fraud.)\n- `C`: Chip validation was completed successfully.\n- `E`: Application cryptogram is valid but the ATC indicates possible replay fraud.\n- `F`: Format error in the chip data.\n- `G`: Application cryptogram is valid but is not a valid authorization request cryptogram (ARQC).\n- `I`: Application cryptogram is invalid.\n- `T`: Application cryptogram is valid but terminal verification results (TVR) or card verification results (CVR) are invalid.\n- `U`: Application cryptogram could not be validated because of a technical error.\n\nThis field is returned only for NFC payment network tokenization transactions with MasterCard.\n\n**Note** No CyberSource through VisaNet acquirers support EMV at this time.\n"
+ }
+ }
+ },
+ "amexCapnData": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n"
+ },
+ "terminalId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n"
+ }
+ }
+ },
+ "installmentInformation": {
+ "type": "object",
+ "properties": {
+ "additionalCosts": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Additional costs charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\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"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "minimumTotalCount": {
+ "type": "string",
+ "maximum": 99,
+ "description": "\"Minimum number of installments offered by the issuer for this purchase. The issuer provides this value when the first installment payment is successful.\nThis field is supported for installment payments with Mastercard on CyberSource through VisaNet in all countries except Brazil, Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 75-76\n- Field: Mastercard Minimum Number Of Installments\n"
+ },
+ "maximumTotalCount": {
+ "type": "string",
+ "maximum": 99,
+ "description": "Maximum number of installments offered by the issuer for this purchase. The issuer provides this value when the first installment payment is successful.\nThis field is supported for installment payments with Mastercard on CyberSource through VisaNet in all countries except Brazil, Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR5\n- Position: 77-78\n- Field: Mastercard Maximum Number Of Installments\n"
+ },
+ "firstInstallmentAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n"
+ },
+ "firstInstallmentDate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n"
+ }
+ }
+ },
+ "tokenInformation": {
+ "type": "object",
+ "properties": {
+ "instrumentidentifierNew": {
+ "type": "boolean",
+ "description": "A value of true means the card number or bank account used to create an Instrument Identifier was new and did not already exist in the token vault.\nA value of false means the card number or bank account used to create an Instrument Identifier already existed in the token vault.\n"
+ },
+ "customer": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Customer token that was created as part of a bundled TOKEN_CREATE action.\n",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ }
+ },
+ "paymentInstrument": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Payment Instrument token that was created as part of a bundled TOKEN_CREATE action.\n",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ }
+ },
+ "shippingAddress": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Customers Shipping Address token that was created as part of a bundled TOKEN_CREATE action.\n",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ }
+ },
+ "instrumentIdentifier": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Instrument Identifier token that was created as part of a bundled TOKEN_CREATE action.\n",
+ "minLength": 12,
+ "maxLength": 32
+ },
+ "state": {
+ "type": "string",
+ "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n"
+ }
+ }
+ }
+ }
+ },
+ "buyerInformation": {
+ "type": "object",
+ "properties": {
+ "merchantCustomerId": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n"
+ },
+ "dateOfBirth": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n"
+ },
+ "vatRegistrationNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "taxId": {
+ "type": "string",
+ "description": "The description for this field is not available."
+ },
+ "loginId": {
+ "type": "string",
+ "maxLength": 64,
+ "description": "The buyer's Alipay login Id, the id might be an email or mobile number. The id is partially masked for privacy. cao***@126.com or 186***22156\n"
+ }
+ }
+ },
+ "riskInformation": {
+ "type": "object",
+ "description": "Contains the result of risk assessment.",
+ "properties": {
+ "profile": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n"
+ },
+ "desinationQueue": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the queue where orders that are not automatically accepted are sent.\n"
+ },
+ "selectorRule": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the profile selector rule that chooses the profile to use for the\ntransaction. If no profile selector exists, the value is Default Active Profile.\n"
+ }
+ }
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Description of the rule as it appears in the Profile Editor."
+ },
+ "decision": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Summarizes the result for the rule according to the setting that you chose in the Profile Editor.\nThis field can contain one of the following values:\n- `IGNORE`\n- `REVIEW`\n- `REJECT`\n- `ACCEPT`\n"
+ }
+ }
+ }
+ },
+ "infoCodes": {
+ "type": "object",
+ "properties": {
+ "velocity": {
+ "type": "array",
+ "description": "List of information codes triggered by the order. These information codes were generated when you created\nthe order and product velocity rules and are returned so that you can associate them with the rules.\n",
+ "items": {
+ "type": "string",
+ "description": "Indicates excessive volume of transactions."
+ }
+ },
+ "address": {
+ "type": "array",
+ "description": "Indicates a mismatch between the customer's billing and shipping addresses.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "customerList": {
+ "type": "array",
+ "description": "Indicates that customer information is associated with transactions that are either on the negative or\nthe positive list.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "deviceBehavior": {
+ "type": "array",
+ "description": "Indicates the device behavior information code(s) returned from device fingerprinting.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "identityChange": {
+ "type": "array",
+ "description": "Indicates excessive identity changes. The threshold is variable depending on the identity elements being\ncompared.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "internet": {
+ "type": "array",
+ "description": "Indicates a problem with the customer's email address, IP address, or billing address.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "phone": {
+ "type": "array",
+ "description": "Indicates a problem with the customer's phone number.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "suspicious": {
+ "type": "array",
+ "description": "Indicates that the customer provided potentially suspicious information.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "globalVelocity": {
+ "type": "array",
+ "description": "Indicates that the customer has a high purchase frequency.\n",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "velocity": {
+ "type": "object",
+ "properties": {
+ "morphing": {
+ "type": "array",
+ "description": "List of information codes triggered by the order. These information codes were generated when you created the order and product velocity rules and are returned so that you can associate them with the rules.\n\nReturned by scoring service.\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "maxLength": 5,
+ "description": "Morphing count specified by the number #.\n\n**Note** The count is not returned for the initial transaction.\n"
+ },
+ "fieldName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Field name of the morphing element. specified by the setting that you chose in the\nVelocity Editor.\n\nFor all possible values, see the `decisionReply_morphingElement_#_fieldName` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "informationCode": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Identifier that CyberSource assigned to the velocity rule specified by the number #.\n\nFor all possible values, see the `decision_velocity_morphing_#_info_code` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > \n"
+ }
+ }
+ }
+ },
+ "address": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Indicates a mismatch between the customer's billing and shipping addresses.\n\nFor all possible values, see the `score_address_info` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ }
+ }
+ }
+ },
+ "casePriority": {
+ "type": "integer",
+ "maxLength": 1,
+ "description": "You receive this field only if you subscribe to the Enhanced Case Management service. The priority level ranges from 1 (highest) to 5 (lowest); the default value is 3. If you do not assign a priority to your rules or to your profiles, the default value is given to the order.\n\nFor all possible values, see the `decision_case_priority` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "localTime": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "The customer's local time (`hh:mm:ss`), which is calculated from the transaction request time and the\ncustomer's billing address.\n\nFor details, see the `score_time_local` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/)\n"
+ },
+ "score": {
+ "type": "object",
+ "properties": {
+ "factorCodes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "This field contains information that affected the score of the order.\nThis field will contain one or more codes, separated by carets (^).\n\nFor all possible values, see the `score_factors` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ }
+ },
+ "modelUsed": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the score model used for the transaction. If you did not include a custom model in your request,\nthis field contains the name of CyberSource's default model.\n\nFor all possible values, see the `score_model_used` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "result": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Total score calculated for this order. The value cannot be negative.\n\nFor all possible values, see the `score_score_result` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ }
+ }
+ },
+ "ipAddress": {
+ "type": "object",
+ "description": "Contains detailed response information about the customer's IP address.",
+ "properties": {
+ "anonymizerStatus": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Indicates whether the transaction IP address is associated with a known anonymous proxy.\n\nFor all possible values, see the `score_ip_anonymizer_status` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the city decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_city` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the country decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_country` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the state decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_state` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "routingMethod": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Routing method decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_routing_method` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n"
+ },
+ "carrier": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Provides the name of the organization that owns the ASN. The carrier is responsible for the traffic carried on the network or set of networks designated as an Autonomous System (AS) and identified by the ASN.\nWhile there are more than 27,000 active ASNs, there are fewer carriers, because a single carrier often manages several ASNs.\n"
+ },
+ "organization": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "The Registering Organization is the entity responsible for the actions and content associated with a given block of IP addresses. This is in contrast to the carrier, which is responsible for the routing of traffic for network blocks. Registering Organizations include many types of entities, including corporate, government, or educational entities, and ISPs managing the allocation and use of network blocks.\n"
+ }
+ }
+ },
+ "providers": {
+ "type": "object",
+ "description": "Name of the 3rd party provider, for example, Emailage.\nFor all possible values, see the `decision_provider_#_name` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).",
+ "additionalProperties": {
+ "type": "object",
+ "description": "Field name, for example, email address domain name (domain_name).\n\nFor all possible values, see the `decision_provider_#_field_#_name` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "travel": {
+ "type": "object",
+ "properties": {
+ "actualFinalDestination": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "Country of actual final destination on the route."
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "City of actual final destination on the route."
+ },
+ "latitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Latitude of actual final destination on the route."
+ },
+ "longitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Longitude of actual final destination on the route."
+ }
+ }
+ },
+ "firstDeparture": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "Country of first departure on the route."
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "City of first departure on the route."
+ },
+ "latitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Latitude of first departure on the route."
+ },
+ "longitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Longitude of first departure on the route."
+ }
+ }
+ },
+ "firstDestination": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "Country of first destination on the route."
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "City of first destination on the route."
+ },
+ "latitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Latitude of first destination on the route."
+ },
+ "longitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Longitude of first destination on the route."
+ }
+ }
+ },
+ "lastDestination": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "Country of last destination on the route."
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 90,
+ "description": "City of last destination on the route."
+ },
+ "latitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Latitude of last destination on the route."
+ },
+ "longitude": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Longitude of last destination on the route."
+ }
+ }
+ }
+ }
+ },
+ "processorResults": {
+ "type": "object",
+ "properties": {
+ "fraudDecision": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Type of filter. Possible values:\n- ACCEPT\n- PENDING\n- DENY\n- REPORT\n"
+ },
+ "fraudDecisionReason": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "possible values\n- AVS_NO_MATCH\n- AVS_PARTIAL_MATCH\n- AVS_UNAVAILABLE_OR_UNSUPPORTED\n- CARD_SECURITY_CODE_MISMATCH\n- MAXIMUM_TRANSACTION_AMOUNT\n- UNCONFIRMED_ADDRESS\n- COUNTRY_MONITOR\n- LARGE_ORDER_NUMBER\n- BILLING_OR_SHIPPING_ADDRESS_MISMATCH\n- RISKY_ZIP_CODE\n- SUSPECTED_FREIGHT_FORWARDER_CHECK\n- TOTAL_PURCHASE_PRICE_MINIMUM\n- IP_ADDRESS_VELOCITY\n- RISKY_EMAIL_ADDRESS_DOMAIN_CHECK\n- RISKY_BANK_IDENTIFICATION_NUMBER_CHECK,\nRISKY_IP_ADDRESS_RANGE\n- PAYPAL_FRAUD_MODEL\n"
+ }
+ }
+ }
+ }
+ },
+ "consumerAuthenticationInformation": {
+ "type": "object",
+ "properties": {
+ "accessToken": {
+ "type": "string",
+ "description": "JSON Web Token (JWT) used to authenticate the consumer with the authentication provider, such as, CardinalCommerce or Rupay.\nNote - Max Length of this field is 2048 characters.\n"
+ },
+ "acsRenderingType": {
+ "type": "string",
+ "description": "Identifies the UI Type the ACS will use to complete the challenge. **NOTE**: Only available for App transactions using the Cardinal Mobile SDK.\n"
+ },
+ "acsTransactionId": {
+ "type": "string",
+ "maxLength": 36,
+ "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n"
+ },
+ "acsUrl": {
+ "type": "string",
+ "maxLength": 2048,
+ "description": "URL for the card-issuing bank's authentication form that you receive when the card is enrolled.\nThe value can be very large.\n"
+ },
+ "authenticationPath": {
+ "type": "string",
+ "description": "Indicates what displays to the customer during the authentication process.\nThis field can contain one of these values:\n- `ADS`: (Card not enrolled) customer prompted to activate the card during the checkout process.\n- `ATTEMPTS`: (Attempts processing) Processing briefly displays before the checkout process is completed.\n- `ENROLLED`: (Card enrolled) the card issuer's authentication window displays.\n- `UNKNOWN`: Card enrollment status cannot be determined.\n- `NOREDIRECT`: (Card not enrolled, authentication unavailable, or error occurred) nothing displays to the customer.\n\nThe following values can be returned if you are using rules-based payer authentication.\n- `RIBA`: The card-issuing bank supports risk-based authentication, but whether the cardholder is likely\nto be challenged cannot be determined.\n- `RIBA_PASS`: The card-issuing bank supports risk-based authentication and it is likely that the\ncardholder will not be challenged to provide credentials, also known as _silent authentication_.\n"
+ },
+ "authorizationPayload": {
+ "type": "string",
+ "description": "The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow\n"
+ },
+ "authenticationTransactionId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Payer authentication transaction identifier is used to link the check\nenrollment and validate authentication messages. For Rupay, this field should be passed as request only for Resend OTP use case.\n"
+ },
+ "cardholderMessage": {
+ "type": "string",
+ "maxLength": 128,
+ "description": "Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction.The Issuer can provide information to Cardholder.\nFor example, \"Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.\".\nThe Issuing Bank can optionally support this value.\n"
+ },
+ "cavv": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n"
+ },
+ "cavvAlgorithm": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Field that is returned only when the CAVV is generated, which occurs when paresStatus\ncontains the values Y (successful authentication) or A (attempted authentication). If\nyou use the ATOS processor, send the value of this field in the `cavv_algorithm` request field of the\nauthorization service. This field contains one of these values:\n- `2`: Visa, American Express, JCB, Diners Club, and Discover\n- `3`: Mastercard\n"
+ },
+ "challengeCancelCode": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n"
+ },
+ "challengeRequired": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether a challenge is required in order to complete authentication.\n**Note** Regional mandates might determine that a challenge is required.\n\nPossible values:\n- `Y`: Challenge required\n- `N`: Challenge not required\n**Note** Used by the Hybrid integration.\n"
+ },
+ "decoupledAuthenticationIndicator": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n"
+ },
+ "directoryServerErrorCode": {
+ "type": "string",
+ "description": "The directory server error code indicating a problem with this transaction. Note - Max Length of this field is typically 3 characters.\n"
+ },
+ "directoryServerErrorDescription": {
+ "type": "string",
+ "maxLength": 4096,
+ "description": "Directory server text and additional detail about the error for this transaction.\n"
+ },
+ "ecommerceIndicator": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Commerce indicator for cards not enrolled. This field contains one of these values:\n- `internet`: Card not enrolled, or card type not supported by payer authentication. No liability shift.\n- `js_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `js_failure`: J/Secure directory service is not available. No liability shift.\n- `spa`: Mastercard card not enrolled in the SecureCode program. No liability shift.\n- `vbv_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `vbv_failure`: For payment processor Barclays, Streamline, AIBMS, or FDC Germany, you receive\nthis result if Visa's directory service is not available. No liability shift.\n"
+ },
+ "eci": {
+ "type": "string",
+ "description": "Note This field applies only to non-U.S-issued cards.\n\nFor enroll, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions when the card is not enrolled. For more information, see\n\"Interpreting the Reply,\" page 22.\n\nIf you are not using the CyberSource payment services, you must send this value to your payment\nprocessor in the subsequent request for card authorization. This field contains one of these values:\n- `06`: The card can be enrolled. Liability shift.\n- `07`: The card cannot be enrolled. No liability shift.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions. The field is absent when authentication fails.\nYou must send this value to your payment processor in the subsequent request for card authorization.\nThis field contains one of these values:\n- `05`: Successful authentication\n- `06`: Authentication attempted\n- `07`: Failed authentication (No response from the merchant because of a problem.)\n"
+ },
+ "eciRaw": {
+ "type": "string",
+ "description": "ECI value that can be returned for Visa, Mastercard, American Express, JCB, Diners Club, and Discover.\nThe field is absent when authentication fails. If your payment processor is Streamline, you must pass the\nvalue of this field instead of the value of `eci` or `ucafCollectionIndicator`.\n\nThis field can contain one of these values:\n- `01`: Authentication attempted (Mastercard)\n- `02`: Successful authentication (Mastercard)\n- `05`: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover)\n- `06`: Authentication attempted (Visa, American Express, JCB, Diners Club, and Discover)\n"
+ },
+ "effectiveAuthenticationType": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n"
+ },
+ "ivr": {
+ "type": "object",
+ "properties": {
+ "enabledMessage": {
+ "type": "boolean",
+ "description": "Flag to indicate if a valid IVR transaction was detected.\n"
+ },
+ "encryptionKey": {
+ "type": "string",
+ "maxLength": 16,
+ "description": "Encryption key to be used in the event the ACS requires encryption of the credential field.\n"
+ },
+ "encryptionMandatory": {
+ "type": "boolean",
+ "description": "Flag to indicate if the ACS requires the credential to be encrypted.\n"
+ },
+ "encryptionType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "An indicator from the ACS to inform the type of encryption that should be used in the event the ACS requires encryption of the credential field.\n"
+ },
+ "label": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "An ACS Provided label that can be presented to the Consumer. Recommended use with an application.\n"
+ },
+ "prompt": {
+ "type": "string",
+ "maxLength": 80,
+ "description": "An ACS provided string that can be presented to the Consumer. Recommended use with an application.\n"
+ },
+ "statusMessage": {
+ "type": "string",
+ "maxLength": 80,
+ "description": "An ACS provided message that can provide additional information or details.\n"
+ }
+ }
+ },
+ "strongAuthentication": {
+ "type": "object",
+ "properties": {
+ "issuerInformation": {
+ "type": "object",
+ "title": "paymentsStrongAuthIssuerInformation",
+ "properties": {
+ "riskAnalysisExemptionResult": {
+ "type": "string",
+ "maxLength": 80,
+ "description": "Possible values: Visa Platform Connect\n- `8401` Merchant not participating in Visa Trusted Listing Program.\n- `8402` Issuer not participating in Visa Trusted Listing Program.\n- `8403` Cardholder has not trusted the merchant (supplied by Visa Net).\n- `8404` Indeterminate or invalid issuer response.\n- `8473` Cardholder has not trusted the merchant (issuer-supplied).\n- `8474` Did not meet the exemption criteria (issuer-supplied).\n\nUpto 20 Values may be received in a transaction.\n"
+ },
+ "trustedMerchantExemptionResult": {
+ "type": "string",
+ "maxLength": 4,
+ "description": "Possible values: Visa Platform Connect\n- `2` Trusted merchant exemption validated/honored.\n- `3` Trusted merchant exemption failed validation/not honored.\n"
+ },
+ "lowValueExemptionResult": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This will be the value returned by Visanet when low value exemption has been requested.\n\nValid values: Visa Platform Connect\n- `2` Low value exemption validated/honored\n- `3` Low value exemption failed validation/not honored\n"
+ },
+ "secureCorporatePaymentResult": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This will be the value returned by Visanet when secure corporate payment (scp) exemption has been requested.\n\nValid values: Visa Platform Connect\n- `2` Secure corporate payment exemption validated/honored\n- `3` Secure corporate payment exemption failed validation/not honored\n"
+ },
+ "transactionRiskAnalysisExemptionResult": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This will be the value returned by Visanet when transaction risk analysis (TRA) exemption has been requested.\n\n Valid values: Visa Platform Connect\n - `2` transaction risk analysis (TRA) exemption validated/honored\n - `3` transaction risk analysis (TRA) exemption failed validation/not honored\n"
+ },
+ "delegatedAuthenticationResult": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This will be the value returned by Visanet when delegated authentication has been requested.\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"
+ },
+ "dataQualityIndicator": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "The field is used to indicate that a transaction does not meet the Visa Secure authentication data quality requirements."
+ },
+ "authenticationResult": {
+ "type": "string",
+ "description": "Raw authentication data that comes from the cardissuing bank. Primary authentication field that\nindicates if authentication was successful and if liability shift occurred. You should examine first the\nresult of this field. This field contains one of these values:\n- `-1`: Invalid PARes.\n- `0`: Successful validation.\n- `1`: Cardholder is not participating, but the attempt to authenticate was recorded.\n- `6`: Issuer unable to perform authentication.\n- `9`: Cardholder did not complete authentication.\n"
+ },
+ "authenticationStatusMsg": {
+ "type": "string",
+ "description": "Message that explains the authenticationResult reply field.\n"
+ },
+ "indicator": {
+ "type": "string",
+ "description": "Indicator used to differentiate Internet transactions from other types. The authentication failed if this field\nis not returned. For Visa, if your payment processor is Streamline, Barclays, AIBMS, or FDC Germany,\nyou receive the value vbv_failure instead of internet when eci is 07.\nThe value of this field is passed automatically to the authorization service if you request the services\ntogether. This field contains one of these values:\n- `aesk`: American Express SafeKey authentication verified successfully.\n- `aesk_attempted`: Card not enrolled in American Express SafeKey, but the attempt to authenticate was recorded.\n- `dipb`: Discover ProtectBuy authentication verified successfully.\n- `dipb_attempted`: Card not enrolled in Discover ProtectBuy, but the attempt to authenticate was recorded.\n- `internet`: Authentication was not verified successfully.\n- `js`: J/Secure authentication verified successfully.\n- `js_attempted`: Card not enrolled in J/Secure, but the attempt to authenticate was recorded.\n- `moto`: Mail or telephone order.\n- `pb_attempted`: Card not enrolled in Diners Club ProtectBuy, but the attempt to authenticate was recorded.\n- `recurring`: Recurring transaction.\n- `spa`: Mastercard Identity Check authentication verified successfully.\n- `spa_failure`: Mastercard Identity Check failed authentication.\n- `vbv`: Visa Secure authentication verified successfully.\n- `vbv_attempted`: Card not enrolled in Visa Secure, but the attempt to authenticate was recorded.\n- `vbv_failure`: Visa Secure authentication unavailable.\n"
+ },
+ "interactionCounter": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Indicates the number of authentication cycles attempted by the cardholder and is tracked by the Issuing Banks ACS.Example: if customer gets the challenge window and enter in their one time password and hit submit then that interaction counter should just be 1.\nWhen customer gets the challenge window and the bank asks if they want to have the one time password sent to their phone or their email and they have to choose before going to the next screen to enter in their one time password then this interaction count would be 2.\nOne for the selection of how they want the one time password delivered and another with them actually entering in the one time password and hitting the submit button.\n"
+ },
+ "whiteListStatus": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n"
+ }
+ }
+ },
+ "merchantInformation": {
+ "type": "object",
+ "properties": {
+ "merchantName": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Use this field only if you are requesting payment with Payer Authentication serice together.\n\nYour company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n"
+ },
+ "merchantDescriptor": {
+ "type": "object",
+ "properties": {
+ "storeId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The identifier of the store.\n"
+ },
+ "storeName": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The name of the store.\n"
+ }
+ }
+ },
+ "returnUrl": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 7,
+ "description": "URL for displaying payment results to the consumer (notifications) after the transaction is processed. Usually this URL belongs to merchant and its behavior is defined by merchant\n"
+ }
+ }
+ },
+ "embeddedActions": {
+ "type": "object",
+ "description": "Contains embedded actions, that includes status and response for every actions in the list.",
+ "properties": {
+ "CAPTURE": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - PENDING\n - TRANSMITTED (Only for Online Capture enabled merchants)\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - EXCEEDS_AUTH_AMOUNT\n - AUTH_ALREADY_REVERSED\n - TRANSACTION_ALREADY_SETTLED\n - INVALID_AMOUNT\n - MISSING_AUTH\n - TRANSACTION_ALREADY_REVERSED_OR_SETTLED\n - NOT_SUPPORTED\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ }
+ }
+ },
+ "DECISION": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - `ACCEPTED`\n - `REJECTED`\n - `PENDING_REVIEW`\n - `DECLINED`\n - `PENDING_AUTHENTICATION`\n - `INVALID_REQUEST`\n - `AUTHENTICATION_FAILED`\n - `CHALLENGE`\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - `EXPIRED_CARD`\n - `SCORE_EXCEEDS_THRESHOLD`\n - `DECISION_PROFILE_REVIEW`\n - `DECISION_PROFILE_REJECT`\n - `CONSUMER_AUTHENTICATION_REQUIRED`\n - `INVALID_MERCHANT_CONFIGURATION`\n - `CONSUMER_AUTHENTICATION_FAILED`\n - `DECISION_PROFILE_CHALLENGE`\n - `CUSTOMER_WATCHLIST_MATCH`\n - `ADDRESS_COUNTRY_WATCHLIST_MATCH`\n - `EMAIL_COUNTRY_WATCHLIST_MATCH`\n - `IP_COUNTRY_WATCHLIST_MATCH`\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ }
+ }
+ },
+ "CONSUMER_AUTHENTICATION": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\n- `AUTHENTICATION_FAILED`\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status. Possible values are:\n- `INVALID_MERCHANT_CONFIGURATION`\n- `CONSUMER_AUTHENTICATION_REQUIRED`\n- `CONSUMER_AUTHENTICATION_FAILED`\n- `AUTHENTICATION_FAILED`\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The message describing the reason of the status. Value is:\n- Encountered a Payer Authentication problem. Payer could not be authenticated.\n"
+ }
+ }
+ },
+ "VALIDATE_CONSUMER_AUTHENTICATION": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\n- `AUTHENTICATION_FAILED`\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status. Possible values are:\n- `INVALID_MERCHANT_CONFIGURATION`\n- `CONSUMER_AUTHENTICATION_REQUIRED`\n- `CONSUMER_AUTHENTICATION_FAILED`\n- `AUTHENTICATION_FAILED`\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The message describing the reason of the status. Value is:\n- Encountered a Payer Authentication problem. Payer could not be authenticated.\n"
+ }
+ }
+ },
+ "WATCHLIST_SCREENING": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status for the call can be:\n- COMPLETED\n- INVALID_REQUEST\n- DECLINED\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status. Value can be\n - `CUSTOMER_WATCHLIST_MATCH`\n - `ADDRESS_COUNTRY_WATCHLIST_MATCH`\n - `EMAIL_COUNTRY_WATCHLIST_MATCH`\n - `IP_COUNTRY_WATCHLIST_MATCH`\n - `INVALID_MERCHANT_CONFIGURATION`\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The message describing the reason of the status. Value can be\n - The customer matched the Denied Parties List\n - The Export bill_country/ship_country match\n - Export email_country match\n - Export hostname_country/ip_country match\n"
+ }
+ }
+ },
+ "TOKEN_CREATE": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status of the token create.\n\nPossible value is:\n - SUCCESS\n - SERVER_ERROR\n - INVALID_REQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - INVALID_DATA\n - SYSTEM_ERROR\n - MISSING_FIELD\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ }
+ }
+ },
+ "TOKEN_UPDATE": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status of the token update.\n\nPossible value is:\n - SUCCESS\n - SERVER_ERROR\n - INVALID_REQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\nPossible values:\n - INVALID_DATA\n - SYSTEM_ERROR\n - MISSING_FIELD\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ }
+ }
+ }
+ }
+ },
+ "watchlistScreeningInformation": {
+ "type": "object",
+ "properties": {
+ "ipCountryConfidence": {
+ "type": "integer",
+ "minimum": -1,
+ "maximum": 100,
+ "description": "Likelihood that the country associated with the customer's IP address was identified correctly.\nReturns a value from 1\u2013100, where 100 indicates the highest likelihood.\nIf the country cannot be determined, the value is \u20131.\n"
+ },
+ "infoCodes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ },
+ "description": "Returned when the Denied Parties List check (first two codes) or the export service (all others) would have\ndeclined the transaction. This field can contain one or more of these values:\n- `MATCH-DPC`: Denied Parties List match.\n- `UNV-DPC`: Denied Parties List unavailable.\n- `MATCH-BCO`: Billing country restricted.\n- `MATCH-EMCO`: Email country restricted.\n- `MATCH-HCO`: Host name country restricted.\n- `MATCH-IPCO`: IP country restricted.\n- `MATCH-SCO`: Shipping country restricted.\n"
+ },
+ "watchList": {
+ "type": "object",
+ "properties": {
+ "matches": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "addresses": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ },
+ "description": "Address found on the list specified in export_matchN_list\nfor the entity (name and address) in the request.\n"
+ },
+ "sanctionList": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "List on which the first Denied Parties List check match appears.\nFor a list of codes, see \"Denied Parties List Check Codes,\" page 56.\n"
+ },
+ "aliases": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ },
+ "description": "Name found on the list specified in export_matchN_list for the entity (name and address) in the request.\n"
+ },
+ "programs": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ },
+ "description": "Sub-lists matched by the order data. List members are separated by carets (^)."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/pts/v2/payments/4963015972176007901546",
+ "method": "GET"
+ },
+ "authReversal": {
+ "href": "/pts/v2/payments/4963015972176007901546/reversals",
+ "method": "POST"
+ },
+ "capture": {
+ "href": "/pts/v2/payments/4963015972176007901546/captures",
+ "method": "POST"
+ },
+ "refund": {
+ "href": "/pts/v2/payments/4963015972176007901546/refunds",
+ "method": "POST"
+ },
+ "void": {
+ "href": "/pts/v2/payments/4963015972176007901546/voids",
+ "method": "POST"
+ }
+ },
+ "id": "4963015972176007901546",
+ "submitTimeUtc": "2017-06-01T071957Z",
+ "status": "200",
+ "reconciliationId": "39570726X3E1LBQR",
+ "statusInformation": {
+ "reason": "SUCCESS",
+ "message": "Successful transaction."
+ },
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "authorizedAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "processorInformation": {
+ "approvalCode": "888888",
+ "cardVerification": {
+ "resultCode": ""
+ },
+ "avs": {
+ "code": "X",
+ "codeRaw": "I1"
+ },
+ "responseCode": "100",
+ "merchantRiskPrediction": "ATT"
+ },
+ "consumerAuthenticationInformation": {
+ "dataQualityIndicator": "1"
+ },
+ "paymentInformation": {
+ "accountFeatures": {
+ "accountHolderType": "01"
+ }
+ },
+ "processingInformation": {
+ "authorizationOptions": {
+ "serviceType": "02"
+ },
+ "purchaseOptions": {
+ "eligibilityIndicator": "Y",
+ "type": "01",
+ "benefitAmount": "10.00",
+ "benefitType": "4T"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "schema": {
+ "type": "object",
+ "title": "ptsV2PaymentsPost400Response",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_AMOUNT\n - INVALID_CARD_TYPE\n - INVALID_PAYMENT_ID\n - NOT_SUPPORTED\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Unexpected system error or system timeout.",
+ "schema": {
+ "title": "ptsV2PaymentsPost502Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ }
+ }
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Simple Authorization(Internet)",
+ "sample-name": "Process Payment",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ }
+ },
+ "example1": {
+ "summary": "Authorization with Capture(Sale)",
+ "sample-name": "Process Payment Simple Authorization with Capture(Sale)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "capture": true
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ }
+ },
+ "example2": {
+ "summary": "Payment with Flex Token",
+ "sample-name": "Payment with Flex Token",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "tokenInformation": {
+ "transientTokenJwt": "eyJraWQiOiIwN0JwSE9abkhJM3c3UVAycmhNZkhuWE9XQlhwa1ZHTiIsImFsZyI6IlJTMjU2In0.eyJkYXRhIjp7ImV4cGlyYXRpb25ZZWFyIjoiMjAyMCIsIm51bWJlciI6IjQxMTExMVhYWFhYWDExMTEiLCJleHBpcmF0aW9uTW9udGgiOiIxMCIsInR5cGUiOiIwMDEifSwiaXNzIjoiRmxleC8wNyIsImV4cCI6MTU5MTc0NjAyNCwidHlwZSI6Im1mLTAuMTEuMCIsImlhdCI6MTU5MTc0NTEyNCwianRpIjoiMUMzWjdUTkpaVjI4OVM5MTdQM0JHSFM1T0ZQNFNBRERCUUtKMFFKMzMzOEhRR0MwWTg0QjVFRTAxREU4NEZDQiJ9.cfwzUMJf115K2T9-wE_A_k2jZptXlovls8-fKY0muO8YzGatE5fu9r6aC4q7n0YOvEU6G7XdH4ASG32mWnYu-kKlqN4IY_cquRJeUvV89ZPZ5WTttyrgVH17LSTE2EvwMawKNYnjh0lJwqYJ51cLnJiVlyqTdEAv3DJ3vInXP1YeQjLX5_vF-OWEuZfJxahHfUdsjeGhGaaOGVMUZJSkzpTu9zDLTvpb1px3WGGPu8FcHoxrcCGGpcKk456AZgYMBSHNjr-pPkRr3Dnd7XgNF6shfzIPbcXeWDYPTpS4PNY8ZsWKx8nFQIeROMWCSxIZOmu3Wt71KN9iK6DfOPro7w"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "lastName": "VDP",
+ "address1": "201 S. Division St.",
+ "postalCode": "48104-2201",
+ "locality": "Ann Arbor",
+ "administrativeArea": "MI",
+ "firstName": "RTS",
+ "phoneNumber": "999999999",
+ "district": "MI",
+ "buildingNumber": "123",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ }
+ }
+ },
+ "example3": {
+ "summary": "Payment with Flex Token(Create Permanent TMS token)",
+ "sample-name": "Payment with Flex Token(Create Permanent TMS token)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "TOKEN_CREATE"
+ ],
+ "actionTokenTypes": [
+ "customer",
+ "paymentInstrument",
+ "shippingAddress"
+ ]
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "shipTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US"
+ },
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "tokenInformation": {
+ "transientTokenJwt": "eyJraWQiOiIwODVLd3ZiZHVqZW1DZDN3UnNxVFg3RG5nZzlZVk04NiIsImFsZyI6IlJTMjU2In0.eyJkYXRhIjp7Im51bWJlciI6IjQxMTExMVhYWFhYWDExMTEiLCJ0eXBlIjoiMDAxIn0sImlzcyI6IkZsZXgvMDgiLCJleHAiOjE1OTU2MjAxNTQsInR5cGUiOiJtZi0wLjExLjAiLCJpYXQiOjE1OTU2MTkyNTQsImp0aSI6IjFFMTlWWVlBUEFEUllPSzREUUM1NFhRN1hUVTlYN01YSzBCNTc5UFhCUU1HUUExVU1MOFI1RjFCM0IzQTU4MkIifQ.NKSM8zuT9TQC2OIUxIFJQk4HKeHhj_RGWmEqOQhBi0TIynt_kCIup1UVtAlhPzUfPWLwRrUVXnA9dyjLt_Q-pFZnvZ2lVANbiOq_R0us88MkM_mqaELuInCwxFeFZKA4gl8XmDFARgX1aJttC19Le6NYOhK2gpMrV4i0yz-IkbScsk0_vCH3raayNacFU2Wy9xei6H_V0yw2GeOs7kF6wdtMvBNw_uoLXd77LGE3LmV7z1TpJcG1SXy2s0bwYhEvkQGnrq6FfY8w7-UkDBWT1GhU3ZVP4y7h0l1WEX2xqf_ze25ZiYJQfWrEWPBHXRubOpAuaf4rfeZei0mRwPU-sQ"
+ }
+ }
+ },
+ "example4": {
+ "summary": "Authorization with Customer Token Creation",
+ "sample-name": "Authorization with Customer Token Creation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "TOKEN_CREATE"
+ ],
+ "actionTokenTypes": [
+ "customer",
+ "paymentInstrument",
+ "shippingAddress"
+ ]
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "shipTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US"
+ },
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12"
+ }
+ }
+ },
+ "parentTag": "Authorization with Token Create"
+ },
+ "example5": {
+ "summary": "Authorization with Customer Token Id",
+ "sample-name": "Authorization with Customer Token Id",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "customer": {
+ "id": "B21E6717A6F03479E05341588E0A303F"
+ }
+ }
+ },
+ "parentTag": "Authorization using Tokens"
+ },
+ "example6": {
+ "summary": "Authorization & Create Default Payment Instrument, Shipping Address for existing Customer",
+ "sample-name": "Authorization & Create Default Payment Instrument, Shipping Address for existing Customer",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "TOKEN_CREATE"
+ ],
+ "actionTokenTypes": [
+ "paymentInstrument",
+ "shippingAddress"
+ ]
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "shipTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US"
+ },
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12"
+ },
+ "customer": {
+ "id": "B21E6717A6F03479E05341588E0A303F"
+ }
+ },
+ "tokenInformation": {
+ "paymentInstrument": {
+ "default": true
+ },
+ "shippingAddress": {
+ "default": true
+ }
+ }
+ },
+ "parentTag": "Authorization with Token Create"
+ },
+ "example7": {
+ "summary": "Authorization with Instrument Identifier Token Id bypassing Network Token",
+ "sample-name": "Authorization with Instrument Identifier Token Id bypassing Network Token",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "tokenInformation": {
+ "networkTokenOption": "ignore"
+ },
+ "paymentInformation": {
+ "instrumentIdentifier": {
+ "id": "7010000000016241111"
+ }
+ }
+ },
+ "parentTag": "Authorization using Tokens"
+ },
+ "example8": {
+ "summary": "Authorization with Customer, Payment Instrument and Shipping Address Token Id",
+ "sample-name": "Authorization with Customer, Payment Instrument and Shipping Address Token Id",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "customer": {
+ "id": "B21E6717A6F03479E05341588E0A303F"
+ },
+ "paymentInstrument": {
+ "id": "B21E6B7E8BB3388EE05341588E0AFC84"
+ },
+ "shippingAddress": {
+ "id": "B21E6717A6F33479E05341588E0A303F"
+ }
+ }
+ },
+ "parentTag": "Authorization using Tokens"
+ },
+ "example9": {
+ "summary": "Authorization with Instrument Identifier Token Creation",
+ "sample-name": "Authorization with Instrument Identifier Token Creation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "TOKEN_CREATE"
+ ],
+ "actionTokenTypes": [
+ "instrumentIdentifier"
+ ],
+ "commerceIndicator": "internet"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "shipTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US"
+ },
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12"
+ }
+ }
+ },
+ "parentTag": "Authorization with Token Create"
+ },
+ "example10": {
+ "summary": "Authorization with Decision Manager",
+ "sample-name": "Authorization with Decision Manager",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TSYS_Eh_FE_01"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "JSON",
+ "lastName": "RTS",
+ "address1": "201 S. Division St._1",
+ "locality": "Foster City",
+ "administrativeArea": "CA",
+ "postalCode": "94404",
+ "country": "US",
+ "email": "beforeauth@cybersource.com",
+ "phoneNumber": "6504327113"
+ },
+ "amountDetails": {
+ "totalAmount": "10",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "11",
+ "expirationYear": "2025"
+ }
+ }
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example11": {
+ "summary": "Authorization - Skip DecisionManager for single transaction",
+ "sample-name": "Authorization - Skip DecisionManager for single transaction",
+ "value": {
+ "processingInformation": {
+ "actionList": [
+ "DECISION_SKIP"
+ ]
+ },
+ "clientReferenceInformation": {
+ "code": "TC50171_16"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ },
+ "amountDetails": {
+ "totalAmount": "10",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "11",
+ "expirationYear": "2025"
+ }
+ }
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example12": {
+ "summary": "Authorization with Decision Manager (Device Information)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "54323007"
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2030",
+ "number": "4444444444444448"
+ }
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "James",
+ "lastName": "Smith",
+ "locality": "Clearwater milford",
+ "address1": "96, powers street",
+ "email": "test@visa.com",
+ "country": "US",
+ "administrativeArea": "NH",
+ "postalCode": "03055",
+ "phoneNumber": "7606160717"
+ },
+ "amountDetails": {
+ "currency": "USD",
+ "totalAmount": "144.14"
+ }
+ },
+ "deviceInformation": {
+ "cookiesAccepted": "yes",
+ "hostName": "host.com",
+ "httpBrowserEmail": "xyz@gmail.com",
+ "userAgent": "Chrome",
+ "ipAddress": "64.124.61.215"
+ }
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example13": {
+ "summary": "Authorization with Decision Manager (Merchant Defined Information)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "54323007"
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2030",
+ "number": "4444444444444448"
+ }
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "James",
+ "lastName": "Smith",
+ "locality": "Clearwater milford",
+ "address1": "96, powers street",
+ "email": "test@visa.com",
+ "country": "US",
+ "administrativeArea": "NH",
+ "postalCode": "03055",
+ "phoneNumber": "7606160717"
+ },
+ "amountDetails": {
+ "currency": "USD",
+ "totalAmount": "144.14"
+ }
+ },
+ "merchantDefinedInformation": [
+ {
+ "key": "1",
+ "value": "Test"
+ },
+ {
+ "key": "2",
+ "value": "Test2"
+ }
+ ]
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example14": {
+ "summary": "Authorization with Decision Manager (Travel Information)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "54323007"
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2030",
+ "number": "4444444444444448"
+ }
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "James",
+ "lastName": "Smith",
+ "locality": "Clearwater milford",
+ "address1": "96, powers street",
+ "email": "test@visa.com",
+ "country": "US",
+ "administrativeArea": "NH",
+ "postalCode": "03055",
+ "phoneNumber": "7606160717"
+ },
+ "amountDetails": {
+ "currency": "USD",
+ "totalAmount": "144.14"
+ }
+ },
+ "travelInformation": {
+ "completeRoute": "SFO-JFK:JFK-BLR",
+ "departureTime": "2011-03-20 11:30pm GMT",
+ "journeyType": "One way",
+ "legs": [
+ {
+ "destination": "JFK",
+ "origination": "SFO"
+ },
+ {
+ "destination": "BLR",
+ "origination": "JFK"
+ }
+ ]
+ }
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example15": {
+ "summary": "Authorization with Decision Manager (Buyer Information)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "54323007"
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2030",
+ "number": "4444444444444448"
+ }
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "James",
+ "lastName": "Smith",
+ "locality": "Clearwater milford",
+ "address1": "96, powers street",
+ "email": "test@visa.com",
+ "country": "US",
+ "administrativeArea": "NH",
+ "postalCode": "03055",
+ "phoneNumber": "7606160717"
+ },
+ "amountDetails": {
+ "currency": "USD",
+ "totalAmount": "144.14"
+ }
+ },
+ "buyerInformation": {
+ "hashedPassword": "",
+ "dateOfBirth": "19980505",
+ "personalIdentification": [
+ {
+ "id": "1a23apwe98",
+ "type": "CPF"
+ }
+ ]
+ }
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example16": {
+ "summary": "Authorization with Decision Manager (Shipping Information)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "54323007"
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2030",
+ "number": "4444444444444448"
+ }
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "James",
+ "lastName": "Smith",
+ "locality": "Clearwater milford",
+ "address1": "96, powers street",
+ "email": "test@visa.com",
+ "country": "US",
+ "administrativeArea": "NH",
+ "postalCode": "03055",
+ "phoneNumber": "7606160717"
+ },
+ "amountDetails": {
+ "currency": "USD",
+ "totalAmount": "144.14"
+ },
+ "shipTo": {
+ "address1": "96, powers street",
+ "locality": "Clearwater milford",
+ "country": "IN",
+ "firstName": "James",
+ "lastName": "Smith",
+ "phoneNumber": "7606160717",
+ "administrativeArea": "KA",
+ "postalCode": "560056"
+ }
+ }
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example17": {
+ "summary": "Authorization with Decision Manager (custom setup)",
+ "sample-name": "Authorization with Decision Manager (custom setup)",
+ "value": {
+ "processingInformation": {
+ "actionList": [
+ "DECISION"
+ ]
+ },
+ "clientReferenceInformation": {
+ "code": "TC50171_16"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ },
+ "amountDetails": {
+ "totalAmount": "10",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "11",
+ "expirationYear": "2025"
+ }
+ }
+ },
+ "parentTag": "Authorization with Decision Manager"
+ },
+ "example18": {
+ "summary": "Authorization with PA Enroll (Authentication Needed)",
+ "sample-name": "Authorization with PA Enroll (Authentication Needed)",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "CONSUMER_AUTHENTICATION"
+ ]
+ },
+ "consumerAuthenticationInformation": {
+ "referenceId": "CybsCruiseTester-8ac0b02f",
+ "requestorId": "123123197675",
+ "authenticationBrand": "VISA"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Smith",
+ "address1": "201 S. Division St._1",
+ "address2": "Suite 500",
+ "locality": "Foster City",
+ "administrativeArea": "CA",
+ "postalCode": "94404",
+ "country": "US",
+ "phoneNumber": "6504327113",
+ "email": "accept@cybersource.com"
+ },
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "usd"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2030",
+ "number": "4000000000001091",
+ "expirationMonth": "12"
+ }
+ }
+ },
+ "parentTag": "Authorization with Payer Authentication"
+ },
+ "example19": {
+ "summary": "Authorization with Payer Auth Validation",
+ "sample-name": "Authorization with Payer Auth Validation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "VALIDATE_CONSUMER_AUTHENTICATION"
+ ]
+ },
+ "consumerAuthenticationInformation": {
+ "authenticationTransactionId": "OiCtXA1j1AxtSNDh5lt1",
+ "authenticationBrand": "VISA"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Smith",
+ "address1": "201 S. Division St._1",
+ "address2": "Suite 500",
+ "locality": "Foster City",
+ "administrativeArea": "CA",
+ "postalCode": "94404",
+ "country": "US",
+ "phoneNumber": "6504327113",
+ "email": "accept@cybs.com"
+ }
+ },
+ "amountDetails": {
+ "amount": "100.00",
+ "currency": "USD"
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2030",
+ "number": "4000000000001091",
+ "expirationMonth": "01"
+ }
+ }
+ },
+ "parentTag": "Authorization with Payer Authentication"
+ },
+ "example20": {
+ "summary": "Authorization with DM(Accept) + PA Enroll",
+ "sample-name": "Authorization with DM(Accept) + PA Enroll",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "cbys_test"
+ },
+ "processingInformation": {
+ "actionList": [
+ "CONSUMER_AUTHENTICATION"
+ ]
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "accept@cybersource.com"
+ },
+ "amountDetails": {
+ "totalAmount": "1.00",
+ "currency": "usd"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "340000000001007",
+ "securityCode": "1234",
+ "expirationMonth": "12"
+ }
+ }
+ },
+ "parentTag": "Authorization with Payer Authentication"
+ },
+ "example21": {
+ "summary": "Authorization with DM(Review) + PA Enroll",
+ "sample-name": "Authorization with DM(Review) + PA Enroll",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "CONSUMER_AUTHENTICATION"
+ ]
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "372425119311008",
+ "securityCode": "1234",
+ "expirationMonth": "12"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "review@domain.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ },
+ "parentTag": "Authorization with Payer Authentication"
+ },
+ "example22": {
+ "summary": "Authorization with DM(Reject) + PA Enroll",
+ "sample-name": "Authorization with DM(Reject) + PA Enroll",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "CONSUMER_AUTHENTICATION"
+ ]
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "372425119311008",
+ "securityCode": "1234",
+ "expirationMonth": "12"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "reject@domain.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ },
+ "parentTag": "Authorization with Payer Authentication"
+ },
+ "example23": {
+ "summary": "Payment Network Tokenization",
+ "sample-name": "Process Payment with Network Tokenization",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC_123122"
+ },
+ "processingInformation": {
+ "commerceIndicator": "vbv",
+ "originalPaymentId": "1111"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "100",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "tokenizedCard": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "transactionType": "1"
+ }
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "AAABCSIIAAAAAAACcwgAEMCoNh+=",
+ "xid": "T1Y0OVcxMVJJdkI0WFlBcXptUzE=",
+ "authenticationBrand": "VISA"
+ }
+ }
+ },
+ "example24": {
+ "summary": "Digital Payment - GooglePay",
+ "sample-name": "Process Payment with GooglePay",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC_1231223"
+ },
+ "processingInformation": {
+ "paymentSolution": "012",
+ "purposeOfPayment": "16",
+ "languageCode": "US",
+ "authorizationOptions": {
+ "serviceType": "00"
+ },
+ "originalPaymentId": "1111"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "firstName": "John",
+ "lastName": "Deo",
+ "phoneNumber": "6504327113",
+ "address1": "901 Metro Center Blvd",
+ "postalCode": "94404",
+ "locality": "Foster City",
+ "administrativeArea": "CA",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "20",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "tokenizedCard": {
+ "expirationYear": "2030",
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "transactionType": "1",
+ "cryptogram": "EHuWW9PiBkWvqE5juRwDzAUFBAk="
+ }
+ }
+ }
+ },
+ "example25": {
+ "summary": "Digital Payments - ApplePay",
+ "sample-name": "Process Payment with ApplePay",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC_1231223"
+ },
+ "processingInformation": {
+ "paymentSolution": "001",
+ "purposeOfPayment": "16",
+ "languageCode": "US",
+ "authorizationOptions": {
+ "serviceType": "01"
+ },
+ "originalPaymentId": "1111"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "firstName": "John",
+ "lastName": "Deo",
+ "phoneNumber": "6504327113",
+ "address1": "901 Metro Center Blvd",
+ "postalCode": "94404",
+ "locality": "Foster City",
+ "administrativeArea": "CA",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "10",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "tokenizedCard": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "transactionType": "1",
+ "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA="
+ }
+ }
+ }
+ },
+ "example26": {
+ "summary": "Zero Dollar Authorization",
+ "sample-name": "Process Payment for Zero Dollar Authorization",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "1234567890"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": 0,
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "5555555555554444",
+ "securityCode": "123",
+ "expirationMonth": "12"
+ }
+ }
+ }
+ },
+ "example27": {
+ "summary": "Level II Data",
+ "sample-name": "Process Payment with Level II Data",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_12"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "invoiceDetails": {
+ "purchaseOrderNumber": "LevelII Auth Po"
+ },
+ "amountDetails": {
+ "totalAmount": "112.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12",
+ "type": "001"
+ }
+ }
+ }
+ },
+ "example28": {
+ "summary": "Level III Data",
+ "sample-name": "Process Payment with Level III Data",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_14"
+ },
+ "processingInformation": {
+ "purchaseLevel": "3"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "invoiceDetails": {
+ "purchaseOrderNumber": "LevelIII Auth Po"
+ },
+ "lineItems": [
+ {
+ "discountApplied": "false",
+ "quantity": "10",
+ "unitPrice": "10.00",
+ "totalAmount": "100",
+ "productCode": "default",
+ "amountIncludesTax": "false"
+ }
+ ],
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12",
+ "type": "001"
+ }
+ }
+ }
+ },
+ "example29": {
+ "summary": "Partial Authorization",
+ "sample-name": "Process Payment with Partial Authorization",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "1234567890"
+ },
+ "pointOfSaleInformation": {
+ "cardPresent": "true",
+ "catLevel": "6",
+ "emv": {
+ "fallbackCondition": "1",
+ "fallback": "false"
+ },
+ "terminalCapability": "4"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "7012.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12"
+ }
+ }
+ }
+ },
+ "example30": {
+ "summary": "Account Funding Transaction",
+ "sample-name": "Process Account Funding Transaction",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "RTS-AFT3-8"
+ },
+ "processingInformation": {
+ "capture": true,
+ "commerceIndicator": "internet",
+ "businessApplicationId": "AA",
+ "authorizationOptions": {
+ "aftIndicator": true,
+ "ignoreAvsResult": true,
+ "ignoreCvResult": false
+ }
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "Joe",
+ "middleName": "S",
+ "lastName": "Root",
+ "address1": "34 Orchard Grove",
+ "locality": "Southampton",
+ "postalCode": "DE6 1BE",
+ "country": "GB",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "28.00",
+ "currency": "GBP"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4539791001730106",
+ "securityCode": "351",
+ "expirationMonth": "03",
+ "expirationYear": "2025",
+ "type": "001"
+ }
+ },
+ "senderInformation": {
+ "firstName": "Joe",
+ "middleName": "S",
+ "lastName": "Root",
+ "address1": "34 Orchard Grove",
+ "locality": "Southampton",
+ "countryCode": "GB",
+ "aliasName": "Joe My Friend"
+ },
+ "recipientInformation": {
+ "firstName": "Ben",
+ "middleName": "Ann",
+ "lastName": "Stokes",
+ "accountId": "4929421234600821",
+ "accountType": "03",
+ "address1": "1 High Street",
+ "country": "GB",
+ "aliasName": "Ben My Friend",
+ "nationality": "GB",
+ "countryOfBirth": "GB",
+ "occupation": "freelancer",
+ "email": "joe@visa.com"
+ }
+ }
+ },
+ "example31": {
+ "summary": "Electronic Check Debits",
+ "sample-name": "Process Payment ECheck Debits",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CHECK"
+ },
+ "bank": {
+ "account": {
+ "type": "C",
+ "number": "4100"
+ },
+ "routingNumber": "071923284"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100",
+ "currency": "USD"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com"
+ }
+ }
+ },
+ "parentTag": "Electronic Check(eCheck) and ServiceFees"
+ },
+ "example32": {
+ "summary": "Electronic Check Debits with Legacy Token",
+ "sample-name": "Process Payment ECheck Debits with Legacy Token",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CHECK"
+ },
+ "legacyToken": {
+ "id": "7500BB199B4270EFE05340588D0AFCAD"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100",
+ "currency": "USD"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com"
+ }
+ }
+ },
+ "parentTag": "Electronic Check(eCheck) and ServiceFees"
+ },
+ "example33": {
+ "summary": "Service Fees with Credit Card transaction",
+ "sample-name": "Process Payment Service Fees with Credit Card transaction",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "2325.00",
+ "currency": "USD",
+ "serviceFeeAmount": "30.0"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12"
+ }
+ },
+ "merchantInformation": {
+ "serviceFeeDescriptor": {
+ "name": "Vacations Service Fee",
+ "contact": "8009999999",
+ "state": "CA"
+ }
+ }
+ },
+ "parentTag": "Electronic Check(eCheck) and ServiceFees"
+ },
+ "example34": {
+ "summary": "Authorization Using Swiped Track Data",
+ "sample-name": "Authorization Using Swiped Track Data",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "ABC123",
+ "partner": {
+ "thirdPartyCertificationNumber": "123456789012"
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "authorizationOptions": {
+ "partialAuthIndicator": "true"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?",
+ "cardPresent": "Y",
+ "entryMode": "swiped",
+ "terminalCapability": "4"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example35": {
+ "summary": "Sale Using Swiped Track Data with Visa Platform Connect",
+ "sample-name": "Sale Using Swiped Track Data with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "123456"
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "capture": "true",
+ "authorizationOptions": {
+ "partialAuthIndicator": "true"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?",
+ "cardPresent": "Y",
+ "entryMode": "swiped",
+ "terminalCapability": "4"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example36": {
+ "summary": "Sale Using Keyed Data with Visa Platform Connect",
+ "sample-name": "Sale Using Keyed Data with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "capture": true,
+ "authorizationOptions": {
+ "partialAuthIndicator": true,
+ "ignoreAvsResult": true,
+ "ignoreCvResult": true,
+ "serviceType": "02"
+ },
+ "purposeOfPayment": "16",
+ "languageCode": "US"
+ },
+ "pointOfSaleInformation": {
+ "cardPresent": "Y",
+ "entryMode": "keyed",
+ "terminalCapability": 4
+ },
+ "paymentInformation": {
+ "card": {
+ "number": 4111111111111111,
+ "securityCode": 123,
+ "expirationMonth": 12,
+ "expirationYear": 2031
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example37": {
+ "summary": "Sale Using Keyed Data with Balance Inquiry",
+ "sample-name": "Sale Using Keyed Data with Balance Inquiry",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456,
+ "partner": {
+ "thirdPartyCertificationNumber": 123456789012
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "capture": true,
+ "authorizationOptions": {
+ "partialAuthIndicator": true,
+ "ignoreAvsResult": true,
+ "ignoreCvResult": true,
+ "serviceType": "03"
+ },
+ "purposeOfPayment": "16",
+ "languageCode": "US"
+ },
+ "pointOfSaleInformation": {
+ "cardPresent": "Y",
+ "entryMode": "keyed",
+ "terminalCapability": 4
+ },
+ "paymentInformation": {
+ "card": {
+ "number": 4111111111111111,
+ "securityCode": 123,
+ "expirationMonth": 12,
+ "expirationYear": 2031
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example38": {
+ "summary": "Sale Using EMV Technology with Contact Read with Visa Platform Connect",
+ "sample-name": "Sale Using EMV Technology with Contact Read with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "authorizationOptions": {
+ "partialAuthIndicator": true
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;",
+ "cardPresent": "Y",
+ "catLevel": 7,
+ "emv": {
+ "cardSequenceNumber": 1,
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000"
+ },
+ "entryMode": "contact",
+ "terminalCapability": 4
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example39": {
+ "summary": "Sale Using EMV Technology with Contactless Read with Visa Platform Connect",
+ "sample-name": "Sale Using EMV Technology with Contactless Read with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "authorizationOptions": {
+ "partialAuthIndicator": true
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?",
+ "cardPresent": "Y",
+ "catLevel": 2,
+ "entryMode": "contactless",
+ "emv": {
+ "cardSequenceNumber": 1,
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000"
+ },
+ "terminalCapability": 5
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example40": {
+ "summary": "Authorization Using Bluefin PCI P2PE with Visa Platform Connect",
+ "sample-name": "Authorization Using Bluefin PCI P2PE with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "demomerchant"
+ },
+ "pointOfSaleInformation": {
+ "cardPresent": "Y",
+ "catLevel": 1,
+ "entryMode": "keyed",
+ "terminalCapability": 2
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "authorizationOptions": {
+ "partialAuthIndicator": true,
+ "ignoreAvsResult": true,
+ "ignoreCvResult": true
+ }
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "lastName": "Deo",
+ "address1": "201 S. Division St.",
+ "postalCode": "48104-2201",
+ "locality": "Ann Arbor",
+ "administrativeArea": "MI",
+ "firstName": "John",
+ "phoneNumber": 999999999,
+ "district": "MI",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": 2050,
+ "expirationMonth": 12
+ },
+ "fluidData": {
+ "descriptor": "Ymx1ZWZpbg==",
+ "value": "02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030395e46444d53202020202020202020202020202020202020202020205e323231322a2a2a2a2a2a2a2a3f2a3b363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a2a2a2a2a2a3f2a7a75ad15d25217290c54b3d9d1c3868602136c68d339d52d98423391f3e631511d548fff08b414feac9ff6c6dede8fb09bae870e4e32f6f462d6a75fa0a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e502d97cb98dc53ea55162cdfa395431323439323830303762994901000001a000731a8003"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example41": {
+ "summary": "Restaurant Authorization",
+ "sample-name": "Restaurant Authorization",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "demomerchant",
+ "partner": {
+ "thirdPartyCertificationNumber": 123456789012
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?",
+ "cardPresent": "Y",
+ "entryMode": "swiped",
+ "terminalCapability": 4
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "authorizationOptions": {
+ "partialAuthIndicator": true
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example42": {
+ "summary": "Sale Using EMV Technology with a Contactless",
+ "sample-name": "Sale Using EMV Technology with a Contactless",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail"
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?",
+ "cardPresent": "Y",
+ "catLevel": 2,
+ "entryMode": "contactless",
+ "emv": {
+ "cardSequenceNumber": 999
+ },
+ "terminalCapability": 4
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example43": {
+ "summary": "Sale Using EMV Technology with Contact Read (One) for Card Present Enabled Acquirer",
+ "sample-name": "Sale Using EMV Technology with Contact Read (One) for Card Present Enabled Acquirer",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail"
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;",
+ "cardPresent": "Y",
+ "catLevel": 7,
+ "emv": {
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000",
+ "cardSequenceNumber": 0
+ },
+ "entryMode": "contact",
+ "terminalCapability": 4
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example44": {
+ "summary": "Swiped",
+ "sample-name": "Swiped",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail"
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?",
+ "cardPresent": "Y",
+ "entryMode": "swiped",
+ "terminalCapability": 4
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example45": {
+ "summary": "Sale Using Swiped Track Data for Card Present Enabled Acquirer",
+ "sample-name": "Sale Using Swiped Track Data for Card Present Enabled Acquirer",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "capture": true
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?",
+ "cardPresent": "Y",
+ "entryMode": "swiped",
+ "terminalCapability": 4
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example46": {
+ "summary": "Sale Using Keyed Data for Card Present Enabled Acquirer",
+ "sample-name": "Sale Using Keyed Data for Card Present Enabled Acquirer",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "capture": true
+ },
+ "pointOfSaleInformation": {
+ "cardPresent": "Y",
+ "entryMode": "keyed",
+ "terminalCapability": 4
+ },
+ "paymentInformation": {
+ "card": {
+ "number": 4111111111111111,
+ "securityCode": 123,
+ "expirationMonth": 12,
+ "expirationYear": 2031
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example47": {
+ "summary": "American Express Direct - EMV with Contact Read",
+ "sample-name": "American Express Direct - EMV with Contact Read",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456,
+ "partner": {
+ "originalTransactionId": "510be4aef90711e6acbc7d88388d803d"
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail"
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;",
+ "cardPresent": "Y",
+ "catLevel": 1,
+ "emv": {
+ "cardSequenceNumber": 1,
+ "cardholderVerificationMethodUsed": 2,
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000"
+ },
+ "entryMode": "contact",
+ "terminalCapability": 4,
+ "encryptedKeySerialNumber": "01043191",
+ "cardholderVerificationMethod": [
+ "pin",
+ "signature"
+ ],
+ "terminalInputCapability": [
+ "contact",
+ "contactless",
+ "keyed",
+ "swiped"
+ ],
+ "terminalCardCaptureCapability": 1,
+ "deviceId": "123lkjdIOBK34981slviLI39bj"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example48": {
+ "summary": "Sale Using EMV Technology with Contact Read (Two) for Card Present Enabled Acquirer",
+ "sample-name": "Sale Using EMV Technology with Contact Read (Two) for Card Present Enabled Acquirer",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456,
+ "partner": {
+ "originalTransactionId": "510be4aef90711e6acbc7d88388d803d"
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "capture": true
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;",
+ "cardPresent": "Y",
+ "catLevel": 1,
+ "emv": {
+ "cardSequenceNumber": 1,
+ "cardholderVerificationMethodUsed": 2,
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000"
+ },
+ "entryMode": "contact",
+ "terminalCapability": 4,
+ "encryptedKeySerialNumber": "01043191",
+ "cardholderVerificationMethod": [
+ "pin",
+ "signature"
+ ],
+ "terminalInputCapability": [
+ "contact",
+ "contactless",
+ "keyed",
+ "swiped"
+ ],
+ "terminalCardCaptureCapability": 1,
+ "deviceId": "123lkjdIOBK34981slviLI39bj"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example49": {
+ "summary": "Sale Using EMV Technology with Contactless Read for Card Present Enabled Acquirer",
+ "sample-name": "Sale Using EMV Technology with Contactless Read for Card Present Enabled Acquirer",
+ "value": {
+ "clientReferenceInformation": {
+ "code": 123456,
+ "partner": {
+ "originalTransactionId": "510be4aef90711e6acbc7d88388d803d"
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "capture": true
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;",
+ "cardPresent": "Y",
+ "catLevel": 1,
+ "emv": {
+ "cardSequenceNumber": 1,
+ "cardholderVerificationMethodUsed": 2,
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000"
+ },
+ "entryMode": "contactless",
+ "terminalCapability": 5,
+ "encryptedKeySerialNumber": "01043191",
+ "cardholderVerificationMethod": [
+ "pin",
+ "signature"
+ ],
+ "terminalInputCapability": [
+ "contact",
+ "contactless",
+ "keyed",
+ "swiped"
+ ],
+ "terminalCardCaptureCapability": 1,
+ "deviceId": "123lkjdIOBK34981slviLI39bj"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example50": {
+ "summary": "Authorization Using Bluefin PCI P2PE for Card Present Enabled Acquirer",
+ "sample-name": "Authorization Using Bluefin PCI P2PE for Card Present Enabled Acquirer",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "demomerchant"
+ },
+ "pointOfSaleInformation": {
+ "cardPresent": "Y",
+ "catLevel": 1,
+ "entryMode": "keyed",
+ "terminalCapability": 2
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "lastName": "Deo",
+ "address1": "201 S. Division St.",
+ "postalCode": "48104-2201",
+ "locality": "Ann Arbor",
+ "administrativeArea": "MI",
+ "firstName": "John",
+ "phoneNumber": 999999999,
+ "district": "MI",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "100.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": 2050,
+ "expirationMonth": 12
+ },
+ "fluidData": {
+ "descriptor": "Ymx1ZWZpbg==",
+ "value": "02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030395e46444d53202020202020202020202020202020202020202020205e323231322a2a2a2a2a2a2a2a3f2a3b363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a2a2a2a2a2a3f2a7a75ad15d25217290c54b3d9d1c3868602136c68d339d52d98423391f3e631511d548fff08b414feac9ff6c6dede8fb09bae870e4e32f6f462d6a75fa0a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e502d97cb98dc53ea55162cdfa395431323439323830303762994901000001a000731a8003"
+ }
+ }
+ },
+ "parentTag": "Card Present Enabled Acquirer"
+ },
+ "example51": {
+ "summary": "Authorization with Instrument Identifier Token Id",
+ "sample-name": "Authorization with Instrument Identifier Token Id",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "internet"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "firstName": "John",
+ "lastName": "Deo",
+ "phoneNumber": "9321499232",
+ "address1": "900 Metro Center Blvd",
+ "postalCode": "48104-2201",
+ "locality": "Foster City",
+ "administrativeArea": "CA",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "200",
+ "currency": "usd"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "expirationMonth": "03",
+ "type": "001"
+ },
+ "instrumentIdentifier": {
+ "id": "7010000000016241111"
+ }
+ }
+ },
+ "parentTag": "Authorization using Tokens"
+ },
+ "example52": {
+ "summary": "Authorization with Legacy Token",
+ "sample-name": "Authorization with Legacy Token",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "paymentInformation": {
+ "legacyToken": {
+ "id": "B21E6717A6F03479E05341588E0A303F"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "22",
+ "currency": "USD"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ },
+ "parentTag": "Authorization using Tokens"
+ },
+ "example53": {
+ "summary": "Authorization with PA Enroll (Authentication Needed) & Customer Token Creation",
+ "sample-name": "Authorization with PA Enroll (Authentication Needed) & Customer Token Creation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "actionList": [
+ "TOKEN_CREATE",
+ "CONSUMER_AUTHENTICATION"
+ ],
+ "actionTokenTypes": [
+ "customer",
+ "paymentInstrument",
+ "shippingAddress"
+ ]
+ },
+ "consumerAuthenticationInformation": {
+ "challengeCode": 4,
+ "requestorId": 123123197675,
+ "referenceId": "CybsCruiseTester-8ac0b02f",
+ "authenticationBrand": "VISA"
+ },
+ "orderInformation": {
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US",
+ "phoneNumber": "4158880000",
+ "email": "test@cybs.com"
+ },
+ "shipTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "postalCode": "94105",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "country": "US"
+ },
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "4111111111111111",
+ "securityCode": "123",
+ "expirationMonth": "12"
+ }
+ }
+ },
+ "parentTag": "Authorization with Token Create"
+ },
+ "example54": {
+ "summary": "Authorization with Transit Tap Id",
+ "sample-name": "Authorization with Transit Tap Id",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "industryDataType": "transit",
+ "authorizationOptions": {
+ "transportationMode": 4,
+ "aggregatedAuthIndicator": true,
+ "deferredAuthIndicator": true
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": 4.21,
+ "currency": "USD"
+ }
+ },
+ "pointOfSaleInformation": {
+ "catLevel": 2,
+ "entryMode": "contactless",
+ "terminalCapability": 5
+ },
+ "tokenInformation": {
+ "jti": "a96392f4-cde4-11eb-b8bc-0242ac130002"
+ }
+ },
+ "parentTag": "Authorization using Tokens"
+ },
+ "example55": {
+ "summary": "Pin Debit Purchase Using Swiped Track Data with Visa Platform Connect",
+ "sample-name": "Pin Debit Purchase Using Swiped Track Data with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "Pin Debit Purchase Using Swiped Track Data",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?",
+ "entryMode": "swiped",
+ "terminalCapability": 4,
+ "pinBlockEncodingFormat": 1,
+ "encryptedPin": "52F20658C04DB351",
+ "encryptedKeySerialNumber": "FFFF1B1D140000000005"
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "VMHF"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "202.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ },
+ "card": {
+ "useAs": "",
+ "sourceAccountType": "UA"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example56": {
+ "summary": "Pin Debit Purchase Using EMV Contact with Visa Platform Connect",
+ "sample-name": "Pin Debit Purchase Using EMV Contact with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "Pin Debit Purchase Using EMV Contact",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "entryMode": "contact",
+ "terminalCapability": 4,
+ "emv": {
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000",
+ "cardSequenceNumber": 1
+ },
+ "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?",
+ "pinBlockEncodingFormat": 1,
+ "encryptedPin": "52F20658C04DB351",
+ "encryptedKeySerialNumber": "FFFF1B1D140000000005"
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "VMHF"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "202.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ },
+ "card": {
+ "useAs": "",
+ "sourceAccountType": "UA"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example57": {
+ "summary": "Pin Debit Purchase Using EMV Technology with Contactless Read with Visa Platform Connect",
+ "sample-name": "Pin Debit Purchase Using EMV Technology with Contactless Read with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "Pin Debit Purchase Using EMV Contactless",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": ";4111111111111111=33121019761186800000?",
+ "entryMode": "contactless",
+ "terminalCapability": 4,
+ "emv": {
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000",
+ "cardSequenceNumber": 1
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "VMHF"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "202.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ },
+ "card": {
+ "useAs": "",
+ "sourceAccountType": "UA"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example58": {
+ "summary": "Pin Debit Purchase with Cashback Request with Visa Platform Connect",
+ "sample-name": "Pin Debit Purchase with Cashback Request with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "Pin Debit Purchase With Cashback",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": ";4111111111111111=33121019761186800000?",
+ "entryMode": "contactless",
+ "terminalCapability": 4,
+ "emv": {
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000",
+ "cardSequenceNumber": 1
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "VMHF"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "204.00",
+ "currency": "USD",
+ "cashbackAmount": "45.00"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ },
+ "card": {
+ "useAs": "",
+ "sourceAccountType": "UA"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example59": {
+ "summary": "Pin Debit Purchase Using EMV Contactless Balance Inquiry with Visa Platform Connect",
+ "sample-name": "Pin Debit Purchase Using EMV Contactless Balance Inquiry with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "Pin Debit Purchase - Balance Inquiry",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": ";4111111111111111=33121019761186800000?",
+ "entryMode": "contactless",
+ "terminalCapability": 4,
+ "emv": {
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000",
+ "cardSequenceNumber": 1
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "authorizationOptions": {
+ "balanceInquiry": "true"
+ },
+ "networkRoutingOrder": "VMHF"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "0.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ },
+ "card": {
+ "useAs": "",
+ "sourceAccountType": "UA"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example60": {
+ "summary": "EBT - Purchase from SNAP Account with Visa Platform Connect",
+ "sample-name": "EBT - Purchase from SNAP Account with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "EBT - Purchase From SNAP Account",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?",
+ "entryMode": "swiped",
+ "terminalCapability": 4,
+ "pinBlockEncodingFormat": 1,
+ "encryptedPin": "52F20658C04DB351",
+ "encryptedKeySerialNumber": "FFFF1B1D140000000005"
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "K",
+ "purchaseOptions": {
+ "isElectronicBenefitsTransfer": true,
+ "eligibilityIndicator": "Y",
+ "benefitAmount": "10.00",
+ "benefitType": "52"
+ },
+ "electronicBenefitsTransfer": {
+ "category": "FOOD"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "101.00",
+ "currency": "USD"
+ },
+ "merchantInformation": {
+ "categoryCode": "5499"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example61": {
+ "summary": "EBT - Purchase from SNAP Account with Available Balance In Response with Visa Platform Connect",
+ "sample-name": "EBT - Purchase from SNAP Account with Available Balance In Response with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "EBT - Purchase From SNAP Account (Available Balance)",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?",
+ "entryMode": "swiped",
+ "terminalCapability": 4,
+ "pinBlockEncodingFormat": 1,
+ "encryptedPin": "52F20658C04DB351",
+ "encryptedKeySerialNumber": "FFFF1B1D140000000005"
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "K",
+ "purchaseOptions": {
+ "isElectronicBenefitsTransfer": true,
+ "eligibilityIndicator": "N",
+ "benefitAmount": "10.00",
+ "benefitType": "70"
+ },
+ "electronicBenefitsTransfer": {
+ "category": "FOOD"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "6022.00",
+ "currency": "USD"
+ },
+ "merchantInformation": {
+ "categoryCode": "5499"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example62": {
+ "summary": "EBT - Electronic Voucher Purchase from SNAP Account with Visa Platform Connect",
+ "sample-name": "EBT - Electronic Voucher Purchase from SNAP Account with Visa Platform Connect",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "EBT - Voucher Purchase From SNAP Account",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?",
+ "entryMode": "keyed",
+ "terminalCapability": 4
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "K",
+ "purchaseOptions": {
+ "isElectronicBenefitsTransfer": true,
+ "eligibilityIndicator": "Y",
+ "benefitAmount": "10.00",
+ "benefitType": "53"
+ },
+ "electronicBenefitsTransfer": {
+ "voucherSerialNumber": "123451234512345",
+ "category": "FOOD"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "103.00",
+ "currency": "USD"
+ },
+ "merchantInformation": {
+ "categoryCode": "5999"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4012002000013007",
+ "expirationMonth": "12",
+ "expirationYear": "25"
+ },
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example63": {
+ "summary": "EBT - Purchase from Cash Benefits Account with Cashback",
+ "sample-name": "EBT - Purchase from Cash Benefits Account with Cashback",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "EBT - Purchase from Cash Benefits Account with CB",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?",
+ "entryMode": "swiped",
+ "terminalCapability": 4,
+ "pinBlockEncodingFormat": 1,
+ "encryptedPin": "52F20658C04DB351",
+ "encryptedKeySerialNumber": "FFFF1B1D140000000005"
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "K",
+ "purchaseOptions": {
+ "isElectronicBenefitsTransfer": true,
+ "eligibilityIndicator": "Y",
+ "benefitAmount": "10.00",
+ "benefitType": "59"
+ },
+ "electronicBenefitsTransfer": {
+ "category": "CASH"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "702.00",
+ "currency": "USD",
+ "cashbackAmount": "45.00"
+ },
+ "merchantInformation": {
+ "categoryCode": "5411"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "type": "001"
+ },
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example64": {
+ "summary": "SI Completion Amount>0",
+ "sample-name": "SI Completion",
+ "value": {
+ "deviceInformation": {
+ "httpAcceptBrowserValue": "http",
+ "userAgentBrowserValue": "safari",
+ "ipAddress": "10.10.10.10"
+ },
+ "consumerAuthenticationInformation": {
+ "authenticationTransactionContextId": "100000000000000000000000025253",
+ "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF",
+ "authenticationBrand": "MASTERCARD"
+ },
+ "processingInformation": {
+ "commerceIndicator": "rpy",
+ "actionList": [
+ "BILLING_AGREEMENT_CREATE"
+ ]
+ },
+ "aggregatorInformation": {
+ "subMerchant": {
+ "name": "rupay"
+ },
+ "name": "aggregatorname"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "SG",
+ "lastName": "VDP",
+ "address2": "test",
+ "address1": "201 S. Division St.",
+ "postalCode": "48104-2201",
+ "locality": "Ann Arbor",
+ "administrativeArea": "MI",
+ "firstName": "RTS",
+ "phoneNumber": "999999999",
+ "district": "MI",
+ "buildingNumber": "123",
+ "company": {
+ "name": "Visa"
+ },
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "100.0",
+ "currency": "INR"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2031",
+ "number": "5082794233463",
+ "securityCode": "123",
+ "expirationMonth": "12",
+ "type": "061"
+ }
+ },
+ "installmentInformation": {
+ "paymentType": "1"
+ }
+ }
+ },
+ "example65": {
+ "summary": "Redirectional SI Completion Amount > 0",
+ "sample-name": "S2S SI Completion",
+ "value": {
+ "deviceInformation": {
+ "httpAcceptBrowserValue": "http",
+ "userAgentBrowserValue": "safari",
+ "ipAddress": "10.10.10.10"
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1MjM2",
+ "xid": "OTE0OTE2MzI5MzE1MDUyOTU4Mjc=",
+ "authenticationBrand": "MASTERCARD"
+ },
+ "processingInformation": {
+ "commerceIndicator": "rpy",
+ "actionList": [
+ "BILLING_AGREEMENT_CREATE"
+ ]
+ },
+ "aggregatorInformation": {
+ "subMerchant": {
+ "name": "rupay"
+ },
+ "name": "aggregatorname",
+ "streetAddress": "202 S. Division St.",
+ "city": "Phoenix",
+ "state": "Arizona",
+ "postalCode": "560048",
+ "country": "USA"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "IN",
+ "firstName": "Krishna",
+ "lastName": "CYBS",
+ "phoneNumber": "9999999999",
+ "address1": "201 S. Division St.",
+ "district": "BLR",
+ "postalCode": "560048",
+ "locality": "NPCI",
+ "company": {
+ "name": "Visa"
+ },
+ "administrativeArea": "MI",
+ "email": "test@cybs.com"
+ },
+ "amountDetails": {
+ "totalAmount": "00.00",
+ "currency": "INR"
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2026",
+ "number": "50823043205909",
+ "securityCode": "123",
+ "expirationMonth": "08",
+ "type": "061"
+ }
+ },
+ "installmentInformation": {
+ "paymentType": "1"
+ }
+ }
+ },
+ "example66": {
+ "summary": "PIN-less Debit Purchase Using EMV Technology with Contactless Less Than or Equal to $50",
+ "sample-name": "PIN-less Debit Purchase Using EMV Technology with Contactless Less Than or Equal to $50",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "PIN-less Debit Purchase Using EMV Contactless",
+ "partner": {
+ "thirdPartyCertificationNumber": "PTP1234"
+ }
+ },
+ "pointOfSaleInformation": {
+ "trackData": ";4111111111111111=33121019761186800000?",
+ "entryMode": "contactless",
+ "terminalCapability": 4,
+ "terminalPinCapability": 0,
+ "emv": {
+ "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000",
+ "cardSequenceNumber": 1
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "retail",
+ "networkRoutingOrder": "VMHF"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "10.00",
+ "currency": "USD"
+ }
+ },
+ "paymentInformation": {
+ "paymentType": {
+ "name": "CARD",
+ "subTypeName": "DEBIT"
+ },
+ "card": {
+ "useAs": "",
+ "sourceAccountType": "UA"
+ }
+ }
+ },
+ "parentTag": "Card Present with Visa Platform Connect"
+ },
+ "example67": {
+ "summary": "CIT Initiating Recurring Subscription",
+ "sample-name": "CIT Initiating Recurring Subscription",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "vbv",
+ "authorizationOptions": {
+ "initiator": {
+ "credentialStoredOnFile": true
+ }
+ },
+ "recurringOptions": {
+ "firstRecurringPayment": true
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=",
+ "authenticationBrand": "MASTERCARD"
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "example68": {
+ "summary": "MIT Recurring",
+ "sample-name": "MIT Recurring",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "recurring",
+ "authorizationOptions": {
+ "initiator": {
+ "type": "merchant",
+ "storedCredentialUsed": true,
+ "merchantInitiatedTransaction": {
+ "previousTransactionId": "123456789012345"
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031",
+ "type": "001"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "example69": {
+ "summary": "CIT Initiating Instalment Subscription - UK",
+ "sample-name": "CIT Initiating Instalment Subscription - UK",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "vbv",
+ "authorizationOptions": {
+ "initiator": {
+ "credentialStoredOnFile": true
+ }
+ },
+ "recurringOptions": {
+ "firstRecurringPayment": true
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=",
+ "authenticationBrand": "MASTERCARD"
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "example70": {
+ "summary": "MIT Instalment",
+ "sample-name": "MIT Instalment",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "install",
+ "authorizationOptions": {
+ "initiator": {
+ "type": "merchant",
+ "storedCredentialUsed": true,
+ "merchantInitiatedTransaction": {
+ "previousTransactionId": "123456789012345"
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031",
+ "type": "001"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "example71": {
+ "summary": "CIT Placing Credential on File",
+ "sample-name": "CIT Placing Credential on File",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "vbv",
+ "authorizationOptions": {
+ "initiator": {
+ "credentialStoredOnFile": true
+ }
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=",
+ "authenticationBrand": "MASTERCARD"
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "example72": {
+ "summary": "MIT Unscheduled Credential on File",
+ "sample-name": "MIT Unscheduled Credential on File",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "internet",
+ "authorizationOptions": {
+ "initiator": {
+ "type": "merchant",
+ "storedCredentialUsed": true,
+ "merchantInitiatedTransaction": {
+ "previousTransactionId": "123456789012345"
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031",
+ "type": "001"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "example73": {
+ "summary": "MIT Industry Practice - Resubmission",
+ "sample-name": "MIT Industry Practice - Resubmission",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "moto",
+ "authorizationOptions": {
+ "initiator": {
+ "type": "merchant",
+ "storedCredentialUsed": true,
+ "merchantInitiatedTransaction": {
+ "reason": "1",
+ "previousTransactionId": "123456789012345"
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031",
+ "type": "001"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "example74": {
+ "summary": "MIT Industry Practice - Delayed Charge - 3RI Visa",
+ "sample-name": "MIT Industry Practice - Delayed Charge - 3RI Visa",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TC50171_3"
+ },
+ "processingInformation": {
+ "commerceIndicator": "vbv",
+ "authorizationOptions": {
+ "initiator": {
+ "type": "merchant",
+ "storedCredentialUsed": true,
+ "merchantInitiatedTransaction": {
+ "reason": "2",
+ "previousTransactionId": "123456789012345"
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "card": {
+ "number": "4111111111111111",
+ "expirationMonth": "12",
+ "expirationYear": "2031",
+ "type": "001"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "102.21",
+ "currency": "GBP"
+ },
+ "billTo": {
+ "firstName": "John",
+ "lastName": "Doe",
+ "address1": "1 Market St",
+ "locality": "san francisco",
+ "administrativeArea": "CA",
+ "postalCode": "94105",
+ "country": "US",
+ "email": "test@cybs.com",
+ "phoneNumber": "4158880000"
+ }
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=",
+ "paresStatus": "Y",
+ "authenticationBrand": "VISA"
+ }
+ },
+ "parentTag": "MIT Framework"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "invoiceDetails": {
+ "merchantDescriptor": {
+ "name": "Test Merchant",
+ "address1": "Merchant Street",
+ "locality": "Test City",
+ "administrativeArea": "CA",
+ "postalCode": "96162",
+ "country": "US",
+ "phoneNumber": "9999999999"
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "amountDetails": {
+ "totalAmount": "9850",
+ "currency": "USD"
+ },
+ "invoiceDetails": {
+ "merchantDescriptor": {
+ "name": "Test Merchant",
+ "locality": "Test City",
+ "contact": "9999999999",
+ "country": "US",
+ "phoneNumber": "9999999999",
+ "postalCode": "96162",
+ "administrativeArea": "CA",
+ "street": "Merchant Street"
+ }
+ },
+ "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?;"
+ },
+ "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"
+ },
+ "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": {
+ "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"
+ },
+ "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": "10000.00",
+ "currency": "USD"
+ },
+ "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"
+ },
+ "invoiceDetails": {
+ "merchantDescriptor": {
+ "name": "Test Merchant",
+ "address1": "Merchant Street",
+ "locality": "Test City",
+ "administrativeArea": "CA",
+ "postalCode": "96162",
+ "country": "US",
+ "phoneNumber": "9999999999"
+ }
+ }
+ },
+ "purchaseTotals": {
+ "currency": "USD",
+ "grandTotalAmount": "10000.00"
+ },
+ "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"
+ },
+ "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"
+ },
+ "invoiceDetails": {
+ "merchantDescriptor": {
+ "name": "Test Merchant",
+ "address1": "Merchant Street",
+ "locality": "Test City",
+ "administrativeArea": "CA",
+ "postalCode": "96162",
+ "country": "US",
+ "phoneNumber": "9999999999"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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": "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"
+ },
+ "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": "10000.03",
+ "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": "TC03_03"
+ },
+ "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": {
+ "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"
+ }
+ },
+ "installmentInformation": {
+ "sequence": "10",
+ "frequency": "B"
+ },
+ "aggregatorInformation": {
+ "subMerchant": {
+ "id": "ABCDE1234567890"
+ }
+ },
+ "clientReferenceInformation": {
+ "code": "TC05_05"
+ },
+ "travelInformation": {
+ "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"
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "shipTo": {
+ "postalCode": "94041",
+ "address2": "Cube 2386",
+ "address1": "1295 Charleston Rd",
+ "firstName": "Olivia",
+ "phoneNumber": "650-965-6000",
+ "country": "AE",
+ "locality": "Mountain View"
+ },
+ "invoiceDetails": {
+ "purchaseOrderNumber": "USERPO1"
+ }
+ },
+ "installmentInformation": {
+ "sequence": "10",
+ "frequency": "B"
+ },
+ "aggregatorInformation": {
+ "subMerchant": {
+ "id": "ABCDE1234567890"
+ }
+ },
+ "clientReferenceInformation": {
+ "code": "TC05_06"
+ },
+ "travelInformation": {
+ "transit": {
+ "airline": {
+ "ticketIssuer": {
+ "address": "issuer address"
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "shipTo": {
+ "postalCode": "94041",
+ "address2": "Cube 2386",
+ "address1": "1295 Charleston Rd",
+ "firstName": "Olivia",
+ "phoneNumber": "650-965-6000",
+ "country": "AE",
+ "locality": "Mountain View"
+ },
+ "invoiceDetails": {
+ "purchaseOrderNumber": "USERPO1"
+ }
+ },
+ "installmentInformation": {
+ "sequence": "10",
+ "frequency": "B"
+ },
+ "aggregatorInformation": {
+ "subMerchant": {
+ "id": "ABCDE1234567890"
+ },
+ "aggregatorId": "10046356"
+ },
+ "clientReferenceInformation": {
+ "code": "TC05_01"
+ },
+ "travelInformation": {
+ "transit": {
+ "airline": {
+ "ticketIssuer": {
+ "address": "issuer address"
+ }
+ }
+ },
+ "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": "10000.01",
+ "currency": "USD"
+ },
+ "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"
+ },
+ "shipTo": {
+ "postalCode": "94041",
+ "address2": "Cube 2386",
+ "address1": "1295 Charleston Rd",
+ "firstName": "Olivia",
+ "phoneNumber": "650-965-6000",
+ "country": "AE",
+ "locality": "Mountain View"
+ },
+ "invoiceDetails": {
+ "purchaseOrderNumber": "USERPO1"
+ }
+ },
+ "installmentInformation": {
+ "sequence": "10",
+ "frequency": "B"
+ },
+ "aggregatorInformation": {
+ "subMerchant": {
+ "id": "ABCDE1234567890"
+ },
+ "aggregatorId": "00000123456"
+ },
+ "clientReferenceInformation": {
+ "code": "TC05_04"
+ },
+ "travelInformation": {
+ "transit": {
+ "airline": {
+ "ticketIssuer": {
+ "address": "issuer address"
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ },
+ "duration": "1"
+ },
+ "paymentInformation": {
+ "card": {
+ "type": "007",
+ "expirationYear": "2040",
+ "number": "3562330041073110",
+ "expirationMonth": "12",
+ "securityCode": "123"
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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_112"
+ },
+ "recurringPaymentInformation": {
+ "numberOfPayments": "4"
+ },
+ "paymentInformation": {
+ "card": {
+ "type": "003",
+ "expirationYear": "2040",
+ "number": "377671320002630",
+ "expirationMonth": "12",
+ "securityCode": "1234"
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "recurring",
+ "capture": true
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "ABCDEabcde12345678900987654321abcdeABCDE"
+ }
+ },
+ "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": "TC01_09"
+ },
+ "paymentInformation": {
+ "card": {
+ "type": "005",
+ "expirationYear": "2040",
+ "number": "3643899996001600",
+ "expirationMonth": "12",
+ "securityCode": "123"
+ }
+ },
+ "processingInformation": {
+ "commerceIndicator": "install",
+ "capture": true
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "ABCDEabcde12345678900987654321abcdeABCDE"
+ }
+ },
+ "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"
+ }
+ },
+ "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_15"
+ },
+ "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": "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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_DC_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_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"
+ },
+ "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"
+ },
+ "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_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"
+ },
+ "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"
+ }
+ },
+ "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": {
+ "code": "TC01_18"
+ },
+ "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": "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"
+ }
+ },
+ "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"
+ },
+ "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_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": "1. 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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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": "install",
+ "paymentSolution": "mpos",
+ "capture": true
+ },
+ "merchantInformation": {
+ "salesOrganizationId": "45890500000"
+ },
+ "consumerAuthenticationInformation": {
+ "cavv": "ABCDEabcde12345678900987654321abcdeABCDE"
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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": "10000.02",
+ "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
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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": "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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_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": "10000.06",
+ "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": "10000.07",
+ "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": "10000.08",
+ "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": "10000.09"
+ }
+ },
+ "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": "10000.10",
+ "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": "10000.04",
+ "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": "10000.05",
+ "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": "7. Auth Bill Retail Swiped AX",
+ "sample-name": "7. 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 - BLOCKED_BY_CARDHOLDER\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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "paymentSolution": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n"
+ },
+ "reconciliationId": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n"
+ },
+ "linkId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n"
+ },
+ "reportGroup": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n"
+ },
+ "visaCheckoutId": {
+ "type": "string",
+ "maxLength": 48,
+ "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n"
+ },
+ "issuer": {
+ "type": "object",
+ "properties": {
+ "discretionaryData": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n"
+ }
+ }
+ },
+ "actionList": {
+ "type": "array",
+ "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transactionTypeIndicator": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "properties": {
+ "serviceFeeAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Service fee. Required for service fee transactions.\n"
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "pointOfSaleInformation": {
+ "type": "object",
+ "properties": {
+ "emv": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "string",
+ "maxLength": 1998,
+ "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n"
+ }
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "type": "object",
+ "properties": {
+ "paymentType": {
+ "type": "object",
+ "properties": {
+ "method": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Identifier for the payment type\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "paymentSolution": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n"
+ },
+ "reconciliationId": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n"
+ },
+ "linkId": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n"
+ },
+ "reportGroup": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n"
+ },
+ "visaCheckoutId": {
+ "type": "string",
+ "maxLength": 48,
+ "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n"
+ },
+ "issuer": {
+ "type": "object",
+ "properties": {
+ "discretionaryData": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n"
+ }
+ }
+ },
+ "actionList": {
+ "type": "array",
+ "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transactionTypeIndicator": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.\nPossible values:\n- 201- Mastercard Rebate\n- 202- rePower Load Value\n- 203- Gaming Re-pay\n- 204- General Person-to-Person\n- 205- General Transfer to Own Account\n- 206- Agent Cash Out\n- 207- Payment of Own Credit Card Bill\n- 208- Business Disbursement\n- 209- Government/Non-Profit Disbursement\n- 210- Rapid Merchant Settlement\n- 211- Cash in at ATM (Usage limited to specific countries)\n- 212- Cash in at Point of Sale (Usage limited to specific countries)\n- 213- General Business to Business Transfer\n- 214- Mastercard Merchant Presented QR\n- 215- Mastercard Merchant Presented QR Refund Payment\n- 216- Utility Payments (for Brazil domestic use only)\n- 217- Government Services (for Brazil domestic use only)\n- 218- Mobile phone top-ups (for Brazil domestic use only)\n- 219- Coupon booklet payments (for Brazil domestic use only)\n- 220- General Person-to-Person Transfer\n- 221- Person-to-Person Transfer to Card Account\n- 222- General Transfer to Own Account\n- 223- Agent Cash Out\n- 224- Payment of Own Credit Card Bill\n- 225- Business Disbursement\n- 226- Transfer to Own Staged Digital Wallet Account\n- 227- Transfer to Own Debit or Prepaid Account\n- 228- General Business-to-Business Transfer\n- 229- Installment-based repayment\n- 230- Mastercard ATM Cash Pick-Up Transaction\n- 231- Cryptocurrency\n- 232- High-risk Securities\n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "properties": {
+ "serviceFeeAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Service fee. Required for service fee transactions.\n"
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "pointOfSaleInformation": {
+ "type": "object",
+ "properties": {
+ "emv": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "string",
+ "maxLength": 1998,
+ "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "dutyAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total charges for any import or export duties included in the order.\n"
+ },
+ "gratuityAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount for all the items in the order.\n"
+ },
+ "nationalTaxIncluded": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n"
+ },
+ "taxAppliedAfterDiscount": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n"
+ },
+ "taxAppliedLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n"
+ },
+ "taxTypeCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n"
+ },
+ "freightAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "foreignAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "foreignCurrency": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "exchangeRate": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n"
+ },
+ "exchangeRateTimeStamp": {
+ "type": "string",
+ "maxLength": 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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "dutyAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total charges for any import or export duties included in the order.\n"
+ },
+ "gratuityAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount for all the items in the order.\n"
+ },
+ "nationalTaxIncluded": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n"
+ },
+ "taxAppliedAfterDiscount": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n"
+ },
+ "taxAppliedLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n"
+ },
+ "taxTypeCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n"
+ },
+ "freightAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "foreignAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "foreignCurrency": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "exchangeRate": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n"
+ },
+ "exchangeRateTimeStamp": {
+ "type": "string",
+ "maxLength": 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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "dutyAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total charges for any import or export duties included in the order.\n"
+ },
+ "gratuityAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount for all the items in the order.\n"
+ },
+ "nationalTaxIncluded": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n"
+ },
+ "taxAppliedAfterDiscount": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n"
+ },
+ "taxAppliedLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n"
+ },
+ "taxTypeCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n"
+ },
+ "freightAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "foreignAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "foreignCurrency": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "exchangeRate": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n"
+ },
+ "exchangeRateTimeStamp": {
+ "type": "string",
+ "maxLength": 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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "dutyAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total charges for any import or export duties included in the order.\n"
+ },
+ "gratuityAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount for all the items in the order.\n"
+ },
+ "nationalTaxIncluded": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n"
+ },
+ "taxAppliedAfterDiscount": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n"
+ },
+ "taxAppliedLevel": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n"
+ },
+ "taxTypeCode": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n"
+ },
+ "freightAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "foreignAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "foreignCurrency": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "Set this field to the converted amount that was returned by the DCC provider.\n"
+ },
+ "exchangeRate": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n"
+ },
+ "exchangeRateTimeStamp": {
+ "type": "string",
+ "maxLength": 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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ },
+ "agreementInformation": {
+ "type": "object",
+ "properties": {
+ "agreementId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Value of the returned in the billing agreement service response.\n"
+ }
+ }
+ },
+ "merchantInformation": {
+ "type": "object",
+ "properties": {
+ "transactionLocalDateTime": {
+ "type": "string",
+ "maxLength": 16,
+ "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "actionList": {
+ "type": "array",
+ "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "transactionId": ""
+ }
+ }
+ }
+ },
+ {
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ },
+ "agreementInformation": {
+ "type": "object",
+ "properties": {
+ "agreementId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Value of the returned in the billing agreement service response.\n"
+ }
+ }
+ },
+ "merchantInformation": {
+ "type": "object",
+ "properties": {
+ "transactionLocalDateTime": {
+ "type": "string",
+ "maxLength": 16,
+ "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "actionList": {
+ "type": "array",
+ "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "transactionId": ""
+ }
+ }
+ }
+ },
+ {
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ },
+ "agreementInformation": {
+ "type": "object",
+ "properties": {
+ "agreementId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Value of the returned in the billing agreement service response.\n"
+ }
+ }
+ },
+ "merchantInformation": {
+ "type": "object",
+ "properties": {
+ "transactionLocalDateTime": {
+ "type": "string",
+ "maxLength": 16,
+ "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "actionList": {
+ "type": "array",
+ "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "transactionId": ""
+ }
+ }
+ }
+ },
+ {
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ },
+ "agreementInformation": {
+ "type": "object",
+ "properties": {
+ "agreementId": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Value of the returned in the billing agreement service response.\n"
+ }
+ }
+ },
+ "merchantInformation": {
+ "type": "object",
+ "properties": {
+ "transactionLocalDateTime": {
+ "type": "string",
+ "maxLength": 16,
+ "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n"
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "actionList": {
+ "type": "array",
+ "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "transactionId": ""
+ }
+ }
+ }
+ },
+ {
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "properties": {
+ "paymentId": {
+ "type": "string",
+ "maxLength": 28,
+ "description": "This field is to accept the id of credit/capture in the body of the requests so the type of void can be identified and processed correctly."
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "transactionId": ""
+ }
+ }
+ }
+ }
+ ],
+ "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",
+ "noAuth": true,
+ "firstLevelApiLifeCycle": "hidden",
+ "secondLevelApiLifeCycle": "hidden",
+ "apiLifeCycle": "hidden"
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount for all the items in the order.\n"
+ },
+ "dutyAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total charges for any import or export duties included in the order.\n"
+ },
+ "exchangeRate": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n"
+ },
+ "exchangeRateTimeStamp": {
+ "type": "string",
+ "maxLength": 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 - BLOCKED_BY_CARDHOLDER\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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 12,
+ "description": "Total tax amount for all the items in the order.\n"
+ },
+ "dutyAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total charges for any import or export duties included in the order.\n"
+ },
+ "exchangeRate": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n"
+ },
+ "exchangeRateTimeStamp": {
+ "type": "string",
+ "maxLength": 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 - BLOCKED_BY_CARDHOLDER\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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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).\nThe availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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 using a Card",
+ "value": {
+ "card": {
+ "number": "4111111111111111"
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create Instrument Identifier using a Bank Account",
+ "value": {
+ "bankAccount": {
+ "number": "4100",
+ "routingNumber": "071923284"
+ }
+ }
+ },
+ "example2": {
+ "summary": "Create Instrument Identifier using a Card and Create Network Token",
+ "value": {
+ "type": "enrollable card",
+ "card": {
+ "number": "4622943123116478",
+ "expirationMonth": "12",
+ "expirationYear": "2026"
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create Instrument Identifier using a Token (e.g digital PAN) and Create Network Token",
+ "value": {
+ "type": "enrollable token",
+ "card": {
+ "number": "4895370017256311",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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 (Card) for Network Tokenization",
+ "value": {
+ "type": "enrollable card",
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ }
+ },
+ "example1": {
+ "summary": "Enroll Instrument Identifier (Token) for Network Tokenization",
+ "value": {
+ "type": "enrollable token",
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2032"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tms/v2/tokenized-cards": {
+ "post": {
+ "summary": "Create a Tokenized Card",
+ "description": "| | | |\n| --- | --- | --- |\n|**Tokenized cards**
A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.\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": "tokenizedcardRequest",
+ "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 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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "tags": [
+ "Tokenized Card"
+ ],
+ "operationId": "postTokenizedCard",
+ "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-card-create-cof-intro.html"
+ },
+ "consumes": [
+ "application/json;charset=utf-8"
+ ],
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an existing tokenized card 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"
+ }
+ },
+ "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 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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "A new tokenized card has been created.",
+ "headers": {
+ "Location": {
+ "description": "Location of the Tokenized Card.",
+ "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 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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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 Network Token using an Issuer Account Reference Id",
+ "value": {
+ "createInstrumentIdentifier": true,
+ "source": "ISSUER",
+ "accountReferenceId": "c0e9dde7a241ec5e9e50cfd823a51c01",
+ "card": {
+ "type": "001"
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create Network Token using a Card",
+ "value": {
+ "createInstrumentIdentifier": true,
+ "source": "ONFILE",
+ "card": {
+ "number": "4622943123116478",
+ "expirationMonth": "12",
+ "expirationYear": "2026"
+ }
+ }
+ },
+ "example2": {
+ "summary": "Create Network Token using a Network Token (e.g digital PAN)",
+ "value": {
+ "createInstrumentIdentifier": true,
+ "source": "TOKEN",
+ "card": {
+ "number": "4895370017256311",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create Network Token using a Card and a Consumer Id",
+ "value": {
+ "createInstrumentIdentifier": true,
+ "source": "ONFILE",
+ "consumerId": "consumerId-1234",
+ "card": {
+ "number": "4622943123116478",
+ "expirationMonth": "12",
+ "expirationYear": "2026"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/tms/v2/tokenized-cards/{tokenizedCardId}": {
+ "get": {
+ "summary": "Retrieve a Tokenized Card",
+ "description": "| | | |\n| --- | --- | --- |\n|**Tokenized Cards**
A Tokenized Card represents a network token.\nNetwork tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.\t\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": "tokenizedCardId",
+ "in": "path",
+ "description": "The Id of a tokenized card.",
+ "required": true,
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32
+ }
+ ],
+ "tags": [
+ "Tokenized Card"
+ ],
+ "operationId": "getTokenizedCard",
+ "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-card-retrieve-tkn-consumer-intro.html"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "x-depends": {
+ "example": {
+ "path": "/tms/v2/tokenized-cards",
+ "verb": "post",
+ "exampleId": "example0"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "id",
+ "destinationField": "tokenizedCardId",
+ "fieldTypeInDestination": "path"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "description": "Returns an existing tokenized card 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"
+ }
+ },
+ "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 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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ ]
+ }
+ }
+ },
+ "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 Tokenized Card",
+ "description": "| | | |\n| --- | --- | --- |\n| The Network Token will attempt to be deleted from the card association and if successful the corresponding TMS Network Token will be deleted.\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": "tokenizedCardId",
+ "in": "path",
+ "description": "The Id of a tokenized card.",
+ "required": true,
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32
+ }
+ ],
+ "tags": [
+ "Tokenized Card"
+ ],
+ "operationId": "deleteTokenizedCard",
+ "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-card-delete-tkn-consumer-intro.html"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "x-depends": {
+ "example": {
+ "path": "/tms/v2/tokenized-cards",
+ "verb": "post"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "id",
+ "destinationField": "tokenizedCardId",
+ "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/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"
+ },
+ "transactionType": {
+ "type": "string",
+ "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n"
+ }
+ }
+ }
+ }
+ ],
+ "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."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Generate Network Token Credentials for a Network Token Transaction (Default)"
+ },
+ "example1": {
+ "summary": "Generate Network Token Credentials for an AFT Transaction",
+ "value": {
+ "paymentCredentialType": "CRYPTOGRAM",
+ "transactionType": "AFT"
+ }
+ }
+ }
+ }
+ },
+ "/tms/v2/tokens/{instrumentIdentifierId}/{tokenProvider}/assets/{assetType}": {
+ "get": {
+ "summary": "Retrieve Card Art",
+ "description": "Retrieves Card Art for a specific Instrument Identifier. The Card Art is a visual representation of the cardholder's payment card.\nCard Art is only available if a Network Token is successfully provisioned.\n",
+ "parameters": [
+ {
+ "name": "instrumentIdentifierId",
+ "in": "path",
+ "description": "The Id of an Instrument Identifier.",
+ "required": true,
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32
+ },
+ {
+ "name": "tokenProvider",
+ "in": "path",
+ "description": "The token provider.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "vts",
+ "mdes",
+ "amex",
+ "mscof"
+ ]
+ },
+ {
+ "name": "assetType",
+ "in": "path",
+ "description": "The type of asset.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "card-art-combined",
+ "brand-logo",
+ "issuer-logo",
+ "icon-logo"
+ ]
+ }
+ ],
+ "tags": [
+ "Token"
+ ],
+ "operationId": "getCardArtAsset",
+ "x-devcenter-metaData": {
+ "categoryTag": "Token_Management",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-card-art.html"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the Card Art Asset Content of a Network Token",
+ "headers": {
+ "v-c-correlation-id": {
+ "description": "The mandatory correlation Id passed by upstream (calling) system.",
+ "type": "string"
+ },
+ "uniqueTransactionID": {
+ "description": "A globally-unique Id associated with your request.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "type": "object",
+ "description": "Represents the Card Art Asset associated to the Network Token.\n",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Card Art Asset.\n",
+ "example": "84cfb836a0000859be62c766bdc9e510"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of Card Art Asset.\n",
+ "example": "cardArtCombined"
+ },
+ "provider": {
+ "type": "string",
+ "description": "The provider of the Card Art Asset.\n",
+ "example": "vts"
+ },
+ "content": {
+ "type": "array",
+ "description": "Array of content objects representing the Card Art Asset.\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The MIME type of the Asset.\n",
+ "example": "image/png"
+ },
+ "data": {
+ "type": "string",
+ "description": "The base64-encoded data of the Asset.\n",
+ "example": "iVBORw0KGgoAAAANSUhEUgAA..."
+ },
+ "width": {
+ "type": "integer",
+ "description": "The width of the Asset in pixels.\n",
+ "example": 1536
+ },
+ "height": {
+ "type": "integer",
+ "description": "The height of the Asset in pixels.\n",
+ "example": 969
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/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. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.",
+ "operationId": "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\nYou can supply up to nine origins within the targetOrigins field for nested iframes.\nIf the list of origins exceeds five ensure that you:\n - Compare the list of origins in the v2/sessions targetOrigins field against the location.ancestorOrigins of the browser. \n - Ensure that the count of origins and their content matches in both. If any origins are absent or mismatched, the system will prevent Microform from loading and display a client-side error message.\n"
+ },
+ "allowedCardNetworks": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of card networks you want to use for this Microform transaction.\n\nMicroform currently supports the following card networks:\n- VISA\n- MASTERCARD\n- AMEX\n- CARNET\n- CARTESBANCAIRES\n- CUP\n- DINERSCLUB\n- DISCOVER\n- EFTPOS\n- ELO\n- 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. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.",
+ "operationId": "payerAuthSetup",
+ "tags": [
+ "Payer Authentication"
+ ],
+ "produces": [
+ "application/hal+json;charset=utf-8"
+ ],
+ "x-devcenter-metaData": {
+ "categoryTag": "Payer_Authentication",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html",
+ "isMLEsupported": true
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ }
+ }
+ },
+ "preOrder": {
+ "type": "string",
+ "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n"
+ },
+ "preOrderDate": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n"
+ },
+ "reordered": {
+ "type": "boolean",
+ "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n"
+ },
+ "shipTo": {
+ "type": "object",
+ "properties": {
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "address3": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
+ },
+ "country": {
+ "type": "string",
+ "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n",
+ "maxLength": 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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ }
+ }
+ }
+ }
+ },
+ "paymentInformation": {
+ "type": "object",
+ "properties": {
+ "card": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. 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).\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "surcharge": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n"
+ }
+ }
+ }
+ }
+ },
+ "billTo": {
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 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 - BLOCKED_BY_CARDHOLDER\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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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)\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\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-dev/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-dev/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-dev/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-dev/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-dev/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-dev/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-dev/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-dev/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-dev/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- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n",
+ "type": "string",
+ "maxLength": 20
+ },
+ "authorizationOptions": {
+ "type": "object",
+ "properties": {
+ "initiator": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "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-dev/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-dev/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-dev/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- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n",
+ "type": "string",
+ "maxLength": 20
+ },
+ "authorizationOptions": {
+ "type": "object",
+ "properties": {
+ "initiator": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "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-dev/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-dev/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-dev/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-dev/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."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/rbs/v1/subscriptions/follow-ons/{requestId}": {
+ "get": {
+ "summary": "Get a Follow-On Subscription",
+ "description": "Get details of the Subscription being created based on the Request Id of an existing successful Transaction.\n",
+ "tags": [
+ "Subscriptions Follow-Ons"
+ ],
+ "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
+ },
+ "produces": [
+ "application/json",
+ "application/hal+json",
+ "application/json;charset=utf-8",
+ "application/hal+json;charset=utf-8"
+ ],
+ "operationId": "getFollowOnSubscription",
+ "parameters": [
+ {
+ "name": "requestId",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "Request Id of an existing successful Transaction"
+ }
+ ],
+ "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."
+ }
+ }
+ },
+ "create": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ }
+ }
+ },
+ "buyerInformation": {
+ "type": "object",
+ "description": "Customer information used during Follow-On Transaction.",
+ "properties": {
+ "merchantCustomerID": {
+ "type": "string",
+ "description": "Merchant identifier for the customer.\n",
+ "maxLength": 100
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Customer's primary email address, including the full domain name.\n"
+ }
+ }
+ },
+ "paymentInstrument": {
+ "type": "object",
+ "description": "Payment instrument used during Follow-On Transaction.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "description": "The Id of the Payment Instrument Token."
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ },
+ "card": {
+ "type": "object",
+ "description": "The masked number (PAN), expirationMonth, expirationYear and type of the card used during transaction.\n",
+ "properties": {
+ "number": {
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 19,
+ "description": "The masked 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": "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "shippingAddress": {
+ "type": "object",
+ "description": "Shipping address used during Follow-On Transaction.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "description": "The Id of the Shipping Address Token."
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "rbs/v1/subscriptions/follow-ons/7216512479796378604957",
+ "method": "GET"
+ },
+ "create": {
+ "href": "rbs/v1/subscriptions/follow-ons/7216512479796378604957",
+ "method": "POST"
+ }
+ },
+ "buyerInformation": {
+ "merchantCustomerID": "Merchant customer identifier",
+ "email": "test@cybs.com"
+ },
+ "paymentInstrument": {
+ "id": "1F90575B08822A60E063AF598E0AB9BF",
+ "bankAccount": {
+ "type": "checking",
+ "number": "XXXXX4100",
+ "routingNumber": "071923284"
+ },
+ "card": {
+ "number": "411111XXXXXX1111",
+ "expirationMonth": "12",
+ "expirationYear": "2024",
+ "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"
+ },
+ "buyerInformation": {
+ "companyTaxID": "12345",
+ "currency": "USD",
+ "dateOfBirth": "2018-12-13",
+ "personalIdentification": {
+ "id": "57684432111321",
+ "type": "driver license",
+ "issuedBy": {
+ "administrativeArea": "CA"
+ }
+ }
+ }
+ },
+ "shippingAddress": {
+ "id": "1F90575B08822A60E063AF598E0AB9BF",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "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 - PROCESSOR_UNAVAILABLE\n - INVALID_FOLLOW_ON_TRANSACTION_STATUS\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."
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a Follow-On Subscription",
+ "description": "Create a new Subscription based on the Request Id of an existing successful Transaction.",
+ "tags": [
+ "Subscriptions Follow-Ons"
+ ],
+ "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": "createFollowOnSubscription",
+ "parameters": [
+ {
+ "name": "requestId",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "Request Id of an existing successful Transaction"
+ },
+ {
+ "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- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n",
+ "type": "string",
+ "maxLength": 20
+ },
+ "authorizationOptions": {
+ "type": "object",
+ "properties": {
+ "initiator": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "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"
+ }
+ }
+ },
+ "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": "FollowOn from 7216512479796378604957",
+ "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-08-01"
+ }
+ }
+ }
+ }
+ ],
+ "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_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_FOLLOW_ON_TRANSACTION_STATUS\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 Follow-On Subscription",
+ "sample-name": "Create Follow-On Subscription",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "FollowOn from 7216512479796378604957",
+ "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-08-01"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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"
+ },
+ "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",
+ "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"
+ },
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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",
+ "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": {
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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",
+ "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"
+ },
+ "method": {
+ "type": "string",
+ "example": "GET"
+ }
+ }
+ }
+ }
+ },
+ "reportDefinitionId": {
+ "type": "string",
+ "description": "Unique Report Identifier of each report type",
+ "example": "210"
+ },
+ "reportName": {
+ "type": "string",
+ "description": "Name of the report specified by merchant while creating the report",
+ "example": "MyTransactionRequestDetailReport"
+ },
+ "reportMimeType": {
+ "type": "string",
+ "example": "application/xml",
+ "description": "Format of the report to get generated\nValid Values:\n- application/xml\n- text/csv\n"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "example": "DAILY",
+ "description": "Frequency of the report to get generated\nValid Values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- ADHOC\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the report\nValid Values:\n- COMPLETED\n- PENDING\n- QUEUED\n- RUNNING\n- ERROR\n- NO_DATA\n"
+ },
+ "reportStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:00:00+05:00",
+ "description": "Specifies the report start time in ISO 8601 format"
+ },
+ "reportEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-02T10:00:00+05:00",
+ "description": "Specifies the report end time in ISO 8601 format"
+ },
+ "timezone": {
+ "type": "string",
+ "example": "America/Chicago",
+ "description": "Time Zone"
+ },
+ "reportId": {
+ "type": "string",
+ "example": "6d9cb5b6-0e97-2d03-e053-7cb8d30af52e",
+ "description": "Unique identifier generated for every reports"
+ },
+ "organizationId": {
+ "type": "string",
+ "example": "Test_MerchantId",
+ "description": "CyberSource Merchant Id"
+ },
+ "queuedTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-03T10:00:00+05:00",
+ "description": "Specifies the time of the report in queued in ISO 8601 format"
+ },
+ "reportGeneratingTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-03T10:00:00+05:00",
+ "description": "Specifies the time of the report started to generate in ISO 8601 format"
+ },
+ "reportCompletedTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-03T10:10:00+05:00",
+ "description": "Specifies the time of the report completed the generation in ISO 8601 format"
+ },
+ "subscriptionType": {
+ "type": "string",
+ "example": "CUSTOM",
+ "description": "Specifies whether the subscription created is either Custom, Standard or Classic\n"
+ },
+ "groupId": {
+ "type": "string",
+ "example": "12345",
+ "description": "Id for selected group."
+ }
+ },
+ "description": "Report Search Result Bean"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid Request",
+ "schema": {
+ "title": "reportingV3ReportsGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "No Reports Found"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Reports"
+ ],
+ "summary": "Create Adhoc Report",
+ "description": "Create a one-time report. You must specify the type of report in reportDefinitionName. For a list of values for reportDefinitionName, see the [Reporting Developer Guide](https://www.cybersource.com/developers/documentation/reporting_and_reconciliation)\n",
+ "operationId": "createReport",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "in": "body",
+ "name": "createAdhocReportRequest",
+ "description": "Report subscription request payload",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Valid CyberSource Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "example": "Test_Merchatnt_id"
+ },
+ "reportDefinitionName": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "[a-zA-Z0-9-]+",
+ "example": "TransactionRequestClass"
+ },
+ "reportFields": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of fields which needs to get included in a report",
+ "example": [
+ "Request.RequestID",
+ "Request.TransactionDate",
+ "Request.MerchantID"
+ ]
+ },
+ "reportMimeType": {
+ "type": "string",
+ "description": "'Format of the report'\n \nValid values:\n- application/xml\n- text/csv\n",
+ "example": "application/xml"
+ },
+ "reportName": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 128,
+ "pattern": "[a-zA-Z0-9-_ ]+",
+ "description": "Name of the report",
+ "example": "My Transaction Request report"
+ },
+ "timezone": {
+ "type": "string",
+ "description": "Timezone of the report",
+ "example": "America/Chicago"
+ },
+ "reportStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the report",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "reportEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End time of the report",
+ "example": "2017-10-02T10:10:10+05:00"
+ },
+ "reportFilters": {
+ "type": "object",
+ "properties": {
+ "Application.Name": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Specifies filter criteria by list of application names separated by comma",
+ "example": "ics_auth"
+ }
+ },
+ "firstName": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Specifies filter criteria by list of first names separated by comma",
+ "example": "Johny"
+ }
+ },
+ "lastName": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Specifies filter criteria by list of last names separated by comma",
+ "example": "Danny"
+ }
+ },
+ "email": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Specifies filter criteria by list of email addresses separated by comma",
+ "example": "example@visa.com"
+ }
+ }
+ }
+ },
+ "reportPreferences": {
+ "type": "object",
+ "description": "Report Preferences",
+ "properties": {
+ "signedAmounts": {
+ "type": "boolean",
+ "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction"
+ },
+ "fieldNameConvention": {
+ "type": "string",
+ "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n"
+ }
+ }
+ },
+ "groupName": {
+ "type": "string",
+ "pattern": "[0-9]*",
+ "description": "Specifies the group name",
+ "example": "myGroup"
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created"
+ },
+ "304": {
+ "description": "Not Modified"
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3ReportsPost400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Create Adhoc Report",
+ "value": {
+ "reportDefinitionName": "TransactionRequestClass",
+ "reportFields": [
+ "Request.RequestID",
+ "Request.TransactionDate",
+ "Request.MerchantID",
+ "AFSFields.IPAddress",
+ "AFSFields.IPCountry",
+ "AFSFields.IPRoutingMethod",
+ "AFSFields.IPState",
+ "Application.Name",
+ "BankInfo.Address",
+ "BankInfo.BranchCode",
+ "BankInfo.City",
+ "BankInfo.Country",
+ "BankInfo.Name",
+ "BankInfo.SwiftCode",
+ "BillTo.Address1",
+ "BillTo.Address2",
+ "BillTo.City",
+ "BillTo.CompanyName",
+ "BillTo.CompanyTaxID",
+ "BillTo.Country",
+ "BillTo.Email",
+ "BillTo.FirstName",
+ "BillTo.LastName",
+ "BillTo.MiddleName",
+ "BillTo.NameSuffix",
+ "BillTo.PersonalID",
+ "BillTo.Phone",
+ "BillTo.State",
+ "BillTo.Title",
+ "BillTo.Zip",
+ "ChargebackAndRetrieval.AdjustmentAmount",
+ "ChargebackAndRetrieval.AdjustmentCurrency",
+ "ChargebackAndRetrieval.ARN",
+ "ChargebackAndRetrieval.CaseIdentifier",
+ "ChargebackAndRetrieval.CaseNumber",
+ "ChargebackAndRetrieval.CaseTime",
+ "ChargebackAndRetrieval.CaseType",
+ "ChargebackAndRetrieval.ChargebackAmount",
+ "ChargebackAndRetrieval.ChargebackCurrency",
+ "ChargebackAndRetrieval.ChargebackMessage",
+ "ChargebackAndRetrieval.ChargebackReasonCode",
+ "ChargebackAndRetrieval.ChargebackReasonCodeDescription",
+ "ChargebackAndRetrieval.ChargebackTime",
+ "ChargebackAndRetrieval.DocumentIndicator",
+ "ChargebackAndRetrieval.FeeAmount",
+ "ChargebackAndRetrieval.FeeCurrency",
+ "ChargebackAndRetrieval.FinancialImpact",
+ "ChargebackAndRetrieval.FinancialImpactType",
+ "ChargebackAndRetrieval.MerchantCategoryCode",
+ "ChargebackAndRetrieval.PartialIndicator",
+ "ChargebackAndRetrieval.ResolutionTime",
+ "ChargebackAndRetrieval.ResolvedToIndicator",
+ "ChargebackAndRetrieval.RespondByDate",
+ "ChargebackAndRetrieval.TransactionType",
+ "Check.AccountEncoderID",
+ "Check.BankTransitNumber",
+ "Check.SecCode",
+ "CustomerFields.BillingAddress1",
+ "CustomerFields.BillingAddress2",
+ "CustomerFields.BillingCity",
+ "CustomerFields.BillingCompanyName",
+ "CustomerFields.BillingCountry",
+ "CustomerFields.BillingEmail",
+ "CustomerFields.BillingFirstName",
+ "CustomerFields.BillingLastName",
+ "CustomerFields.BillingPhone",
+ "CustomerFields.BillingPostalCode",
+ "CustomerFields.BillingState",
+ "CustomerFields.CustomerID",
+ "CustomerFields.CustomerUserName",
+ "CustomerFields.PersonalId(CPF/CNPJ)",
+ "CustomerFields.ShippingAddress1",
+ "CustomerFields.ShippingAddress2",
+ "CustomerFields.ShippingCity",
+ "CustomerFields.ShippingCompanyName",
+ "CustomerFields.ShippingCountry",
+ "CustomerFields.ShippingFirstName",
+ "CustomerFields.ShippingLastName",
+ "CustomerFields.ShippingPhone",
+ "CustomerFields.ShippingPostalCode",
+ "CustomerFields.ShippingState",
+ "DecisionManagerEvents.EventPolicy",
+ "DecisionManagerEvents.TypeofEvent",
+ "Device.DeviceID",
+ "DeviceFingerprintFields.abcd",
+ "DeviceFingerprintFields.BrowserLanguage",
+ "DeviceFingerprintFields.DeviceLatitude",
+ "DeviceFingerprintFields.DeviceLongitude",
+ "DeviceFingerprintFields.displayNameFinalCheck",
+ "DeviceFingerprintFields.DMESignOffFieldEdit",
+ "DeviceFingerprintFields.Fingerprint/DeviceFingerprint",
+ "DeviceFingerprintFields.FlashEnabled",
+ "DeviceFingerprintFields.FlashOperatingSystem",
+ "DeviceFingerprintFields.FlashVersion",
+ "DeviceFingerprintFields.GPSAccuracy",
+ "DeviceFingerprintFields.ImagesEnabled",
+ "DeviceFingerprintFields.Jailbreak/RootPrivileges",
+ "DeviceFingerprintFields.JavaScriptEnabled",
+ "DeviceFingerprintFields.ProfiledURL",
+ "DeviceFingerprintFields.ProxyIPAddress",
+ "DeviceFingerprintFields.ProxyIPAddressActivities",
+ "DeviceFingerprintFields.ProxyServerType",
+ "DeviceFingerprintFields.ScreenResolution",
+ "DeviceFingerprintFields.SignOffFieldDMEEditNewOne",
+ "DeviceFingerprintFields.SmartID",
+ "DeviceFingerprintFields.SmartIDConfidenceLevel",
+ "DeviceFingerprintFields.TimeOnPage",
+ "DeviceFingerprintFields.TrueIPAddress",
+ "DeviceFingerprintFields.TrueIPAddressActivities",
+ "DeviceFingerprintFields.TrueIPAddressAttributes",
+ "DeviceFingerprintFields.txdea1",
+ "DeviceFingerprintFields.txdesv",
+ "EmailageFields.FraudType",
+ "EmailageFields.IP Postal",
+ "EmailageFields.IPCity",
+ "EmailageFields.IPCountry",
+ "EmailageFields.IPRegion",
+ "EmailageFields.SourceIndustry",
+ "Event.Amount",
+ "Event.CurrencyCode",
+ "Event.Event",
+ "Event.EventDate",
+ "Event.ProcessorMessage",
+ "Exception.Action",
+ "Exception.CYBSExceptionID",
+ "Exception.DccLookupStatus",
+ "Exception.ExceptionAmount",
+ "Exception.ExceptionAmountCurrency",
+ "Exception.ExceptionCategory",
+ "Exception.ExceptionDate",
+ "Exception.ExceptionDescription",
+ "Exception.ExceptionDeviceHardwareRevision",
+ "Exception.ExceptionDeviceID",
+ "Exception.ExceptionDeviceOS",
+ "Exception.ExceptionDeviceOSVersion",
+ "Exception.ExceptionDeviceTerminalID",
+ "Exception.ExceptionMessage",
+ "Exception.ExceptionReasonDescription",
+ "Exception.ExceptionStatus",
+ "Exception.ExceptionStatusCode",
+ "Exception.ExceptionType",
+ "Exception.FinancialStatus",
+ "Exception.LastActionDate",
+ "Exception.NextActionDate",
+ "Exception.OriginalTransactionSubmissionDate",
+ "Exception.PaymentNumber",
+ "Exception.ProcessorCaseID",
+ "Exception.ProcessorResponseCode",
+ "Exception.ReasonCode",
+ "Exception.RetryCount",
+ "Fee.AssessmentAmount",
+ "Fee.AssessmentCurrency",
+ "Fee.BillingCycle",
+ "Fee.BillingType",
+ "Fee.ClearedInterchangeLevel",
+ "Fee.DiscountAmount",
+ "Fee.DiscountCurrency",
+ "Fee.DiscountRate",
+ "Fee.DowngradeReasonCode",
+ "Fee.InterchangeAmount",
+ "Fee.InterchangeCurrency",
+ "Fee.InterchangeRate",
+ "Fee.PerItemFeeAmount",
+ "Fee.PerItemFeeCurrency",
+ "Fee.PricedInterchangeLevel",
+ "Fee.ServiceFeeAmount",
+ "Fee.ServiceFeeAmountCcy",
+ "Fee.ServiceFeeFixedAmount",
+ "Fee.ServiceFeeFixedAmountCcy",
+ "Fee.ServiceFeeRate",
+ "Fee.SettlementAmount",
+ "Fee.SettlementCurrency",
+ "Fee.SettlementTime",
+ "Fee.SettlementTimeZone",
+ "Fee.SourceDescriptor",
+ "Fee.TotalFeeAmount",
+ "Fee.TotalFeeCurrency",
+ "Funding.AdjustmentAmount",
+ "Funding.AdjustmentCurrency",
+ "Funding.AdjustmentDescription",
+ "Funding.AdjustmentType",
+ "FundTransfer.BankCheckDigit",
+ "FundTransfer.IbanIndicator",
+ "Invoice.BillingGroupDescription",
+ "Invoice.NotProcessed",
+ "Invoice.OrganizationID",
+ "Invoice.PerformedServices",
+ "Invoice.Processed",
+ "Invoice.ProductCode",
+ "Invoice.ProductDescription",
+ "Invoice.Total",
+ "Invoice.ServiceName",
+ "JP.Amount",
+ "JP.AuthForward",
+ "JP.AuthorizationCode",
+ "JP.CardSuffix",
+ "JP.Currency",
+ "JP.CustomerFirstName",
+ "JP.CustomerLastName",
+ "JP.Date",
+ "JP.Gateway",
+ "JP.JPOInstallmentMethod",
+ "JP.JPOPaymentMethod",
+ "JP.MerchantID",
+ "JP.MerchantReferenceNumber",
+ "JP.PaymentMethod",
+ "JP.RequestID",
+ "JP.SubscriptionID",
+ "JP.Time",
+ "JP.TransactionReferenceNumber",
+ "JP.TransactionType",
+ "LineItems.FulfillmentType",
+ "LineItems.InvoiceNumber",
+ "LineItems.MerchantProductSku",
+ "LineItems.ProductCode",
+ "LineItems.ProductName",
+ "LineItems.Quantity",
+ "LineItems.TaxAmount",
+ "LineItems.UnitPrice",
+ "MarkAsSuspectFields.MarkingDate",
+ "MarkAsSuspectFields.MarkingNotes",
+ "MarkAsSuspectFields.MarkingReason",
+ "MarkAsSuspectFields.MarkingUserName",
+ "Merchant-DefinedDataFields.MerchantDefinedData1",
+ "Merchant-DefinedDataFields.MerchantDefinedData10",
+ "Merchant-DefinedDataFields.MerchantDefinedData100",
+ "Merchant-DefinedDataFields.MerchantDefinedData11",
+ "Merchant-DefinedDataFields.MerchantDefinedData12",
+ "Merchant-DefinedDataFields.MerchantDefinedData13",
+ "Merchant-DefinedDataFields.MerchantDefinedData14",
+ "Merchant-DefinedDataFields.MerchantDefinedData15",
+ "Merchant-DefinedDataFields.MerchantDefinedData16",
+ "Merchant-DefinedDataFields.MerchantDefinedData17",
+ "Merchant-DefinedDataFields.MerchantDefinedData18",
+ "Merchant-DefinedDataFields.MerchantDefinedData19",
+ "Merchant-DefinedDataFields.MerchantDefinedData2",
+ "Merchant-DefinedDataFields.MerchantDefinedData20",
+ "Merchant-DefinedDataFields.MerchantDefinedData21",
+ "Merchant-DefinedDataFields.MerchantDefinedData22",
+ "Merchant-DefinedDataFields.MerchantDefinedData23",
+ "Merchant-DefinedDataFields.MerchantDefinedData24",
+ "Merchant-DefinedDataFields.MerchantDefinedData25",
+ "Merchant-DefinedDataFields.MerchantDefinedData26",
+ "Merchant-DefinedDataFields.MerchantDefinedData27",
+ "Merchant-DefinedDataFields.MerchantDefinedData28",
+ "Merchant-DefinedDataFields.MerchantDefinedData29",
+ "Merchant-DefinedDataFields.MerchantDefinedData3",
+ "Merchant-DefinedDataFields.MerchantDefinedData30",
+ "Merchant-DefinedDataFields.MerchantDefinedData31",
+ "Merchant-DefinedDataFields.MerchantDefinedData32",
+ "Merchant-DefinedDataFields.MerchantDefinedData34",
+ "Merchant-DefinedDataFields.MerchantDefinedData35",
+ "Merchant-DefinedDataFields.MerchantDefinedData36",
+ "Merchant-DefinedDataFields.MerchantDefinedData37",
+ "Merchant-DefinedDataFields.MerchantDefinedData39",
+ "Merchant-DefinedDataFields.MerchantDefinedData4",
+ "Merchant-DefinedDataFields.MerchantDefinedData40",
+ "Merchant-DefinedDataFields.MerchantDefinedData41",
+ "Merchant-DefinedDataFields.MerchantDefinedData43",
+ "Merchant-DefinedDataFields.MerchantDefinedData44",
+ "Merchant-DefinedDataFields.MerchantDefinedData45",
+ "Merchant-DefinedDataFields.MerchantDefinedData46",
+ "Merchant-DefinedDataFields.MerchantDefinedData48",
+ "Merchant-DefinedDataFields.MerchantDefinedData49",
+ "Merchant-DefinedDataFields.MerchantDefinedData5",
+ "Merchant-DefinedDataFields.MerchantDefinedData50",
+ "Merchant-DefinedDataFields.MerchantDefinedData52",
+ "Merchant-DefinedDataFields.MerchantDefinedData53",
+ "Merchant-DefinedDataFields.MerchantDefinedData54",
+ "Merchant-DefinedDataFields.MerchantDefinedData56",
+ "Merchant-DefinedDataFields.MerchantDefinedData57",
+ "Merchant-DefinedDataFields.MerchantDefinedData58",
+ "Merchant-DefinedDataFields.MerchantDefinedData59",
+ "Merchant-DefinedDataFields.MerchantDefinedData6",
+ "Merchant-DefinedDataFields.MerchantDefinedData61",
+ "Merchant-DefinedDataFields.MerchantDefinedData62",
+ "Merchant-DefinedDataFields.MerchantDefinedData63",
+ "Merchant-DefinedDataFields.MerchantDefinedData65",
+ "Merchant-DefinedDataFields.MerchantDefinedData66",
+ "Merchant-DefinedDataFields.MerchantDefinedData67",
+ "Merchant-DefinedDataFields.MerchantDefinedData68",
+ "Merchant-DefinedDataFields.MerchantDefinedData7",
+ "Merchant-DefinedDataFields.MerchantDefinedData70",
+ "Merchant-DefinedDataFields.MerchantDefinedData71",
+ "Merchant-DefinedDataFields.MerchantDefinedData72",
+ "Merchant-DefinedDataFields.MerchantDefinedData73",
+ "Merchant-DefinedDataFields.MerchantDefinedData74",
+ "Merchant-DefinedDataFields.MerchantDefinedData75",
+ "Merchant-DefinedDataFields.MerchantDefinedData76",
+ "Merchant-DefinedDataFields.MerchantDefinedData77",
+ "Merchant-DefinedDataFields.MerchantDefinedData78",
+ "Merchant-DefinedDataFields.MerchantDefinedData79",
+ "Merchant-DefinedDataFields.MerchantDefinedData8",
+ "Merchant-DefinedDataFields.MerchantDefinedData80",
+ "Merchant-DefinedDataFields.MerchantDefinedData81",
+ "Merchant-DefinedDataFields.MerchantDefinedData82",
+ "Merchant-DefinedDataFields.MerchantDefinedData83",
+ "Merchant-DefinedDataFields.MerchantDefinedData84",
+ "Merchant-DefinedDataFields.MerchantDefinedData85",
+ "Merchant-DefinedDataFields.MerchantDefinedData86",
+ "Merchant-DefinedDataFields.MerchantDefinedData87",
+ "Merchant-DefinedDataFields.MerchantDefinedData88",
+ "Merchant-DefinedDataFields.MerchantDefinedData89",
+ "Merchant-DefinedDataFields.MerchantDefinedData9",
+ "Merchant-DefinedDataFields.MerchantDefinedData90",
+ "Merchant-DefinedDataFields.MerchantDefinedData91",
+ "Merchant-DefinedDataFields.MerchantDefinedData92",
+ "Merchant-DefinedDataFields.MerchantDefinedData93",
+ "Merchant-DefinedDataFields.MerchantDefinedData94",
+ "Merchant-DefinedDataFields.MerchantDefinedData95",
+ "Merchant-DefinedDataFields.MerchantDefinedData96",
+ "Merchant-DefinedDataFields.MerchantDefinedData97",
+ "Merchant-DefinedDataFields.MerchantDefinedData98",
+ "Merchant-DefinedDataFields.MerchantDefinedData99",
+ "OctSummary.AccountId",
+ "OctSummary.ResellerId",
+ "OctSummary.SettlementAmountCurrency",
+ "OctSummary.SettlementDate",
+ "OctSummary.TransactionAmountCurrency",
+ "OrderFields.ConnectionMethod",
+ "OrderFields.MerchantID",
+ "OrderFields.MerchantReferenceNumber",
+ "OrderFields.ReasonCode",
+ "OrderFields.ReplyCode",
+ "OrderFields.ReplyFlag",
+ "OrderFields.ReplyMessage",
+ "OrderFields.RequestID",
+ "OrderFields.ShippingMethod",
+ "OrderFields.TransactionDate",
+ "PayerAuth.RequestID",
+ "PayerAuth.TransactionType",
+ "PaymentData.ACHVerificationResult",
+ "PaymentData.ACHVerificationResultMapped",
+ "PaymentData.AcquirerMerchantID",
+ "PaymentData.AuthIndicator",
+ "PaymentData.AuthorizationCode",
+ "PaymentData.AuthorizationType",
+ "PaymentData.AuthReversalAmount",
+ "PaymentData.AuthReversalResult",
+ "PaymentData.AVSResult",
+ "PaymentData.AVSResultMapped",
+ "PaymentData.BalanceAmount",
+ "PaymentData.BalanceCurrencyCode",
+ "PaymentData.BinNumber",
+ "PaymentData.CardCategory",
+ "PaymentData.CardCategoryCode",
+ "PaymentData.CardPresent",
+ "PaymentData.CurrencyCode",
+ "PaymentData.CVResult",
+ "PaymentData.DCCIndicator",
+ "PaymentData.EMVRequestFallBack",
+ "PaymentData.EVEmail",
+ "PaymentData.EVEmailRaw",
+ "PaymentData.EVName",
+ "PaymentData.EVNameRaw",
+ "PaymentData.EVPhoneNumber",
+ "PaymentData.EVPhoneNumberRaw",
+ "PaymentData.EVPostalCode",
+ "PaymentData.EVPostalCodeRaw",
+ "PaymentData.EVStreet",
+ "PaymentData.EVStreetRaw",
+ "PaymentData.ExchangeRate",
+ "PaymentData.ExchangeRateDate",
+ "PaymentData.MandateReferenceNumber",
+ "PaymentData.NetworkCode",
+ "PaymentData.NetworkTransactionID",
+ "PaymentData.NumberOfInstallments",
+ "PaymentData.OriginalAmount",
+ "PaymentData.OriginalCurrency",
+ "PaymentData.PaymentProductCode",
+ "PaymentData.PaymentProcessor",
+ "PaymentData.POSEntryMode",
+ "PaymentData.ProcessorMID",
+ "PaymentData.ProcessorResponseCode",
+ "PaymentData.ProcessorResponseID",
+ "PaymentData.ProcessorTID",
+ "PaymentData.ProcessorTransactionID",
+ "PaymentData.RequestedAmount",
+ "PaymentData.RequestedAmountCurrencyCode",
+ "PaymentData.SubMerchantCity",
+ "PaymentData.SubMerchantCountry",
+ "PaymentData.SubMerchantEmail",
+ "PaymentData.SubMerchantID",
+ "PaymentData.SubMerchantName",
+ "PaymentData.SubMerchantPhone",
+ "PaymentData.SubMerchantPostalCode",
+ "PaymentData.SubMerchantState",
+ "PaymentData.SubMerchantStreet",
+ "PaymentData.TargetAmount",
+ "PaymentData.TargetCurrency",
+ "PaymentFields.AccountSuffix",
+ "PaymentFields.CardBIN",
+ "PaymentFields.CardBINCountry",
+ "PaymentFields.CardIssuer",
+ "PaymentFields.CardScheme",
+ "PaymentFields.CardType",
+ "PaymentFields.CardVerificationResult",
+ "PaymentMethod.AccountSuffix",
+ "PaymentMethod.AdditionalCardType",
+ "PaymentMethod.BankAccountName",
+ "PaymentMethod.BankCode",
+ "PaymentMethod.BoletoBarCodeNumber",
+ "PaymentMethod.BoletoNumber",
+ "PaymentMethod.CardType",
+ "PaymentMethod.CheckNumber",
+ "PaymentMethod.ExpirationMonth",
+ "PaymentMethod.ExpirationYear",
+ "PaymentMethod.IssueNumber",
+ "PaymentMethod.MandateId",
+ "PaymentMethod.StartMonth",
+ "PaymentMethod.StartYear",
+ "PaymentMethod.WalletType",
+ "POSTerminalExceptions.AccountSuffix",
+ "POSTerminalExceptions.CurrencyCode",
+ "POSTerminalExceptions.ExpirationMO",
+ "POSTerminalExceptions.ExpirationYR",
+ "POSTerminalExceptions.LastName",
+ "POSTerminalExceptions.MerchantID",
+ "Recipient.RecipientBillingAmount",
+ "Recipient.RecipientBillingCurrency",
+ "Recipient.ReferenceNumber",
+ "Request.PartnerOriginalTransactionID",
+ "Sender.Address",
+ "Sender.City",
+ "Sender.Country",
+ "Sender.DOB",
+ "Sender.FirstName",
+ "Sender.LastName",
+ "Sender.MiddleInitial",
+ "Sender.PhoneNumber",
+ "Sender.PostalCode",
+ "Sender.SenderReferenceNumber",
+ "Sender.SourceOfFunds",
+ "Sender.State",
+ "ShipTo.CompanyName",
+ "Subscriptions.Applications",
+ "Subscriptions.AuthAVSResults",
+ "Subscriptions.AuthCardVerificationResult",
+ "Subscriptions.AuthCode",
+ "Subscriptions.AuthRCode",
+ "Subscriptions.AuthResponseCode",
+ "Subscriptions.AuthType",
+ "Subscriptions.BillToAddress1",
+ "Subscriptions.BillToAddress2",
+ "Subscriptions.BillToCity",
+ "Subscriptions.BillToCompanyName",
+ "Subscriptions.BillToCountry",
+ "Subscriptions.BillToEmail",
+ "Subscriptions.BillToFirstName",
+ "Subscriptions.BillToLastName",
+ "Subscriptions.BillToState",
+ "Subscriptions.BillToZip",
+ "Subscriptions.CardType",
+ "Subscriptions.Comments",
+ "Subscriptions.ConsumerPhone",
+ "Subscriptions.CurrencyCode",
+ "Subscriptions.CustomerCCAccountSuffix",
+ "Subscriptions.CustomerCCExpiryMonth",
+ "Subscriptions.CustomerCCExpiryYear",
+ "Subscriptions.CustomerCCIssueNo",
+ "Subscriptions.CustomerCCRoutingNumber",
+ "Subscriptions.CustomerCCStartMonth",
+ "Subscriptions.CustomerCCStartYear",
+ "Subscriptions.CustomerCCSubTypeDescription",
+ "Subscriptions.EcommerceIndicator",
+ "Subscriptions.IPAddress",
+ "Subscriptions.MerchantDefinedData1",
+ "Subscriptions.MerchantDefinedData2",
+ "Subscriptions.MerchantDefinedData3",
+ "Subscriptions.MerchantDefinedData4",
+ "Subscriptions.MerchantRefNo",
+ "Subscriptions.MerchantSecureData1",
+ "Subscriptions.MerchantSecureData2",
+ "Subscriptions.MerchantSecureData3",
+ "Subscriptions.MerchantSecureData4",
+ "Subscriptions.PaymentProcessor",
+ "Subscriptions.PaymentsSuccess",
+ "Subscriptions.RCode",
+ "Subscriptions.ReasonCode",
+ "Subscriptions.RequestID",
+ "Subscriptions.RequestToken",
+ "Subscriptions.RFlag",
+ "Subscriptions.RMsg",
+ "Subscriptions.ShipToAddress1",
+ "Subscriptions.ShipToAddress2",
+ "Subscriptions.ShipToCity",
+ "Subscriptions.ShipToCompanyName",
+ "Subscriptions.ShipToCountry",
+ "Subscriptions.ShipToFirstName",
+ "Subscriptions.ShipToLastName",
+ "Subscriptions.ShipToState",
+ "Subscriptions.ShipToZip",
+ "Subscriptions.SubscriptionID",
+ "Subscriptions.TaxAmount",
+ "Subscriptions.TransactionDate",
+ "Subscriptions.TransRefNo",
+ "TaxCalculation.Status",
+ "Token.NetworkTokenTransType",
+ "Token.TokenCode",
+ "TransactionDetails.MerchantId",
+ "TransactionDetails.PaymentMethodDesc",
+ "TransactionDetails.PaymentMethodType",
+ "TransactionDetails.RequestId",
+ "TravelFields.DepartureTime",
+ "VelocityMorphing.FieldName",
+ "VelocityMorphing.InfoCode",
+ "WhitepagesProFields.EmailDomainCreationDate"
+ ],
+ "reportMimeType": "application/xml",
+ "reportName": "testrest_v2",
+ "timezone": "GMT",
+ "reportStartTime": "2020-03-01T12:00:00Z",
+ "reportEndTime": "2020-03-02T12:00:00Z",
+ "reportPreferences": {
+ "signedAmounts": "true",
+ "fieldNameConvention": "SOAPI"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/reports/{reportId}": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "summary": "Get Report Based on Report Id",
+ "description": "Download a report using the reportId value. If you don't already know this value, you can obtain it using the Retrieve available reports call.\n",
+ "operationId": "getReportByReportId",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest"
+ },
+ "x-depends": {
+ "example": {
+ "path": "/reporting/v3/reports",
+ "verb": "get",
+ "exampleId": "Retrieve available reports"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "reportSearchResults[0].reportId",
+ "destinationField": "reportId",
+ "fieldTypeInDestination": "path"
+ }
+ ]
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "reportId",
+ "in": "path",
+ "description": "Valid Report Id",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "title": "reportingV3ReportsIdGet200Response",
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "CyberSource merchant id",
+ "example": "myMerchantId"
+ },
+ "reportId": {
+ "type": "string",
+ "description": "Report ID Value",
+ "example": "6da01922-bb8e-a1fb-e053-7cb8d30ade29"
+ },
+ "reportDefinitionId": {
+ "type": "string",
+ "description": "Report definition Id",
+ "example": "210"
+ },
+ "reportName": {
+ "type": "string",
+ "description": "Report Name",
+ "example": "My Transaction Request report"
+ },
+ "reportMimeType": {
+ "type": "string",
+ "example": "application/xml",
+ "description": "Report Format\n\nValid values:\n- application/xml\n- text/csv\n"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "example": "DAILY",
+ "description": "Report Frequency Value\n\nValid values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- ADHOC\n"
+ },
+ "reportFields": {
+ "type": "array",
+ "description": "List of Integer Values",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Request.RequestID",
+ "Request.TransactionDate",
+ "Request.MerchantID"
+ ]
+ },
+ "reportStatus": {
+ "type": "string",
+ "description": "Report Status Value\n\nValid values:\n- COMPLETED\n- PENDING\n- QUEUED\n- RUNNING\n- ERROR\n- NO_DATA\n- RERUN\n"
+ },
+ "reportStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00",
+ "description": "Report Start Time Value"
+ },
+ "reportEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-02T10:10:10+05:00",
+ "description": "Report End Time Value"
+ },
+ "timezone": {
+ "type": "string",
+ "description": "Time Zone Value",
+ "example": "America/Chicago"
+ },
+ "reportFilters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "List of filters to apply",
+ "example": {
+ "Application.Name": [
+ "ics_auth",
+ "ics_bill"
+ ]
+ }
+ },
+ "reportPreferences": {
+ "description": "Report Preferences",
+ "type": "object",
+ "properties": {
+ "signedAmounts": {
+ "type": "boolean",
+ "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction"
+ },
+ "fieldNameConvention": {
+ "type": "string",
+ "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n"
+ }
+ }
+ },
+ "groupId": {
+ "type": "string",
+ "description": "Id for selected group.",
+ "example": "12345"
+ }
+ },
+ "description": "Report Log"
+ }
+ },
+ "400": {
+ "description": "Invalid Request",
+ "schema": {
+ "title": "reportingV3ReportsIdPost400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "No Reports Found"
+ }
+ }
+ }
+ },
+ "/reporting/v3/report-definitions/{reportDefinitionName}": {
+ "get": {
+ "tags": [
+ "Report Definitions"
+ ],
+ "summary": "Get Report Definition",
+ "description": "View the attributes of an individual report type. For a list of values for reportDefinitionName, see the [Reporting Developer Guide](https://www.cybersource.com/developers/documentation/reporting_and_reconciliation/)\n",
+ "operationId": "getResourceInfoByReportDefinition",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest"
+ },
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "name": "reportDefinitionName",
+ "in": "path",
+ "description": "Name of the Report definition to retrieve",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "subscriptionType",
+ "in": "query",
+ "description": "The subscription type for which report definition is required. By default the type will be CUSTOM.\nValid Values:\n- CLASSIC\n- CUSTOM\n- STANDARD\n",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "reportMimeType",
+ "in": "query",
+ "description": "The format for which the report definition is required. By default the value will be CSV.\nValid Values:\n- application/xml\n- text/csv\n",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3ReportDefinitionsNameGet200Response",
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "reportDefinitionId": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "reportDefintionName": {
+ "type": "string"
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "filterType": {
+ "type": "string",
+ "description": "Attribute Filter Type.",
+ "example": "MULTI"
+ },
+ "default": {
+ "type": "boolean"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "supportedType": {
+ "type": "string",
+ "description": "Valid values for the filter.",
+ "example": [
+ "ics_score",
+ "ics_ap_auth",
+ "ics_ap_auth_reversal",
+ "ics_ap_billing_agreement",
+ "ics_ap_cancel",
+ "ics_ap_capture",
+ "ics_ap_initiate",
+ "ics_ap_options",
+ "ics_ap_order",
+ "ics_ap_refund",
+ "ics_ap_sale",
+ "ics_ap_sessions",
+ "ics_ap_check_status",
+ "ics_auto_auth_reversal",
+ "ics_bank_transfer",
+ "ics_bank_transfer_real_time",
+ "ics_bank_transfer_refund",
+ "ics_bin_lookup",
+ "ics_boleto_payment",
+ "ics_cm_action",
+ "ics_china_payment",
+ "ics_china_refund",
+ "ics_auth",
+ "ics_auto_full_auth_reversal",
+ "ics_auth_refresh",
+ "ics_auth_reversal",
+ "ics_credit",
+ "ics_bill",
+ "ics_risk_update",
+ "ics_dcc",
+ "ics_dcc_update",
+ "ics_decision",
+ "ics_dm_event",
+ "ics_direct_debit",
+ "ics_direct_debit_mandate",
+ "ics_direct_debit_refund",
+ "ics_direct_debit_validate",
+ "ics_ecp_authenticate",
+ "ics_ecp_credit",
+ "ics_ecp_debit",
+ "ics_get_masterpass_data",
+ "ics_get_visa_checkout_data",
+ "ics_create_isv",
+ "ics_get_isv_history",
+ "ics_add_value_to_isv",
+ "ics_get_isv_info",
+ "ics_modify_isv",
+ "ics_get_isv_profiles",
+ "ics_redeem_isv",
+ "ics_ifs_setup",
+ "ics_ifs_update",
+ "ics_ipgeo",
+ "ics_oct",
+ "ics_pa_enroll",
+ "ics_pa_validate",
+ "paypal_mip_agreement_ipn",
+ "ics_paypal_button_create",
+ "ics_paypal_credit",
+ "ics_paypal_authorization",
+ "ics_paypal_create_agreement",
+ "ics_paypal_update_agreement",
+ "ics_paypal_ec_order_setup",
+ "ics_paypal_auth_reversal",
+ "ics_paypal_ec_do_payment",
+ "ics_paypal_do_ref_transaction",
+ "ics_paypal_refund",
+ "ics_paypal_do_capture",
+ "paypal_ipn",
+ "ics_paypal_preapproved_payment",
+ "ics_pinless_debit",
+ "ics_pinless_debit_validate",
+ "ics_pinless_debit_reversal",
+ "ics_export",
+ "ics_service_fee_auth",
+ "ics_service_fee_auth_reversal",
+ "ics_service_fee_bill",
+ "ics_service_fee_credit",
+ "ics_service_fee_ecp_credit",
+ "ics_service_fee_ecp_debit",
+ "ics_pay_subscription_create",
+ "ics_pay_subscription_create_dup",
+ "ics_pay_subscription_delete",
+ "ics_pay_subscription_update",
+ "ics_dav",
+ "ics_download",
+ "ics_tax",
+ "ics_timeout_auth_reversal",
+ "ics_timeout_oct_reversal",
+ "ics_void",
+ "ics_pin_debit_purchase",
+ "ics_pin_debit_credit",
+ "ics_pin_debit_reversal",
+ "ics_timeout_pin_debit_reversal",
+ "ics_gift_card_activation",
+ "ics_gift_card_balance_inquiry",
+ "ics_gift_card_redemption",
+ "ics_gift_card_refund",
+ "ics_gift_card_reload",
+ "ics_gift_card_void",
+ "ics_gift_card_reversal"
+ ]
+ }
+ }
+ }
+ },
+ "supportedFormats": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "description": "Valid values:\n- application/xml\n- text/csv\n"
+ }
+ },
+ "description": {
+ "type": "string"
+ },
+ "defaultSettings": {
+ "type": "object",
+ "properties": {
+ "reportMimeType": {
+ "type": "string",
+ "example": "application/xml",
+ "description": "Report Format\nValid values:\n - application/xml\n - text/csv\n"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "example": "DAILY",
+ "description": "Report Frequency Value\nValid Values:\n - DAILY\n - WEEKLY\n - MONTHLY\n - ADHOC\n"
+ },
+ "reportName": {
+ "type": "string",
+ "description": "Report Name",
+ "example": "My Transaction Request Detail Report"
+ },
+ "timezone": {
+ "type": "string",
+ "description": "Time Zone",
+ "example": "America/Chicago"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start Time",
+ "example": "0000"
+ },
+ "startDay": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start Day",
+ "example": 1
+ },
+ "reportFilters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "List of filters to apply",
+ "example": {
+ "Application.Name": [
+ "ics_auth",
+ "ics_bill"
+ ]
+ }
+ },
+ "reportPreferences": {
+ "type": "object",
+ "description": "Report Preferences",
+ "properties": {
+ "signedAmounts": {
+ "type": "boolean",
+ "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction"
+ },
+ "fieldNameConvention": {
+ "type": "string",
+ "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n"
+ }
+ }
+ }
+ }
+ },
+ "subscriptionType": {
+ "type": "string",
+ "example": "CLASSIC",
+ "description": "'The subscription type for which report definition is required. By default the type will be CUSTOM.'\nValid Values:\n- 'CLASSIC'\n- 'CUSTOM'\n- 'STANDARD'\n"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3ReportDefinitionsNameGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Report not found"
+ }
+ }
+ }
+ },
+ "/reporting/v3/report-definitions": {
+ "get": {
+ "tags": [
+ "Report Definitions"
+ ],
+ "summary": "Get Reporting Resource Information",
+ "description": "View a list of supported reports and their attributes before subscribing to them.\n",
+ "operationId": "getResourceV2Info",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest"
+ },
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "subscriptionType",
+ "required": false,
+ "type": "string",
+ "description": "Valid Values:\n- CLASSIC\n- CUSTOM\n- STANDARD\n"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3ReportDefinitionsGet200Response",
+ "type": "object",
+ "properties": {
+ "reportDefinitions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "reportDefinitionId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "| Id | Definition Class |\n| --- | --------------------------------- |\n| 210 | TransactionRequestClass |\n| 211 | PaymentBatchDetailClass |\n| 212 | ExceptionDetailClass |\n| 213 | ProcessorSettlementDetailClass |\n| 214 | ProcessorEventsDetailClass |\n| 215 | FundingDetailClass |\n| 216 | AgingDetailClass |\n| 217 | ChargebackAndRetrievalDetailClass |\n| 218 | DepositDetailClass |\n| 219 | FeeDetailClass |\n| 220 | InvoiceSummaryClass |\n| 221 | PayerAuthDetailClass |\n| 222 | ConversionDetailClass |\n| 225 | BillableTransactionsDetailClass |\n| 270 | JPTransactionDetailClass |\n| 271 | ServiceFeeDetailClass |\n| 310 | GatewayTransactionRequestClass |\n| 400 | DecisionManagerEventDetailClass |\n| 401 | DecisionManagerDetailClass |\n| 410 | FeeSummaryClass |\n| 420 | TaxCalculationClass |\n| 520 | POSTerminalExceptionClass |\n| 620 | SubscriptionDetailClass |\n"
+ },
+ "reportDefintionName": {
+ "type": "string"
+ },
+ "supportedFormats": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "description": "Valid values:\n- application/xml\n- text/csv\n"
+ }
+ },
+ "description": {
+ "type": "string"
+ },
+ "defaultSettings": {
+ "type": "object",
+ "properties": {
+ "reportMimeType": {
+ "type": "string",
+ "example": "application/xml",
+ "description": "Report Format\nValid values:\n - application/xml\n - text/csv\n"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "example": "DAILY",
+ "description": "Report Frequency Value\nValid Values:\n - DAILY\n - WEEKLY\n - MONTHLY\n - ADHOC\n"
+ },
+ "reportName": {
+ "type": "string",
+ "description": "Report Name",
+ "example": "My Transaction Request Detail Report"
+ },
+ "timezone": {
+ "type": "string",
+ "description": "Time Zone",
+ "example": "America/Chicago"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start Time",
+ "example": "0000"
+ },
+ "startDay": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start Day",
+ "example": 1
+ },
+ "reportFilters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "List of filters to apply",
+ "example": {
+ "Application.Name": [
+ "ics_auth",
+ "ics_bill"
+ ]
+ }
+ },
+ "reportPreferences": {
+ "type": "object",
+ "description": "Report Preferences",
+ "properties": {
+ "signedAmounts": {
+ "type": "boolean",
+ "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction"
+ },
+ "fieldNameConvention": {
+ "type": "string",
+ "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n"
+ }
+ }
+ }
+ }
+ },
+ "subscriptionType": {
+ "type": "string",
+ "example": "CLASSIC",
+ "description": "'The subscription type for which report definition is required. By default the type will be CUSTOM.'\nValid Values:\n- CLASSIC\n- CUSTOM\n- STANDARD\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3ReportDefinitionsGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Report not found"
+ }
+ }
+ }
+ },
+ "/reporting/v3/report-subscriptions": {
+ "get": {
+ "tags": [
+ "Report Subscriptions"
+ ],
+ "summary": "Get All Subscriptions",
+ "description": "View a summary of all report subscriptions.\n",
+ "operationId": "getAllSubscriptions",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3ReportSubscriptionsGet200Response",
+ "type": "object",
+ "properties": {
+ "subscriptions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Selected Organization Id",
+ "example": "Merchant 1"
+ },
+ "reportDefinitionId": {
+ "type": "string",
+ "description": "Report Definition Id",
+ "example": "210"
+ },
+ "reportDefinitionName": {
+ "type": "string",
+ "description": "Report Definition Class",
+ "example": "TransactionRequestDetailClass"
+ },
+ "reportMimeType": {
+ "type": "string",
+ "example": "application/xml",
+ "description": "Report Format \n \nValid values:\n- application/xml\n- text/csv\n"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "example": "DAILY",
+ "description": "'Report Frequency'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\n\nValid values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- USER_DEFINED\n"
+ },
+ "reportInterval": {
+ "type": "string",
+ "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$",
+ "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n"
+ },
+ "reportName": {
+ "type": "string",
+ "description": "Report Name",
+ "example": "My Transaction Request Detail Report"
+ },
+ "timezone": {
+ "type": "string",
+ "description": "Time Zone",
+ "example": "America/Chicago"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start Time",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "startDay": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start Day",
+ "example": 1
+ },
+ "reportFields": {
+ "type": "array",
+ "example": [
+ "Request.RequestID",
+ "Request.TransactionDate",
+ "Request.MerchantID"
+ ],
+ "description": "List of all fields String values",
+ "items": {
+ "type": "string"
+ }
+ },
+ "reportFilters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "List of filters to apply",
+ "example": {
+ "Application.Name": [
+ "ics_auth",
+ "ics_bill"
+ ]
+ }
+ },
+ "reportPreferences": {
+ "type": "object",
+ "description": "Report Preferences",
+ "properties": {
+ "signedAmounts": {
+ "type": "boolean",
+ "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction"
+ },
+ "fieldNameConvention": {
+ "type": "string",
+ "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n"
+ }
+ }
+ },
+ "groupId": {
+ "type": "string",
+ "example": "12345",
+ "description": "Id for the selected group."
+ }
+ },
+ "description": "Subscription Details"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3ReportSubscriptionsGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Subscriptions not found"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Report Subscriptions"
+ ],
+ "summary": "Create Report Subscription for a Report Name by Organization",
+ "description": "Create a report subscription for your organization. The report name must be unique.\n",
+ "operationId": "createSubscription",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "in": "body",
+ "name": "createReportSubscriptionRequest",
+ "description": "Report subscription request payload",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "required": [
+ "reportDefinitionName",
+ "reportFields",
+ "reportName",
+ "startTime",
+ "timezone",
+ "reportFrequency",
+ "reportMimeType"
+ ],
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "description": "Valid CyberSource organizationId",
+ "example": "Merchant 1"
+ },
+ "reportDefinitionName": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "[a-zA-Z0-9-]+",
+ "description": "Valid Report Definition Name",
+ "example": "TransactionDetailReportClass"
+ },
+ "reportFields": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "Request.RequestID",
+ "Request.TransactionDate",
+ "Request.MerchantID"
+ ]
+ },
+ "reportMimeType": {
+ "type": "string",
+ "description": "Valid values:\n- application/xml\n- text/csv\n",
+ "example": "application/xml"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "description": "'The frequency for which subscription is created.'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\nValid Values:\n - 'DAILY'\n - 'WEEKLY'\n - 'MONTHLY'\n - 'USER_DEFINED'\n",
+ "example": "DAILY"
+ },
+ "reportInterval": {
+ "type": "string",
+ "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$",
+ "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n"
+ },
+ "reportName": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 128,
+ "pattern": "[a-zA-Z0-9-_ ]+",
+ "example": "My Daily Subscription"
+ },
+ "timezone": {
+ "type": "string",
+ "example": "America/Chicago"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The hour at which the report generation should start. It should be in hhmm format.",
+ "example": "0900"
+ },
+ "startDay": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 31,
+ "description": "This is the start day if the frequency is WEEKLY or MONTHLY. The value varies from 1-7 for WEEKLY and 1-31 for MONTHLY. For WEEKLY 1 means Sunday and 7 means Saturday. By default the value is 1."
+ },
+ "reportFilters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "List of filters to apply",
+ "example": {
+ "Application.Name": [
+ "ics_auth",
+ "ics_bill"
+ ]
+ }
+ },
+ "reportPreferences": {
+ "type": "object",
+ "description": "Report Preferences",
+ "properties": {
+ "signedAmounts": {
+ "type": "boolean",
+ "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction"
+ },
+ "fieldNameConvention": {
+ "type": "string",
+ "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n"
+ }
+ }
+ },
+ "groupName": {
+ "type": "string",
+ "pattern": "[a-zA-Z0-9-_ ]+",
+ "description": "Valid GroupName",
+ "example": "CEMEA Group"
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "304": {
+ "description": "NOT MODIFIED"
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
+ "type": "array",
+ "description": "Error fields List",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
+ }
+ },
+ "description": "Provide validation failed input field details"
+ }
+ }
+ },
+ "description": "Error Bean"
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Create Report Subscription",
+ "value": {
+ "reportDefinitionName": "TransactionRequestClass",
+ "reportFields": [
+ "Request.RequestID",
+ "Request.TransactionDate",
+ "Request.MerchantID",
+ "AFSFields.IPAddress",
+ "AFSFields.IPCountry",
+ "AFSFields.IPRoutingMethod",
+ "AFSFields.IPState",
+ "Application.Name",
+ "BankInfo.Address",
+ "BankInfo.BranchCode",
+ "BankInfo.City",
+ "BankInfo.Country",
+ "BankInfo.Name",
+ "BankInfo.SwiftCode",
+ "BillTo.Address1",
+ "BillTo.Address2",
+ "BillTo.City",
+ "BillTo.CompanyName",
+ "BillTo.CompanyTaxID",
+ "BillTo.Country",
+ "BillTo.Email",
+ "BillTo.FirstName",
+ "BillTo.LastName",
+ "BillTo.MiddleName",
+ "BillTo.NameSuffix",
+ "BillTo.PersonalID",
+ "BillTo.Phone",
+ "BillTo.State",
+ "BillTo.Title",
+ "BillTo.Zip",
+ "ChargebackAndRetrieval.AdjustmentAmount",
+ "ChargebackAndRetrieval.AdjustmentCurrency",
+ "ChargebackAndRetrieval.ARN",
+ "ChargebackAndRetrieval.CaseIdentifier",
+ "ChargebackAndRetrieval.CaseNumber",
+ "ChargebackAndRetrieval.CaseTime",
+ "ChargebackAndRetrieval.CaseType",
+ "ChargebackAndRetrieval.ChargebackAmount",
+ "ChargebackAndRetrieval.ChargebackCurrency",
+ "ChargebackAndRetrieval.ChargebackMessage",
+ "ChargebackAndRetrieval.ChargebackReasonCode",
+ "ChargebackAndRetrieval.ChargebackReasonCodeDescription",
+ "ChargebackAndRetrieval.ChargebackTime",
+ "ChargebackAndRetrieval.DocumentIndicator",
+ "ChargebackAndRetrieval.FeeAmount",
+ "ChargebackAndRetrieval.FeeCurrency",
+ "ChargebackAndRetrieval.FinancialImpact",
+ "ChargebackAndRetrieval.FinancialImpactType",
+ "ChargebackAndRetrieval.MerchantCategoryCode",
+ "ChargebackAndRetrieval.PartialIndicator",
+ "ChargebackAndRetrieval.ResolutionTime",
+ "ChargebackAndRetrieval.ResolvedToIndicator",
+ "ChargebackAndRetrieval.RespondByDate",
+ "ChargebackAndRetrieval.TransactionType",
+ "Check.AccountEncoderID",
+ "Check.BankTransitNumber",
+ "Check.SecCode",
+ "CustomerFields.BillingAddress1",
+ "CustomerFields.BillingAddress2",
+ "CustomerFields.BillingCity",
+ "CustomerFields.BillingCompanyName",
+ "CustomerFields.BillingCountry",
+ "CustomerFields.BillingEmail",
+ "CustomerFields.BillingFirstName",
+ "CustomerFields.BillingLastName",
+ "CustomerFields.BillingPhone",
+ "CustomerFields.BillingPostalCode",
+ "CustomerFields.BillingState",
+ "CustomerFields.CustomerID",
+ "CustomerFields.CustomerUserName",
+ "CustomerFields.PersonalId(CPF/CNPJ)",
+ "CustomerFields.ShippingAddress1",
+ "CustomerFields.ShippingAddress2",
+ "CustomerFields.ShippingCity",
+ "CustomerFields.ShippingCompanyName",
+ "CustomerFields.ShippingCountry",
+ "CustomerFields.ShippingFirstName",
+ "CustomerFields.ShippingLastName",
+ "CustomerFields.ShippingPhone",
+ "CustomerFields.ShippingPostalCode",
+ "CustomerFields.ShippingState",
+ "DecisionManagerEvents.EventPolicy",
+ "DecisionManagerEvents.TypeofEvent",
+ "Device.DeviceID",
+ "DeviceFingerprintFields.abcd",
+ "DeviceFingerprintFields.BrowserLanguage",
+ "DeviceFingerprintFields.DeviceLatitude",
+ "DeviceFingerprintFields.DeviceLongitude",
+ "DeviceFingerprintFields.displayNameFinalCheck",
+ "DeviceFingerprintFields.DMESignOffFieldEdit",
+ "DeviceFingerprintFields.Fingerprint/DeviceFingerprint",
+ "DeviceFingerprintFields.FlashEnabled",
+ "DeviceFingerprintFields.FlashOperatingSystem",
+ "DeviceFingerprintFields.FlashVersion",
+ "DeviceFingerprintFields.GPSAccuracy",
+ "DeviceFingerprintFields.ImagesEnabled",
+ "DeviceFingerprintFields.Jailbreak/RootPrivileges",
+ "DeviceFingerprintFields.JavaScriptEnabled",
+ "DeviceFingerprintFields.ProfiledURL",
+ "DeviceFingerprintFields.ProxyIPAddress",
+ "DeviceFingerprintFields.ProxyIPAddressActivities",
+ "DeviceFingerprintFields.ProxyServerType",
+ "DeviceFingerprintFields.ScreenResolution",
+ "DeviceFingerprintFields.SignOffFieldDMEEditNewOne",
+ "DeviceFingerprintFields.SmartID",
+ "DeviceFingerprintFields.SmartIDConfidenceLevel",
+ "DeviceFingerprintFields.TimeOnPage",
+ "DeviceFingerprintFields.TrueIPAddress",
+ "DeviceFingerprintFields.TrueIPAddressActivities",
+ "DeviceFingerprintFields.TrueIPAddressAttributes",
+ "DeviceFingerprintFields.txdea1",
+ "DeviceFingerprintFields.txdesv",
+ "EmailageFields.FraudType",
+ "EmailageFields.IP Postal",
+ "EmailageFields.IPCity",
+ "EmailageFields.IPCountry",
+ "EmailageFields.IPRegion",
+ "EmailageFields.SourceIndustry",
+ "Event.Amount",
+ "Event.CurrencyCode",
+ "Event.Event",
+ "Event.EventDate",
+ "Event.ProcessorMessage",
+ "Exception.Action",
+ "Exception.CYBSExceptionID",
+ "Exception.DccLookupStatus",
+ "Exception.ExceptionAmount",
+ "Exception.ExceptionAmountCurrency",
+ "Exception.ExceptionCategory",
+ "Exception.ExceptionDate",
+ "Exception.ExceptionDescription",
+ "Exception.ExceptionDeviceHardwareRevision",
+ "Exception.ExceptionDeviceID",
+ "Exception.ExceptionDeviceOS",
+ "Exception.ExceptionDeviceOSVersion",
+ "Exception.ExceptionDeviceTerminalID",
+ "Exception.ExceptionMessage",
+ "Exception.ExceptionReasonDescription",
+ "Exception.ExceptionStatus",
+ "Exception.ExceptionStatusCode",
+ "Exception.ExceptionType",
+ "Exception.FinancialStatus",
+ "Exception.LastActionDate",
+ "Exception.NextActionDate",
+ "Exception.OriginalTransactionSubmissionDate",
+ "Exception.PaymentNumber",
+ "Exception.ProcessorCaseID",
+ "Exception.ProcessorResponseCode",
+ "Exception.ReasonCode",
+ "Exception.RetryCount",
+ "Fee.AssessmentAmount",
+ "Fee.AssessmentCurrency",
+ "Fee.BillingCycle",
+ "Fee.BillingType",
+ "Fee.ClearedInterchangeLevel",
+ "Fee.DiscountAmount",
+ "Fee.DiscountCurrency",
+ "Fee.DiscountRate",
+ "Fee.DowngradeReasonCode",
+ "Fee.InterchangeAmount",
+ "Fee.InterchangeCurrency",
+ "Fee.InterchangeRate",
+ "Fee.PerItemFeeAmount",
+ "Fee.PerItemFeeCurrency",
+ "Fee.PricedInterchangeLevel",
+ "Fee.ServiceFeeAmount",
+ "Fee.ServiceFeeAmountCcy",
+ "Fee.ServiceFeeFixedAmount",
+ "Fee.ServiceFeeFixedAmountCcy",
+ "Fee.ServiceFeeRate",
+ "Fee.SettlementAmount",
+ "Fee.SettlementCurrency",
+ "Fee.SettlementTime",
+ "Fee.SettlementTimeZone",
+ "Fee.SourceDescriptor",
+ "Fee.TotalFeeAmount",
+ "Fee.TotalFeeCurrency",
+ "Funding.AdjustmentAmount",
+ "Funding.AdjustmentCurrency",
+ "Funding.AdjustmentDescription",
+ "Funding.AdjustmentType",
+ "FundTransfer.BankCheckDigit",
+ "FundTransfer.IbanIndicator",
+ "Invoice.BillingGroupDescription",
+ "Invoice.NotProcessed",
+ "Invoice.OrganizationID",
+ "Invoice.PerformedServices",
+ "Invoice.Processed",
+ "Invoice.Total",
+ "JP.Amount",
+ "JP.AuthForward",
+ "JP.AuthorizationCode",
+ "JP.CardSuffix",
+ "JP.Currency",
+ "JP.CustomerFirstName",
+ "JP.CustomerLastName",
+ "JP.Date",
+ "JP.Gateway",
+ "JP.JPOInstallmentMethod",
+ "JP.JPOPaymentMethod",
+ "JP.MerchantID",
+ "JP.MerchantReferenceNumber",
+ "JP.PaymentMethod",
+ "JP.RequestID",
+ "JP.SubscriptionID",
+ "JP.Time",
+ "JP.TransactionReferenceNumber",
+ "JP.TransactionType",
+ "LineItems.FulfillmentType",
+ "LineItems.InvoiceNumber",
+ "LineItems.MerchantProductSku",
+ "LineItems.ProductCode",
+ "LineItems.ProductName",
+ "LineItems.Quantity",
+ "LineItems.TaxAmount",
+ "LineItems.UnitPrice",
+ "MarkAsSuspectFields.MarkingDate",
+ "MarkAsSuspectFields.MarkingNotes",
+ "MarkAsSuspectFields.MarkingReason",
+ "MarkAsSuspectFields.MarkingUserName",
+ "Merchant-DefinedDataFields.MerchantDefinedData1",
+ "Merchant-DefinedDataFields.MerchantDefinedData10",
+ "Merchant-DefinedDataFields.MerchantDefinedData100",
+ "Merchant-DefinedDataFields.MerchantDefinedData11",
+ "Merchant-DefinedDataFields.MerchantDefinedData12",
+ "Merchant-DefinedDataFields.MerchantDefinedData13",
+ "Merchant-DefinedDataFields.MerchantDefinedData14",
+ "Merchant-DefinedDataFields.MerchantDefinedData15",
+ "Merchant-DefinedDataFields.MerchantDefinedData16",
+ "Merchant-DefinedDataFields.MerchantDefinedData17",
+ "Merchant-DefinedDataFields.MerchantDefinedData18",
+ "Merchant-DefinedDataFields.MerchantDefinedData19",
+ "Merchant-DefinedDataFields.MerchantDefinedData2",
+ "Merchant-DefinedDataFields.MerchantDefinedData20",
+ "Merchant-DefinedDataFields.MerchantDefinedData21",
+ "Merchant-DefinedDataFields.MerchantDefinedData22",
+ "Merchant-DefinedDataFields.MerchantDefinedData23",
+ "Merchant-DefinedDataFields.MerchantDefinedData24",
+ "Merchant-DefinedDataFields.MerchantDefinedData25",
+ "Merchant-DefinedDataFields.MerchantDefinedData26",
+ "Merchant-DefinedDataFields.MerchantDefinedData27",
+ "Merchant-DefinedDataFields.MerchantDefinedData28",
+ "Merchant-DefinedDataFields.MerchantDefinedData29",
+ "Merchant-DefinedDataFields.MerchantDefinedData3",
+ "Merchant-DefinedDataFields.MerchantDefinedData30",
+ "Merchant-DefinedDataFields.MerchantDefinedData31",
+ "Merchant-DefinedDataFields.MerchantDefinedData32",
+ "Merchant-DefinedDataFields.MerchantDefinedData34",
+ "Merchant-DefinedDataFields.MerchantDefinedData35",
+ "Merchant-DefinedDataFields.MerchantDefinedData36",
+ "Merchant-DefinedDataFields.MerchantDefinedData37",
+ "Merchant-DefinedDataFields.MerchantDefinedData39",
+ "Merchant-DefinedDataFields.MerchantDefinedData4",
+ "Merchant-DefinedDataFields.MerchantDefinedData40",
+ "Merchant-DefinedDataFields.MerchantDefinedData41",
+ "Merchant-DefinedDataFields.MerchantDefinedData43",
+ "Merchant-DefinedDataFields.MerchantDefinedData44",
+ "Merchant-DefinedDataFields.MerchantDefinedData45",
+ "Merchant-DefinedDataFields.MerchantDefinedData46",
+ "Merchant-DefinedDataFields.MerchantDefinedData48",
+ "Merchant-DefinedDataFields.MerchantDefinedData49",
+ "Merchant-DefinedDataFields.MerchantDefinedData5",
+ "Merchant-DefinedDataFields.MerchantDefinedData50",
+ "Merchant-DefinedDataFields.MerchantDefinedData52",
+ "Merchant-DefinedDataFields.MerchantDefinedData53",
+ "Merchant-DefinedDataFields.MerchantDefinedData54",
+ "Merchant-DefinedDataFields.MerchantDefinedData56",
+ "Merchant-DefinedDataFields.MerchantDefinedData57",
+ "Merchant-DefinedDataFields.MerchantDefinedData58",
+ "Merchant-DefinedDataFields.MerchantDefinedData59",
+ "Merchant-DefinedDataFields.MerchantDefinedData6",
+ "Merchant-DefinedDataFields.MerchantDefinedData61",
+ "Merchant-DefinedDataFields.MerchantDefinedData62",
+ "Merchant-DefinedDataFields.MerchantDefinedData63",
+ "Merchant-DefinedDataFields.MerchantDefinedData65",
+ "Merchant-DefinedDataFields.MerchantDefinedData66",
+ "Merchant-DefinedDataFields.MerchantDefinedData67",
+ "Merchant-DefinedDataFields.MerchantDefinedData68",
+ "Merchant-DefinedDataFields.MerchantDefinedData7",
+ "Merchant-DefinedDataFields.MerchantDefinedData70",
+ "Merchant-DefinedDataFields.MerchantDefinedData71",
+ "Merchant-DefinedDataFields.MerchantDefinedData72",
+ "Merchant-DefinedDataFields.MerchantDefinedData73",
+ "Merchant-DefinedDataFields.MerchantDefinedData74",
+ "Merchant-DefinedDataFields.MerchantDefinedData75",
+ "Merchant-DefinedDataFields.MerchantDefinedData76",
+ "Merchant-DefinedDataFields.MerchantDefinedData77",
+ "Merchant-DefinedDataFields.MerchantDefinedData78",
+ "Merchant-DefinedDataFields.MerchantDefinedData79",
+ "Merchant-DefinedDataFields.MerchantDefinedData8",
+ "Merchant-DefinedDataFields.MerchantDefinedData80",
+ "Merchant-DefinedDataFields.MerchantDefinedData81",
+ "Merchant-DefinedDataFields.MerchantDefinedData82",
+ "Merchant-DefinedDataFields.MerchantDefinedData83",
+ "Merchant-DefinedDataFields.MerchantDefinedData84",
+ "Merchant-DefinedDataFields.MerchantDefinedData85",
+ "Merchant-DefinedDataFields.MerchantDefinedData86",
+ "Merchant-DefinedDataFields.MerchantDefinedData87",
+ "Merchant-DefinedDataFields.MerchantDefinedData88",
+ "Merchant-DefinedDataFields.MerchantDefinedData89",
+ "Merchant-DefinedDataFields.MerchantDefinedData9",
+ "Merchant-DefinedDataFields.MerchantDefinedData90",
+ "Merchant-DefinedDataFields.MerchantDefinedData91",
+ "Merchant-DefinedDataFields.MerchantDefinedData92",
+ "Merchant-DefinedDataFields.MerchantDefinedData93",
+ "Merchant-DefinedDataFields.MerchantDefinedData94",
+ "Merchant-DefinedDataFields.MerchantDefinedData95",
+ "Merchant-DefinedDataFields.MerchantDefinedData96",
+ "Merchant-DefinedDataFields.MerchantDefinedData97",
+ "Merchant-DefinedDataFields.MerchantDefinedData98",
+ "Merchant-DefinedDataFields.MerchantDefinedData99",
+ "OctSummary.AccountId",
+ "OctSummary.ResellerId",
+ "OctSummary.SettlementAmountCurrency",
+ "OctSummary.SettlementDate",
+ "OctSummary.TransactionAmountCurrency",
+ "OrderFields.ConnectionMethod",
+ "OrderFields.MerchantID",
+ "OrderFields.MerchantReferenceNumber",
+ "OrderFields.ReasonCode",
+ "OrderFields.ReplyCode",
+ "OrderFields.ReplyFlag",
+ "OrderFields.ReplyMessage",
+ "OrderFields.RequestID",
+ "OrderFields.ShippingMethod",
+ "OrderFields.TransactionDate",
+ "PayerAuth.RequestID",
+ "PayerAuth.TransactionType",
+ "PaymentData.ACHVerificationResult",
+ "PaymentData.ACHVerificationResultMapped",
+ "PaymentData.AcquirerMerchantID",
+ "PaymentData.AuthIndicator",
+ "PaymentData.AuthorizationCode",
+ "PaymentData.AuthorizationType",
+ "PaymentData.AuthReversalAmount",
+ "PaymentData.AuthReversalResult",
+ "PaymentData.AVSResult",
+ "PaymentData.AVSResultMapped",
+ "PaymentData.BalanceAmount",
+ "PaymentData.BalanceCurrencyCode",
+ "PaymentData.BinNumber",
+ "PaymentData.CardCategory",
+ "PaymentData.CardCategoryCode",
+ "PaymentData.CardPresent",
+ "PaymentData.CurrencyCode",
+ "PaymentData.CVResult",
+ "PaymentData.DCCIndicator",
+ "PaymentData.EMVRequestFallBack",
+ "PaymentData.EVEmail",
+ "PaymentData.EVEmailRaw",
+ "PaymentData.EVName",
+ "PaymentData.EVNameRaw",
+ "PaymentData.EVPhoneNumber",
+ "PaymentData.EVPhoneNumberRaw",
+ "PaymentData.EVPostalCode",
+ "PaymentData.EVPostalCodeRaw",
+ "PaymentData.EVStreet",
+ "PaymentData.EVStreetRaw",
+ "PaymentData.ExchangeRate",
+ "PaymentData.ExchangeRateDate",
+ "PaymentData.MandateReferenceNumber",
+ "PaymentData.NetworkCode",
+ "PaymentData.NetworkTransactionID",
+ "PaymentData.NumberOfInstallments",
+ "PaymentData.OriginalAmount",
+ "PaymentData.OriginalCurrency",
+ "PaymentData.PaymentProductCode",
+ "PaymentData.POSEntryMode",
+ "PaymentData.ProcessorMID",
+ "PaymentData.ProcessorResponseCode",
+ "PaymentData.ProcessorResponseID",
+ "PaymentData.ProcessorTID",
+ "PaymentData.ProcessorTransactionID",
+ "PaymentData.RequestedAmount",
+ "PaymentData.RequestedAmountCurrencyCode",
+ "PaymentData.SubMerchantCity",
+ "PaymentData.SubMerchantCountry",
+ "PaymentData.SubMerchantEmail",
+ "PaymentData.SubMerchantID",
+ "PaymentData.SubMerchantName",
+ "PaymentData.SubMerchantPhone",
+ "PaymentData.SubMerchantPostalCode",
+ "PaymentData.SubMerchantState",
+ "PaymentData.SubMerchantStreet",
+ "PaymentData.TargetAmount",
+ "PaymentData.TargetCurrency",
+ "PaymentFields.AccountSuffix",
+ "PaymentFields.CardBIN",
+ "PaymentFields.CardBINCountry",
+ "PaymentFields.CardIssuer",
+ "PaymentFields.CardScheme",
+ "PaymentFields.CardType",
+ "PaymentFields.CardVerificationResult",
+ "PaymentMethod.AccountSuffix",
+ "PaymentMethod.AdditionalCardType",
+ "PaymentMethod.BankAccountName",
+ "PaymentMethod.BankCode",
+ "PaymentMethod.BoletoBarCodeNumber",
+ "PaymentMethod.BoletoNumber",
+ "PaymentMethod.CardType",
+ "PaymentMethod.CheckNumber",
+ "PaymentMethod.ExpirationMonth",
+ "PaymentMethod.ExpirationYear",
+ "PaymentMethod.IssueNumber",
+ "PaymentMethod.MandateId",
+ "PaymentMethod.StartMonth",
+ "PaymentMethod.StartYear",
+ "PaymentMethod.WalletType",
+ "POSTerminalExceptions.AccountSuffix",
+ "POSTerminalExceptions.CurrencyCode",
+ "POSTerminalExceptions.ExpirationMO",
+ "POSTerminalExceptions.ExpirationYR",
+ "POSTerminalExceptions.LastName",
+ "POSTerminalExceptions.MerchantID",
+ "Recipient.RecipientBillingAmount",
+ "Recipient.RecipientBillingCurrency",
+ "Recipient.ReferenceNumber",
+ "Request.PartnerOriginalTransactionID",
+ "Sender.Address",
+ "Sender.City",
+ "Sender.Country",
+ "Sender.DOB",
+ "Sender.FirstName",
+ "Sender.LastName",
+ "Sender.MiddleInitial",
+ "Sender.PhoneNumber",
+ "Sender.PostalCode",
+ "Sender.SenderReferenceNumber",
+ "Sender.SourceOfFunds",
+ "Sender.State",
+ "ShipTo.CompanyName",
+ "Subscriptions.Applications",
+ "Subscriptions.AuthAVSResults",
+ "Subscriptions.AuthCardVerificationResult",
+ "Subscriptions.AuthCode",
+ "Subscriptions.AuthRCode",
+ "Subscriptions.AuthResponseCode",
+ "Subscriptions.AuthType",
+ "Subscriptions.BillToAddress1",
+ "Subscriptions.BillToAddress2",
+ "Subscriptions.BillToCity",
+ "Subscriptions.BillToCompanyName",
+ "Subscriptions.BillToCountry",
+ "Subscriptions.BillToEmail",
+ "Subscriptions.BillToFirstName",
+ "Subscriptions.BillToLastName",
+ "Subscriptions.BillToState",
+ "Subscriptions.BillToZip",
+ "Subscriptions.CardType",
+ "Subscriptions.Comments",
+ "Subscriptions.ConsumerPhone",
+ "Subscriptions.CurrencyCode",
+ "Subscriptions.CustomerCCAccountSuffix",
+ "Subscriptions.CustomerCCExpiryMonth",
+ "Subscriptions.CustomerCCExpiryYear",
+ "Subscriptions.CustomerCCIssueNo",
+ "Subscriptions.CustomerCCRoutingNumber",
+ "Subscriptions.CustomerCCStartMonth",
+ "Subscriptions.CustomerCCStartYear",
+ "Subscriptions.CustomerCCSubTypeDescription",
+ "Subscriptions.EcommerceIndicator",
+ "Subscriptions.IPAddress",
+ "Subscriptions.MerchantDefinedData1",
+ "Subscriptions.MerchantDefinedData2",
+ "Subscriptions.MerchantDefinedData3",
+ "Subscriptions.MerchantDefinedData4",
+ "Subscriptions.MerchantRefNo",
+ "Subscriptions.MerchantSecureData1",
+ "Subscriptions.MerchantSecureData2",
+ "Subscriptions.MerchantSecureData3",
+ "Subscriptions.MerchantSecureData4",
+ "Subscriptions.PaymentProcessor",
+ "Subscriptions.PaymentsSuccess",
+ "Subscriptions.RCode",
+ "Subscriptions.ReasonCode",
+ "Subscriptions.RequestID",
+ "Subscriptions.RequestToken",
+ "Subscriptions.RFlag",
+ "Subscriptions.RMsg",
+ "Subscriptions.ShipToAddress1",
+ "Subscriptions.ShipToAddress2",
+ "Subscriptions.ShipToCity",
+ "Subscriptions.ShipToCompanyName",
+ "Subscriptions.ShipToCountry",
+ "Subscriptions.ShipToFirstName",
+ "Subscriptions.ShipToLastName",
+ "Subscriptions.ShipToState",
+ "Subscriptions.ShipToZip",
+ "Subscriptions.SubscriptionID",
+ "Subscriptions.TaxAmount",
+ "Subscriptions.TransactionDate",
+ "Subscriptions.TransRefNo",
+ "TaxCalculation.Status",
+ "Token.NetworkTokenTransType",
+ "Token.TokenCode",
+ "TransactionDetails.MerchantId",
+ "TransactionDetails.PaymentMethodDesc",
+ "TransactionDetails.PaymentMethodType",
+ "TransactionDetails.RequestId",
+ "TravelFields.DepartureTime",
+ "VelocityMorphing.FieldName",
+ "VelocityMorphing.InfoCode",
+ "WhitepagesProFields.EmailDomainCreationDate"
+ ],
+ "reportMimeType": "application/xml",
+ "reportFrequency": "WEEKLY",
+ "reportName": "testrest_subcription_v1",
+ "timezone": "GMT",
+ "startTime": "0900",
+ "startDay": "1"
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/report-subscriptions/{reportName}": {
+ "get": {
+ "tags": [
+ "Report Subscriptions"
+ ],
+ "summary": "Get Subscription for Report Name",
+ "description": "View the details of a report subscription, such as the report format or report frequency, using the report's unique name.\n",
+ "operationId": "getSubscription",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "x-depends": {
+ "example": {
+ "path": "/reporting/v3/report-subscriptions",
+ "verb": "get",
+ "exampleId": "Get all subscriptions"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "_embedded.Subscriptions[0].reportName",
+ "destinationField": "reportName",
+ "fieldTypeInDestination": "path"
+ }
+ ]
+ },
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "name": "reportName",
+ "in": "path",
+ "description": "Name of the Report to Retrieve",
+ "required": true,
+ "type": "string",
+ "maxLength": 80,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9-_+]+"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3ReportsSubscriptionsNameGet200Response",
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Selected Organization Id",
+ "example": "Merchant 1"
+ },
+ "reportDefinitionId": {
+ "type": "string",
+ "description": "Report Definition Id",
+ "example": "210"
+ },
+ "reportDefinitionName": {
+ "type": "string",
+ "description": "Report Definition Class",
+ "example": "TransactionRequestDetailClass"
+ },
+ "reportMimeType": {
+ "type": "string",
+ "example": "application/xml",
+ "description": "Report Format \n \nValid values:\n- application/xml\n- text/csv\n"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "example": "DAILY",
+ "description": "'Report Frequency'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\n\nValid values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- USER_DEFINED\n"
+ },
+ "reportInterval": {
+ "type": "string",
+ "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$",
+ "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n"
+ },
+ "reportName": {
+ "type": "string",
+ "description": "Report Name",
+ "example": "My Transaction Request Detail Report"
+ },
+ "timezone": {
+ "type": "string",
+ "description": "Time Zone",
+ "example": "America/Chicago"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start Time",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "startDay": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start Day",
+ "example": 1
+ },
+ "reportFields": {
+ "type": "array",
+ "example": [
+ "Request.RequestID",
+ "Request.TransactionDate",
+ "Request.MerchantID"
+ ],
+ "description": "List of all fields String values",
+ "items": {
+ "type": "string"
+ }
+ },
+ "reportFilters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "List of filters to apply",
+ "example": {
+ "Application.Name": [
+ "ics_auth",
+ "ics_bill"
+ ]
+ }
+ },
+ "reportPreferences": {
+ "type": "object",
+ "description": "Report Preferences",
+ "properties": {
+ "signedAmounts": {
+ "type": "boolean",
+ "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction"
+ },
+ "fieldNameConvention": {
+ "type": "string",
+ "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n"
+ }
+ }
+ },
+ "groupId": {
+ "type": "string",
+ "example": "12345",
+ "description": "Id for the selected group."
+ }
+ },
+ "description": "Subscription Details"
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3ReportSubscriptionsNameGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Subscription not found"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Report Subscriptions"
+ ],
+ "summary": "Delete Subscription of a Report Name by Organization",
+ "description": "Delete a report subscription for your organization. You must know the unique name of the report you want to delete.\n",
+ "operationId": "deleteSubscription",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "x-depends": {
+ "example": {
+ "path": "/reporting/v3/report-subscriptions/{reportName}",
+ "verb": "get",
+ "exampleId": "Get subscription for report name"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "reportName",
+ "destinationField": "reportName",
+ "fieldTypeInDestination": "path"
+ }
+ ]
+ },
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "name": "reportName",
+ "in": "path",
+ "description": "Name of the Report to Delete",
+ "required": true,
+ "type": "string",
+ "maxLength": 80,
+ "minLength": 1,
+ "pattern": "[a-zA-Z0-9-_+]+"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3ReportSubscriptionsNameDelete400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Subscription not found",
+ "schema": {
+ "title": "reportingV3ReportSubscriptionsnameDelete404Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/predefined-report-subscriptions": {
+ "put": {
+ "tags": [
+ "Report Subscriptions"
+ ],
+ "summary": "Create a Standard or Classic Subscription",
+ "description": "Create or update an already existing classic or standard subscription.\n",
+ "operationId": "createStandardOrClassicSubscription",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting"
+ },
+ "produces": [
+ "application/hal+json"
+ ],
+ "parameters": [
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "in": "body",
+ "name": "predefinedSubscriptionRequestBean",
+ "description": "Report subscription request payload",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "required": [
+ "reportDefinitionName",
+ "subscriptionType"
+ ],
+ "properties": {
+ "reportDefinitionName": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "[a-zA-Z]+",
+ "description": "Valid Report Definition Name",
+ "example": "TransactionDetailReportClass"
+ },
+ "subscriptionType": {
+ "description": "The subscription type for which report definition is required. Valid values are CLASSIC and STANDARD.\nValid Values:\n - CLASSIC\n - STANDARD\n",
+ "type": "string"
+ },
+ "reportName": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 128,
+ "pattern": "[a-zA-Z0-9-_ ]+",
+ "example": "TransactionDetailReport_Daily_Classic"
+ },
+ "reportMimeType": {
+ "type": "string",
+ "example": "application/xml",
+ "description": "Report Format \nValid Values:\n - application/xml\n - text/csv\n"
+ },
+ "reportFrequency": {
+ "type": "string",
+ "description": "'The frequency for which subscription is created. For Standard we can have DAILY, WEEKLY and MONTHLY. But for Classic we will have only DAILY.'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\nValid Values:\n- 'DAILY'\n- 'WEEKLY'\n- 'MONTHLY'\n- 'USER_DEFINED'\n",
+ "example": "DAILY"
+ },
+ "reportInterval": {
+ "type": "string",
+ "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$",
+ "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n"
+ },
+ "timezone": {
+ "type": "string",
+ "description": "By Default the timezone for Standard subscription is PST. And for Classic subscription it will be GMT. If user provides any other time zone apart from PST for Standard subscription api should error out.",
+ "example": "America/Los_Angeles"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The hour at which the report generation should start. It should be in hhmm format. By Default it will be 0000. The format is 24 hours format.",
+ "example": "0900"
+ },
+ "startDay": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 31,
+ "description": "This is the start day if the frequency is WEEKLY or MONTHLY. The value varies from 1-7 for WEEKLY and 1-31 for MONTHLY. For WEEKLY 1 means Sunday and 7 means Saturday. By default the value is 1."
+ },
+ "subscriptionStatus": {
+ "type": "string",
+ "description": "The status for subscription which is either created or updated. By default it is ACTIVE.\nValid Values:\n - ACTIVE\n - INACTIVE\n",
+ "example": "ACTIVE"
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "201": {
+ "description": "Created"
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
+ "type": "array",
+ "description": "Error fields List",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
+ }
+ },
+ "description": "Provide validation failed input field details"
+ }
+ }
+ },
+ "description": "Error Bean"
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Create Classic/Standard Report Subscription",
+ "value": {
+ "reportDefinitionName": "TransactionRequestClass",
+ "subscriptionType": "CLASSIC"
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/notification-of-changes": {
+ "get": {
+ "tags": [
+ "Notification Of Changes"
+ ],
+ "summary": "Get Notification of Changes",
+ "description": "Download the Notification of Change report. This report shows eCheck-related fields updated as a result of a response to an eCheck settlement transaction.\n",
+ "operationId": "getNotificationOfChangeReport",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "x-custom-headers": {
+ "accept": [
+ "text/csv",
+ "application/xml",
+ "application/hal+json"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "startTime": "2020-03-01T12:00:00Z",
+ "endTime": "2020-03-10T12:00:00Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "text/csv",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3NotificationofChangesGet200Response",
+ "type": "object",
+ "properties": {
+ "notificationOfChanges": {
+ "type": "array",
+ "description": "List of Notification Of Change Info values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "merchantReferenceNumber": {
+ "type": "string",
+ "example": "TC30877-10",
+ "description": "Merchant Reference Number"
+ },
+ "transactionReferenceNumber": {
+ "type": "string",
+ "example": "55563",
+ "description": "Transaction Reference Number"
+ },
+ "time": {
+ "type": "string",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "description": "Notification Of Change Date(ISO 8601 Extended)"
+ },
+ "code": {
+ "type": "string",
+ "example": "TC30877-10",
+ "description": "Merchant Reference Number"
+ },
+ "accountType": {
+ "type": "string",
+ "example": "Checking Account",
+ "description": "Account Type"
+ },
+ "routingNumber": {
+ "type": "string",
+ "example": "123456789",
+ "description": "Routing Number"
+ },
+ "accountNumber": {
+ "type": "string",
+ "example": "############1234",
+ "description": "Account Number"
+ },
+ "consumerName": {
+ "type": "string",
+ "example": "Consumer Name",
+ "description": "Consumer Name"
+ }
+ },
+ "description": "Notification Of Change"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3NotificationofChangesGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "401": {
+ "description": "Unauthorized. Token provided is no more valid."
+ },
+ "404": {
+ "description": "Report not found",
+ "schema": {
+ "title": "reportingV3NotificationofChangesGet404Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "title": "reportingV3NotificationofChangesGet500Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/purchase-refund-details": {
+ "get": {
+ "tags": [
+ "Purchase And Refund Details"
+ ],
+ "summary": "Get Purchase and Refund Details",
+ "description": "Download the Purchase and Refund Details report. This report report includes all purchases and refund transactions, as well as all activities related to transactions resulting in an adjustment to the net proceeds.\n",
+ "operationId": "getPurchaseAndRefundDetails",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "x-custom-headers": {
+ "accept": [
+ "text/csv",
+ "application/xml",
+ "application/hal+json"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2020-01-01T12:00:00Z",
+ "endTime": "2020-01-30T12:00:00Z",
+ "groupName": "groupName",
+ "paymentSubtype": "VI",
+ "viewBy": "requestDate",
+ "offset": "20",
+ "limit": "2000"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml",
+ "text/csv"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "name": "paymentSubtype",
+ "in": "query",
+ "description": "Payment Subtypes.\n - **ALL**: All Payment Subtypes\n - **VI** : Visa\n - **MC** : Master Card\n - **AX** : American Express\n - **DI** : Discover\n - **DP** : Pinless Debit\n",
+ "required": false,
+ "type": "string",
+ "default": "ALL"
+ },
+ {
+ "name": "viewBy",
+ "in": "query",
+ "description": "View results by Request Date or Submission Date.\n - **requestDate** : Request Date\n - **submissionDate**: Submission Date\n",
+ "required": false,
+ "type": "string",
+ "default": "requestDate"
+ },
+ {
+ "name": "groupName",
+ "in": "query",
+ "description": "Valid CyberSource Group Name.User can define groups using CBAPI and Group Management Module in EBC2. Groups are collection of organizationIds",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "description": "Offset of the Purchase and Refund Results.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "description": "Results count per page. Range(1-2000)",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2000,
+ "default": 2000,
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3PurchaseRefundDetailsGet200Response",
+ "type": "object",
+ "properties": {
+ "offset": {
+ "type": "integer"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "pageResults": {
+ "type": "integer"
+ },
+ "requestDetails": {
+ "type": "array",
+ "description": "List of Request Info values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "requestId": {
+ "type": "string",
+ "example": "12345678901234567890123456",
+ "description": "An unique identification number assigned by CyberSource to identify the submitted request."
+ },
+ "cybersourceMerchantId": {
+ "type": "string",
+ "example": "Cybersource Merchant Id",
+ "description": "Cybersource Merchant Id"
+ },
+ "processorMerchantId": {
+ "type": "string",
+ "example": "Processor Merchant Id",
+ "description": "Cybersource Processor Merchant Id"
+ },
+ "groupName": {
+ "type": "string",
+ "example": "996411990498708810001",
+ "description": "Group Name"
+ },
+ "transactionReferenceNumber": {
+ "type": "string",
+ "example": "RZ3J9WCS9J33",
+ "description": "Transaction Reference Number"
+ },
+ "merchantReferenceNumber": {
+ "type": "string",
+ "example": "47882339",
+ "description": "Merchant Reference Number"
+ }
+ },
+ "description": "Request Info Section"
+ }
+ },
+ "settlements": {
+ "type": "array",
+ "description": "List of Settlement Info values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "requestId": {
+ "type": "string",
+ "example": "12345678901234567890123456",
+ "description": "An unique identification number assigned by CyberSource to identify the submitted request."
+ },
+ "transactionType": {
+ "type": "string",
+ "example": "Purchases",
+ "description": "Transaction Type"
+ },
+ "submissionTime": {
+ "type": "string",
+ "example": "2017-10-01T10:10:10+05:00",
+ "description": "Submission Date",
+ "format": "date-time"
+ },
+ "amount": {
+ "type": "string",
+ "example": "23.00",
+ "description": "Amount"
+ },
+ "currencyCode": {
+ "type": "string",
+ "example": "USD",
+ "description": "Valid ISO 4217 ALPHA-3 currency code"
+ },
+ "paymentMethod": {
+ "type": "string",
+ "example": "VISA",
+ "description": "payment method"
+ },
+ "walletType": {
+ "type": "string",
+ "example": "V.me",
+ "description": "Solution Type (Wallet)"
+ },
+ "paymentType": {
+ "type": "string",
+ "example": "credit card",
+ "description": "Payment Type"
+ },
+ "accountSuffix": {
+ "type": "string",
+ "example": "0004",
+ "description": "Account Suffix"
+ },
+ "cybersourceBatchTime": {
+ "type": "string",
+ "example": "2017-10-01T10:10:10+05:00",
+ "description": "Cybersource Batch Time",
+ "format": "date-time"
+ },
+ "cybersourceBatchId": {
+ "type": "string",
+ "example": "123123123123123",
+ "description": "Cybersource Batch Id"
+ },
+ "cardType": {
+ "type": "string",
+ "example": "null",
+ "description": "Card Type"
+ },
+ "debitNetwork": {
+ "type": "string",
+ "example": "",
+ "description": "Debit Network"
+ }
+ }
+ }
+ },
+ "authorizations": {
+ "type": "array",
+ "description": "List of Authorization Info values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "requestId": {
+ "type": "string",
+ "example": "12345678901234567890123456",
+ "description": "An unique identification number assigned by CyberSource to identify the submitted request."
+ },
+ "transactionReferenceNumber": {
+ "type": "string",
+ "example": "RZ3J9WCS9J27",
+ "description": "Authorization Transaction Reference Number"
+ },
+ "time": {
+ "type": "string",
+ "example": "2017-10-01T10:10:10+05:00",
+ "description": "Authorization Date",
+ "format": "date-time"
+ },
+ "authorizationRequestId": {
+ "type": "string",
+ "example": "12345678901234567890123459",
+ "description": "Authorization Request Id"
+ },
+ "amount": {
+ "type": "string",
+ "example": "2.50",
+ "description": "Authorization Amount"
+ },
+ "currencyCode": {
+ "type": "string",
+ "example": "USD",
+ "description": "Valid ISO 4217 ALPHA-3 currency code"
+ },
+ "code": {
+ "type": "string",
+ "example": "160780",
+ "description": "Authorization Code"
+ },
+ "rcode": {
+ "type": "string",
+ "example": "1",
+ "description": "Authorization RCode"
+ }
+ },
+ "description": "Authorization Info Values"
+ }
+ },
+ "feeAndFundingDetails": {
+ "type": "array",
+ "description": "List of Fee Funding Info values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "requestId": {
+ "type": "string",
+ "maxLength": 26,
+ "example": "12345678901234567890123456",
+ "description": "An unique identification number assigned by CyberSource to identify the submitted request."
+ },
+ "interchangePerItemFee": {
+ "type": "string",
+ "example": "2.7",
+ "description": "interchange Per Item Fee"
+ },
+ "interchangeDescription": {
+ "type": "string",
+ "example": "Visa International Assessments (Enhanced)",
+ "description": "interchange Description"
+ },
+ "interchangePercentage": {
+ "type": "string",
+ "example": "0.25",
+ "description": "interchange Percentage"
+ },
+ "interchangePercentageAmount": {
+ "type": "string",
+ "example": "-3.7500",
+ "description": "interchange Percentage Amount"
+ },
+ "discountPercentage": {
+ "type": "string",
+ "example": "2.39",
+ "description": "Discount Percentage"
+ },
+ "discountAmount": {
+ "type": "string",
+ "example": "0.429",
+ "description": "Discount Amount"
+ },
+ "discountPerItemFee": {
+ "type": "string",
+ "example": "0.002",
+ "description": "Discount Per Item Fee"
+ },
+ "totalFee": {
+ "type": "string",
+ "example": "0.429",
+ "description": "Total Fee"
+ },
+ "feeCurrency": {
+ "type": "string",
+ "example": "1",
+ "description": "Fee Currency"
+ },
+ "duesAssessments": {
+ "type": "string",
+ "example": "0",
+ "description": "Dues Assessments"
+ },
+ "fundingAmount": {
+ "type": "string",
+ "example": "2.50",
+ "description": "Funding Amount"
+ },
+ "fundingCurrency": {
+ "type": "string",
+ "example": "USD",
+ "description": "Funding Currency (ISO 4217)"
+ }
+ },
+ "description": "Fee Funding Section"
+ }
+ },
+ "others": {
+ "type": "array",
+ "description": "List of Other Info values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "requestId": {
+ "type": "string",
+ "maxLength": 26,
+ "example": "12345678901234567890123456",
+ "description": "An unique identification number assigned by CyberSource to identify the submitted request."
+ },
+ "merchantData1": {
+ "type": "string",
+ "example": "Merchant Defined Data",
+ "description": "Merchant Defined Data"
+ },
+ "merchantData2": {
+ "type": "string",
+ "example": "Merchant Defined Data",
+ "description": "Merchant Defined Data"
+ },
+ "merchantData3": {
+ "type": "string",
+ "example": "Merchant Defined Data",
+ "description": "Merchant Defined Data"
+ },
+ "merchantData4": {
+ "type": "string",
+ "example": "Merchant Defined Data",
+ "description": "Merchant Defined Data"
+ },
+ "firstName": {
+ "type": "string",
+ "example": "First Name",
+ "description": "First Name"
+ },
+ "lastName": {
+ "type": "string",
+ "example": "Last Name",
+ "description": "Last Name"
+ }
+ },
+ "description": "Other Merchant Details Values."
+ }
+ },
+ "settlementStatuses": {
+ "type": "array",
+ "description": "List of Settlement Status Info values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "requestId": {
+ "type": "string",
+ "maxLength": 26,
+ "example": "12345678901234567890123456",
+ "description": "An unique identification number assigned by CyberSource to identify the submitted request."
+ },
+ "status": {
+ "type": "string",
+ "example": "Settlement Status",
+ "description": "Settlement Status"
+ },
+ "settlementTime": {
+ "type": "string",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "description": "Settlement Date"
+ },
+ "reasonCode": {
+ "example": "reasonCode",
+ "type": "string",
+ "description": "ReasonCode"
+ },
+ "errorText": {
+ "example": "errorText",
+ "type": "string",
+ "description": "errorText"
+ }
+ },
+ "description": "Settlement Status Section Values."
+ }
+ }
+ },
+ "description": "PurchaseAndRefundDetails"
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3PurchaseRefundDetailsGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "title": "reportingV3PurchaseRefundDetailsGet401Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Report not found",
+ "schema": {
+ "title": "reportingV3PurchaseRefundDetailsGet404Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "title": "reportingV3PurchaseRefundDetailsGet500Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ },
+ "examples": {
+ "application/json": {
+ "code": "SERVER_ERROR",
+ "correlationId": null,
+ "detail": "Internal Server Error. Please contact the customer support.",
+ "localizationKey": "cybsapi.server.error",
+ "message": "Error encountered while processing request"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/payment-batch-summaries": {
+ "get": {
+ "tags": [
+ "Payment Batch Summaries"
+ ],
+ "summary": "Get Payment Batch Summary Data",
+ "description": "Scope can be either account/merchant or reseller.",
+ "operationId": "getPaymentBatchSummary",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "x-custom-headers": {
+ "accept": [
+ "text/csv",
+ "application/xml",
+ "application/hal+json"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2019-05-01T12:00:00Z",
+ "endTime": "2019-08-30T12:00:00Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "text/csv",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "name": "rollUp",
+ "in": "query",
+ "description": "Conditional - RollUp for data for day/week/month. Required while getting breakdown data for a Merchant",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "breakdown",
+ "in": "query",
+ "description": "Conditional - Breakdown on account_rollup/all_merchant/selected_merchant. Required while getting breakdown data for a Merchant.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "startDayOfWeek",
+ "in": "query",
+ "description": "Optional - Start day of week to breakdown data for weeks in a month",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 7
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3PaymentBatchSummariesGet200Response",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "paymentBatchSummaries": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "currencyCode": {
+ "type": "string",
+ "example": "USD"
+ },
+ "paymentSubTypeDescription": {
+ "type": "string",
+ "example": "Diners Club"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "salesCount": {
+ "type": "integer",
+ "example": 10,
+ "format": "int32"
+ },
+ "salesAmount": {
+ "type": "string",
+ "example": "5000.01"
+ },
+ "creditCount": {
+ "type": "integer",
+ "example": 10,
+ "format": "int32"
+ },
+ "creditAmount": {
+ "type": "string",
+ "example": "5000.01"
+ },
+ "accountName": {
+ "type": "string",
+ "example": "ubmerchant296"
+ },
+ "accountId": {
+ "type": "string",
+ "example": "ubmerchant296_acct"
+ },
+ "merchantId": {
+ "type": "string",
+ "example": "ubmerchant296_3"
+ },
+ "merchantName": {
+ "type": "string",
+ "example": "ubmerchant296_3"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3PaymentBatchSummariesGet200Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Payment Batch Summary not found"
+ }
+ }
+ }
+ },
+ "/reporting/v3/conversion-details": {
+ "get": {
+ "tags": [
+ "Conversion Details"
+ ],
+ "summary": "Get Conversion Detail Transactions",
+ "description": "Get conversion detail of transactions for a merchant.",
+ "operationId": "getConversionDetail",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "startTime": "2019-03-21T00:00:00Z",
+ "endTime": "2019-03-21T23:00:00Z",
+ "organizationId": "testrest"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "title": "reportingV3ConversionDetailsGet200Response",
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Merchant Id",
+ "example": "testMerchantId",
+ "xml": {
+ "name": "MerchantID",
+ "attribute": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00",
+ "xml": {
+ "name": "ReportStartDate",
+ "attribute": true
+ }
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00",
+ "xml": {
+ "name": "ReportEndDate",
+ "attribute": true
+ }
+ },
+ "conversionDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "merchantReferenceNumber": {
+ "type": "string",
+ "description": "Merchant reference number of a merchant",
+ "example": "1234567890",
+ "xml": {
+ "name": "MerchantReferenceNumber",
+ "attribute": true
+ }
+ },
+ "conversionTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date of conversion",
+ "example": "2017-10-01T10:10:10+05:00",
+ "xml": {
+ "name": "ConversionDate",
+ "attribute": true
+ }
+ },
+ "requestId": {
+ "type": "string",
+ "description": "Cybersource Transation request id",
+ "example": "1234567890123456789012",
+ "xml": {
+ "name": "RequestID",
+ "attribute": true
+ }
+ },
+ "originalDecision": {
+ "type": "string",
+ "description": "Original decision",
+ "example": "REVIEW",
+ "xml": {
+ "name": "OriginalDecision"
+ }
+ },
+ "newDecision": {
+ "type": "string",
+ "description": "New decision",
+ "example": "ACCEPT",
+ "xml": {
+ "name": "NewDecision"
+ }
+ },
+ "reviewer": {
+ "type": "string",
+ "description": "User name of the reviewer",
+ "example": "testuserId",
+ "xml": {
+ "name": "Reviewer"
+ }
+ },
+ "reviewerComments": {
+ "type": "string",
+ "description": "Comments of the reviewer",
+ "example": "Verified order.",
+ "xml": {
+ "name": "ReviewerComments"
+ }
+ },
+ "queue": {
+ "type": "string",
+ "description": "Name of the queue",
+ "example": "Review Queue",
+ "xml": {
+ "name": "Queue"
+ }
+ },
+ "profile": {
+ "type": "string",
+ "description": "Name of the profile",
+ "example": "Test Profile",
+ "xml": {
+ "name": "Profile"
+ }
+ },
+ "notes": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of the note added by reviewer",
+ "example": "2017-10-01T10:10:10+05:00",
+ "xml": {
+ "name": "Date",
+ "attribute": true
+ }
+ },
+ "addedBy": {
+ "type": "string",
+ "description": "Note added by reviewer",
+ "example": "testuserId",
+ "xml": {
+ "name": "AddedBy",
+ "attribute": true
+ }
+ },
+ "comments": {
+ "type": "string",
+ "description": "Comments given by the reviewer",
+ "example": "Verified the order and accepted.",
+ "xml": {
+ "name": "Comment",
+ "attribute": true
+ }
+ }
+ },
+ "xml": {
+ "name": "Note"
+ }
+ },
+ "xml": {
+ "name": "Notes"
+ }
+ }
+ },
+ "xml": {
+ "name": "Conversion"
+ }
+ }
+ }
+ },
+ "xml": {
+ "name": "Report"
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3ConversionDetailsGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "404": {
+ "description": "Conversion detail not found",
+ "schema": {
+ "title": "reportingV3ConversionDetailsGet404Response"
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/net-fundings": {
+ "get": {
+ "tags": [
+ "Net Fundings"
+ ],
+ "summary": "Get Netfunding Information for an Account or a Merchant",
+ "description": "Get Netfunding information for an account or a merchant.",
+ "operationId": "getNetFundingDetails",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "name": "groupName",
+ "in": "query",
+ "description": "Valid CyberSource Group Name.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3NetFundingsGet200Response",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "description": "Valid report Start Date in **ISO 8601 format**.\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example:**\n- yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "attribute": true
+ }
+ },
+ "endTime": {
+ "type": "string",
+ "description": "Valid report End Date in **ISO 8601 format**\n**Example date format:**\n- yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n",
+ "example": "2018-04-12T23:20:50.52Z",
+ "format": "date-time",
+ "xml": {
+ "attribute": true
+ }
+ },
+ "netFundingSummaries": {
+ "type": "array",
+ "description": "List of Netfunding summary objects",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Valid values:\n- PURCHASES\n- REFUNDS\n- FEES\n- CHARGEBACKS\n",
+ "example": "PURCHASES"
+ },
+ "paymentSubType": {
+ "type": "string",
+ "example": "VI"
+ },
+ "conveyedCount": {
+ "type": "integer",
+ "example": 10
+ },
+ "conveyedAmount": {
+ "type": "string",
+ "example": "100.50"
+ },
+ "settledCount": {
+ "type": "integer",
+ "example": 10
+ },
+ "fundedCount": {
+ "type": "integer",
+ "example": 10
+ },
+ "fundedAmount": {
+ "type": "string",
+ "example": "150.50"
+ },
+ "currencyCode": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ }
+ },
+ "xml": {
+ "name": "NetFundingSummary"
+ }
+ },
+ "xml": {
+ "name": "NetFundingSummaries",
+ "wrapped": true
+ }
+ },
+ "totalPurchases": {
+ "type": "array",
+ "description": "List of total purchases currency wise",
+ "items": {
+ "type": "object",
+ "required": [
+ "currency",
+ "value"
+ ],
+ "properties": {
+ "currency": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "value": {
+ "type": "string",
+ "example": "10.01"
+ }
+ },
+ "xml": {
+ "name": "Amount"
+ }
+ },
+ "xml": {
+ "name": "totalPurchases",
+ "wrapped": true
+ }
+ },
+ "totalRefunds": {
+ "type": "array",
+ "description": "List of total refunds currency wise",
+ "items": {
+ "type": "object",
+ "required": [
+ "currency",
+ "value"
+ ],
+ "properties": {
+ "currency": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "value": {
+ "type": "string",
+ "example": "10.01"
+ }
+ },
+ "xml": {
+ "name": "Amount"
+ }
+ },
+ "xml": {
+ "name": "totalRefunds",
+ "wrapped": true
+ }
+ },
+ "totalFees": {
+ "type": "array",
+ "description": "List of total fees currency wise",
+ "items": {
+ "type": "object",
+ "required": [
+ "currency",
+ "value"
+ ],
+ "properties": {
+ "currency": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "value": {
+ "type": "string",
+ "example": "10.01"
+ }
+ },
+ "xml": {
+ "name": "Amount"
+ }
+ },
+ "xml": {
+ "name": "totalFees",
+ "wrapped": true
+ }
+ },
+ "totalChargebacks": {
+ "type": "array",
+ "description": "List of total chargebacks currency wise",
+ "items": {
+ "type": "object",
+ "required": [
+ "currency",
+ "value"
+ ],
+ "properties": {
+ "currency": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "value": {
+ "type": "string",
+ "example": "10.01"
+ }
+ },
+ "xml": {
+ "name": "Amount"
+ }
+ },
+ "xml": {
+ "name": "totalChargebacks",
+ "wrapped": true
+ }
+ },
+ "netTotal": {
+ "type": "array",
+ "description": "List of new total currency wise",
+ "items": {
+ "type": "object",
+ "required": [
+ "currency",
+ "value"
+ ],
+ "properties": {
+ "currency": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "value": {
+ "type": "string",
+ "example": "10.01"
+ }
+ },
+ "xml": {
+ "name": "Amount"
+ }
+ },
+ "xml": {
+ "name": "netTotal",
+ "wrapped": true
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "reportingV3NetFundingsGet400Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "title": "reportingV3NetFundingsGet401Response"
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "title": "reportingV3NetFundingsGet403Response"
+ }
+ },
+ "404": {
+ "description": "Report not found",
+ "schema": {
+ "title": "reportingV3NetFundingsGet404Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "title": "reportingV3NetFundingsGet500Response",
+ "type": "object",
+ "required": [
+ "submitTimeUtc",
+ "reason",
+ "message",
+ "details"
+ ],
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of request in UTC. \n",
+ "example": "2016-08-11T22:47:57Z"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n",
+ "example": "INVALID_DATA"
+ },
+ "message": {
+ "type": "string",
+ "description": "Short descriptive message to the user.\n",
+ "example": "One or more fields contains invalid data"
+ },
+ "details": {
+ "type": "array",
+ "description": "Error field list\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field in request that caused an error\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Documented reason code\n"
+ }
+ },
+ "description": "Provides failed validation input field detail\n"
+ }
+ }
+ },
+ "description": "HTTP status code for client application"
+ },
+ "examples": {
+ "application/json": {
+ "code": "SERVER_ERROR",
+ "correlationId": null,
+ "detail": null,
+ "fields": [],
+ "localizationKey": "cybsapi.server.error",
+ "message": "Error encountered while processing request"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/dtds/{reportDefinitionNameVersion}": {
+ "get": {
+ "tags": [
+ "Download DTD"
+ ],
+ "summary": "Download DTD for Report",
+ "description": "Used to download DTDs for reports on no-auth.",
+ "operationId": "getDTDV2",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "isClientSideApi": true
+ },
+ "produces": [
+ "application/xml-dtd"
+ ],
+ "parameters": [
+ {
+ "name": "reportDefinitionNameVersion",
+ "in": "path",
+ "description": "Name and version of DTD file to download. Some DTDs only have one version. In that case version name is not needed. Some example values are ctdr-1.0, tdr, pbdr-1.1",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "400": {
+ "description": "Bad request. DTD file name may be invalid"
+ },
+ "404": {
+ "description": "DTD file not found"
+ },
+ "500": {
+ "description": "Internal Server Error"
+ }
+ }
+ }
+ },
+ "/reporting/v3/xsds/{reportDefinitionNameVersion}": {
+ "get": {
+ "tags": [
+ "Download XSD"
+ ],
+ "summary": "Download XSD for Report",
+ "description": "Used to download XSDs for reports on no-auth.",
+ "operationId": "getXSDV2",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "isClientSideApi": true
+ },
+ "produces": [
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "reportDefinitionNameVersion",
+ "in": "path",
+ "description": "Name and version of XSD file to download. Some XSDs only have one version. In that case version name is not needed. Some example values are DecisionManagerDetailReport, DecisionManagerTypes",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok"
+ },
+ "400": {
+ "description": "Bad request. XSD file name may be invalid"
+ },
+ "404": {
+ "description": "XSD file not found"
+ },
+ "500": {
+ "description": "Internal Server Error"
+ }
+ }
+ }
+ },
+ "/reporting/v3/chargeback-summaries": {
+ "get": {
+ "tags": [
+ "Chargeback Summaries"
+ ],
+ "summary": "Get Chargeback Summaries",
+ "description": "Chargeback Summary Report Description",
+ "operationId": "getChargebackSummaries",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "accessLevel": "code",
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3ChargebackSummariesGet200Response",
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id",
+ "example": "testrest",
+ "xml": {
+ "name": "MerchantId",
+ "attribute": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Report Start Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportStartDate",
+ "attribute": true
+ }
+ },
+ "endTime": {
+ "type": "string",
+ "description": "Report Start Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "xml": {
+ "name": "ReportEndDate",
+ "attribute": true
+ }
+ },
+ "chargebackSummaries": {
+ "type": "array",
+ "description": "List of Summary values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "number",
+ "description": "Chargeback summary list count",
+ "example": "8"
+ },
+ "time": {
+ "type": "string",
+ "description": "Summary Date",
+ "example": "2018-01-04T11:33:06.000-0800",
+ "format": "date-time"
+ },
+ "accountId": {
+ "type": "string",
+ "description": "Account Id",
+ "example": "testrest_acct"
+ }
+ },
+ "xml": {
+ "name": "Request",
+ "wrapped": true
+ }
+ }
+ }
+ },
+ "xml": {
+ "name": "Report",
+ "wrapped": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/chargeback-details": {
+ "get": {
+ "tags": [
+ "Chargeback Details"
+ ],
+ "summary": "Get Chargeback Details",
+ "description": "Chargeback Detail Report Description",
+ "operationId": "getChargebackDetails",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "accessLevel": "code",
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3ChargebackDetailsGet200Response",
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id",
+ "example": "testrest",
+ "xml": {
+ "name": "MerchantId",
+ "attribute": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Report Start Date (ISO 8601 Extended)",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportStartDate",
+ "attribute": true
+ }
+ },
+ "endTime": {
+ "type": "string",
+ "description": "Report Start Date (ISO 8601 Extended)",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportEndDate",
+ "attribute": true
+ }
+ },
+ "chargebackDetails": {
+ "type": "array",
+ "description": "List of Chargeback Details list.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "processorMerchantId": {
+ "type": "string",
+ "description": "Processor Merchant Id",
+ "example": "174263416896"
+ },
+ "merchantName": {
+ "type": "string",
+ "description": "Merchant Name",
+ "example": "Revolutionary Entertainment Inc"
+ },
+ "transactionReferenceNumber": {
+ "type": "string",
+ "description": "Transaction Reference Number",
+ "example": "93983883073"
+ },
+ "merchantReferenceNumber": {
+ "type": "string",
+ "description": "Merchant Reference Number",
+ "example": "X03434388DEADBEEF"
+ },
+ "natureOfDispute": {
+ "type": "string",
+ "description": "Nature of Dispute",
+ "example": "Chargeback"
+ },
+ "alertType": {
+ "type": "string",
+ "description": "Chargeback Alert Type",
+ "example": "2"
+ },
+ "amount": {
+ "type": "string",
+ "description": "Chargeback Amount",
+ "example": "5"
+ },
+ "sign": {
+ "type": "string",
+ "description": "Chargeback Sign",
+ "example": "C"
+ },
+ "action": {
+ "type": "string",
+ "description": "Chargeback Action",
+ "example": "3"
+ },
+ "cardType": {
+ "type": "string",
+ "description": "Card Type",
+ "example": "American Express"
+ },
+ "originalSettlementTime": {
+ "type": "string",
+ "description": "Original Settlement Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "trackingNumber": {
+ "type": "string",
+ "description": "Tracking Number",
+ "example": "990175"
+ },
+ "currencyCode": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "requestId": {
+ "type": "string",
+ "description": "Request Id",
+ "example": "5060113732046412501541"
+ },
+ "responseDueTime": {
+ "type": "string",
+ "description": "Response Due Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "time": {
+ "type": "string",
+ "description": "Chargeback Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "actionDescription": {
+ "type": "string",
+ "description": "Chargeback Action Description",
+ "example": "Financial transaction"
+ },
+ "customerId": {
+ "type": "string",
+ "description": "Customer Id",
+ "example": "937999JFK"
+ },
+ "reasonCode": {
+ "type": "string",
+ "description": "Chargeback Reason Code",
+ "example": "1050"
+ },
+ "representmentCPTime": {
+ "type": "string",
+ "description": "Representment CP Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "applications": {
+ "type": "string",
+ "description": "ICS Request Applications",
+ "example": "ics_bill"
+ },
+ "eventRequestedTime": {
+ "type": "string",
+ "description": "Event Request Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "preDisputeFlag": {
+ "type": "string",
+ "description": "Pre Dispute Flag",
+ "example": "N"
+ }
+ },
+ "xml": {
+ "name": "Request",
+ "wrapped": true
+ }
+ }
+ }
+ },
+ "xml": {
+ "name": "Report",
+ "wrapped": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/retrieval-summaries": {
+ "get": {
+ "tags": [
+ "Retrieval Summaries"
+ ],
+ "summary": "Get Retrieval Summaries",
+ "description": "Retrieval Summary Report Description",
+ "operationId": "getRetrievalSummary",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "accessLevel": "code",
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3RetrievalSummariesGet200Response",
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id",
+ "example": "testrest",
+ "xml": {
+ "name": "MerchantId",
+ "attribute": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Report Start Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportStartDate",
+ "attribute": true
+ }
+ },
+ "endTime": {
+ "type": "string",
+ "description": "Report Start Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "xml": {
+ "name": "ReportEndDate",
+ "attribute": true
+ }
+ },
+ "retrievalSummaries": {
+ "type": "array",
+ "description": "List of Summary values",
+ "items": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "number",
+ "description": "Chargeback summary list count",
+ "example": "8"
+ },
+ "time": {
+ "type": "string",
+ "description": "Summary Date",
+ "example": "2018-01-04T11:33:06.000-0800",
+ "format": "date-time"
+ },
+ "accountId": {
+ "type": "string",
+ "description": "Account Id",
+ "example": "testrest_acct"
+ }
+ },
+ "xml": {
+ "name": "Request",
+ "wrapped": true
+ }
+ }
+ }
+ },
+ "xml": {
+ "name": "Report",
+ "wrapped": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/retrieval-details": {
+ "get": {
+ "tags": [
+ "Retrieval Details"
+ ],
+ "summary": "Get Retrieval Details",
+ "description": "Retrieval Detail Report Description",
+ "operationId": "getRetrievalDetails",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "accessLevel": "code",
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3RetrievalDetailsGet200Response",
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id",
+ "example": "testrest",
+ "xml": {
+ "name": "MerchantId",
+ "attribute": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Report Start Date (ISO 8601 Extended)",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportStartDate",
+ "attribute": true
+ }
+ },
+ "endTime": {
+ "type": "string",
+ "description": "Report Start Date (ISO 8601 Extended)",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportEndDate",
+ "attribute": true
+ }
+ },
+ "retrievalDetails": {
+ "type": "array",
+ "description": "List of Retrieval Details list.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "processorMerchantId": {
+ "type": "string",
+ "description": "Processor Merchant Id",
+ "example": "174263416896"
+ },
+ "merchantName": {
+ "type": "string",
+ "description": "Merchant Name",
+ "example": "ZZZZZZ USA_EUR"
+ },
+ "transactionReferenceNumber": {
+ "type": "string",
+ "description": "Transaction Reference Number",
+ "example": "02230413"
+ },
+ "merchantReferenceNumber": {
+ "type": "string",
+ "description": "Merchant Reference Number",
+ "example": "123"
+ },
+ "natureOfDispute": {
+ "type": "string",
+ "description": "Nature of Dispute",
+ "example": "Retrieval"
+ },
+ "alertType": {
+ "type": "string",
+ "description": "Retrieval Alert Type",
+ "example": "2"
+ },
+ "amount": {
+ "type": "string",
+ "description": "Retrieval Amount",
+ "example": "5"
+ },
+ "sign": {
+ "type": "string",
+ "description": "Retrieval Sign",
+ "example": "C"
+ },
+ "action": {
+ "type": "string",
+ "description": "Retrieval Action",
+ "example": "3"
+ },
+ "cardType": {
+ "type": "string",
+ "description": "Card Type",
+ "example": "American Express"
+ },
+ "originalSettlementTime": {
+ "type": "string",
+ "description": "Original Settlement Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "trackingNumber": {
+ "type": "string",
+ "description": "Tracking Number",
+ "example": "990175"
+ },
+ "currencyCode": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "requestId": {
+ "type": "string",
+ "description": "Request Id",
+ "example": "5060113732046412501541"
+ },
+ "responseDueTime": {
+ "type": "string",
+ "description": "Response Due Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "time": {
+ "type": "string",
+ "description": "Retrieval Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "actionDescription": {
+ "type": "string",
+ "description": "Retrieval Action Description",
+ "example": "Financial transaction"
+ },
+ "customerId": {
+ "type": "string",
+ "description": "Customer Id",
+ "example": "Customer Id"
+ },
+ "reasonCode": {
+ "type": "string",
+ "description": "Retrieval Reason Code",
+ "example": "1050"
+ },
+ "representmentCPTime": {
+ "type": "string",
+ "description": "Representment CP Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "applications": {
+ "type": "string",
+ "description": "ICS Request Applications",
+ "example": "ics_auth"
+ },
+ "eventRequestedTime": {
+ "type": "string",
+ "description": "Event Request Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ }
+ },
+ "xml": {
+ "name": "Request",
+ "wrapped": true
+ }
+ }
+ }
+ },
+ "xml": {
+ "name": "Report",
+ "wrapped": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reporting/v3/interchange-clearing-level-details": {
+ "get": {
+ "tags": [
+ "Interchange Clearing Level Details"
+ ],
+ "summary": "Interchange Clearing Level data for an account or a merchant",
+ "description": "Interchange Clearing Level data for an account or a merchant",
+ "operationId": "getInterchangeClearingLevelDetails",
+ "x-devcenter-metaData": {
+ "categoryTag": "Reporting",
+ "enableDownload": true,
+ "accessLevel": "code",
+ "x-custom-headers": {
+ "accept": [
+ "application/hal+json",
+ "application/xml"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
+ },
+ "produces": [
+ "application/hal+json",
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "name": "startTime",
+ "in": "query",
+ "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "endTime",
+ "in": "query",
+ "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n",
+ "required": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "reportingV3InterchangeClearingLevelDetailsGet200Response",
+ "type": "object",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "description": "Valid report Start Date in **ISO 8601 format**.\nPlease refer the following link to know more about ISO 8601 format.\n- https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14\n\n**Example:**\n- yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "endDate": {
+ "type": "string",
+ "description": "Valid report Start Date in **ISO 8601 format**.\n",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
+ },
+ "interchangeClearingLevelDetails": {
+ "type": "array",
+ "description": "List of InterchangeClearingLevelDetail",
+ "items": {
+ "type": "object",
+ "properties": {
+ "requestId": {
+ "type": "string",
+ "example": "5166566062346232701541"
+ },
+ "organizationId": {
+ "type": "string",
+ "example": "testrest"
+ },
+ "accountId": {
+ "type": "string",
+ "example": "testrest_acct"
+ },
+ "processorMerchantId": {
+ "type": "string",
+ "example": "174180221999"
+ },
+ "transactionReferenceNumber": {
+ "type": "string",
+ "example": "21339480"
+ },
+ "merchantReferenceNumber": {
+ "type": "string",
+ "example": "33557799"
+ },
+ "accountSuffix": {
+ "type": "string",
+ "example": "2393"
+ },
+ "paymentSubType": {
+ "type": "string",
+ "example": "VI"
+ },
+ "paymentSubTypeDescription": {
+ "type": "string",
+ "example": "Visa"
+ },
+ "transactionTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "processedTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "transactionType": {
+ "type": "string",
+ "example": "Sale"
+ },
+ "amount": {
+ "type": "string",
+ "example": "90.50"
+ },
+ "currencyCode": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "priceType": {
+ "type": "string",
+ "example": "077"
+ },
+ "priceAmountOne": {
+ "type": "string",
+ "example": "0.018"
+ },
+ "priceAmountTwo": {
+ "type": "string",
+ "example": "0.1"
+ },
+ "reClass": {
+ "type": "string",
+ "example": "0"
+ },
+ "settlementTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "settlementProcessor": {
+ "type": "string",
+ "example": "fdiglobal"
+ },
+ "merchantBatchNumber": {
+ "type": "string",
+ "example": "000000037800"
+ },
+ "clearedLevel": {
+ "type": "string",
+ "example": "REG"
+ },
+ "billbackReasonCode": {
+ "type": "string",
+ "example": "VI"
+ },
+ "billbackReasonDescription": {
+ "type": "string",
+ "example": "B278-TRANSACTION CLEARED AS REGULATED"
+ },
+ "merchantPricedLevel": {
+ "type": "string",
+ "example": "1.72"
+ },
+ "discountRate": {
+ "type": "string",
+ "example": "0.0"
+ },
+ "discountAmount": {
+ "type": "string",
+ "example": "0.0"
+ },
+ "clearingRateAmountOne": {
+ "type": "string",
+ "example": "0.005"
+ },
+ "clearingRateAmountTwo": {
+ "type": "string",
+ "example": "0.22"
+ },
+ "clearingRateAmountThree": {
+ "type": "string",
+ "example": "0.0"
+ },
+ "clearingRateCurrencyCode": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "interchangeAmount": {
+ "type": "string",
+ "example": "0.27"
+ },
+ "billbackAmount": {
+ "type": "string",
+ "example": "-1.46"
+ },
+ "settlementAmount": {
+ "type": "string",
+ "example": "1.23"
+ },
+ "settlementCurrencyCode": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "conversionRate": {
+ "type": "string",
+ "example": "1.0"
+ },
+ "deltaCost": {
+ "type": "string",
+ "example": "5.0"
+ },
+ "surchargeAmount": {
+ "type": "string",
+ "example": "5.0"
+ },
+ "percentRateCharged": {
+ "type": "string",
+ "example": "5.5"
+ },
+ "perTransactionCharged": {
+ "type": "string",
+ "example": "5.0"
+ },
+ "downgradeReasonCode": {
+ "type": "string",
+ "example": "1"
+ },
+ "processTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "authCode": {
+ "type": "string",
+ "example": "012628"
+ },
+ "batchTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
+ },
+ "processorBatchNumber": {
+ "type": "string",
+ "example": "00001"
+ },
+ "cardIndicator": {
+ "type": "string",
+ "example": "P"
+ },
+ "minimumUnit": {
+ "type": "integer",
+ "example": 1
+ },
+ "minimumUnitCurrencyCode": {
+ "type": "string",
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
+ },
+ "creditDeltaIndicator": {
+ "type": "string",
+ "example": "N"
+ },
+ "feeCategory": {
+ "type": "string",
+ "example": "A"
+ },
+ "applicationName": {
+ "type": "string",
+ "example": "ics_auth"
+ }
+ },
+ "xml": {
+ "name": "Request"
+ }
+ }
+ }
+ },
+ "xml": {
+ "name": "Report"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/sfs/v1/file-details": {
+ "get": {
+ "tags": [
+ "SecureFileShare"
+ ],
+ "summary": "Get List of Files",
+ "description": "Get list of files and it's information of them available inside the report directory",
+ "operationId": "getFileDetail",
+ "x-devcenter-metaData": {
+ "categoryTag": "Secure_File_Share",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html"
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "startDate": "2020-10-20",
+ "endDate": "2030-01-01",
+ "name": ""
+ },
+ "produces": [
+ "application/hal+json"
+ ],
+ "consumes": [
+ "*/*;charset=utf-8"
+ ],
+ "parameters": [
+ {
+ "name": "startDate",
+ "in": "query",
+ "description": "Valid start date in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n **Example date format:**\n - yyyy-MM-dd\n",
+ "required": true,
+ "type": "string",
+ "format": "date"
+ },
+ {
+ "name": "endDate",
+ "in": "query",
+ "description": "Valid end date in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n **Example date format:**\n - yyyy-MM-dd\n",
+ "required": true,
+ "type": "string",
+ "format": "date"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Cybersource Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "**Tailored to searches for specific files with in given Date range**\nexample : MyTransactionDetailreport.xml\n",
+ "pattern": "[a-zA-Z0-9-_\\.]+",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "title": "V1FileDetailsGet200Response",
+ "type": "object",
+ "properties": {
+ "fileDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "description": "Unique identifier of a file",
+ "example": "AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the file",
+ "example": "MyTransactionDetailreport.xml"
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time for the file in PST",
+ "example": "2017-10-01T00:00:00+05:00"
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time for the file in PST",
+ "example": "2017-10-01T00:00:00+05:00"
+ },
+ "date": {
+ "type": "string",
+ "format": "date",
+ "description": "Date and time for the file in PST",
+ "example": "2017-10-05"
+ },
+ "mimeType": {
+ "type": "string",
+ "description": "'File extension'\n\nValid values:\n- 'application/xml'\n- 'text/csv'\n- 'application/pdf'\n- 'application/octet-stream'\n",
+ "example": "application/xml"
+ },
+ "size": {
+ "type": "number",
+ "description": "Size of the file in bytes",
+ "example": 2245397
+ }
+ }
+ }
+ },
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "/sfs/v1/file-details?startDate=2018-01-01&endDate=2018-01-02"
+ },
+ "method": {
+ "type": "string",
+ "example": "GET"
+ }
+ }
+ },
+ "files": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "description": "Unique identifier for each file",
+ "example": "AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B"
+ },
+ "href": {
+ "type": "string",
+ "example": "/sfs/v1/files/AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B"
+ },
+ "method": {
+ "type": "string",
+ "example": "GET"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "V1FilesGet400Response",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
+ "type": "array",
+ "description": "Error fields List",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
+ }
+ },
+ "description": "Provide validation failed input field details"
+ }
+ }
+ },
+ "description": "Error Bean"
+ },
+ "examples": {
+ "application/json": {
+ "code": "VALIDATION_ERROR",
+ "correlationId": null,
+ "detail": null,
+ "fields": [
+ {
+ "path": "startTime",
+ "message": "Start date should not precede 18 months from current time in GMT",
+ "localizationKey": null
+ }
+ ],
+ "localizationKey": "cybsapi.validation.errors",
+ "message": "Field validation errors"
+ }
+ }
+ },
+ "401": {
+ "description": "Ok",
+ "schema": {
+ "title": "V1FileDetailsGet401Response",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
+ "type": "array",
+ "description": "Error fields List",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
+ }
+ },
+ "description": "Provide validation failed input field details"
+ }
+ }
+ },
+ "description": "Error Bean"
+ },
+ "examples": {
+ "application/json": {
+ "code": "VALIDATION_ERROR",
+ "correlationId": null,
+ "detail": null,
+ "fields": [
+ {
+ "path": "organizationId",
+ "message": "Organization doesn't has access to File details",
+ "localizationKey": null
+ }
+ ],
+ "localizationKey": "cybsapi.validation.errors",
+ "message": "Field validation errors"
+ }
+ }
+ },
+ "404": {
+ "description": "Files Info not found",
+ "schema": {
+ "title": "V1FileDetailsGet404Response",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
+ "type": "array",
+ "description": "Error fields List",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
+ }
+ },
+ "description": "Provide validation failed input field details"
+ }
+ }
+ },
+ "description": "Error Bean"
+ },
+ "examples": {
+ "application/json": {
+ "code": "RESOURCE_NOTFOUND",
+ "correlationId": null,
+ "detail": "The requested resource is not found. Please try again later.",
+ "localizationKey": "cybsapi.resource.notfound",
+ "message": "Files Info not found for requested input values"
+ }
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "title": "V1FileDetailsGet500Response",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
+ "type": "array",
+ "description": "Error fields List",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
+ }
+ },
+ "description": "Provide validation failed input field details"
+ }
+ }
+ },
+ "description": "Error Bean"
+ },
+ "examples": {
+ "application/json": {
+ "code": "SERVER_ERROR",
+ "correlationId": null,
+ "detail": "Internal Server Error. Please contact the customer support.",
+ "localizationKey": "cybsapi.server.error",
+ "message": "Error encountered while processing request"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/sfs/v1/files/{fileId}": {
+ "get": {
+ "tags": [
+ "SecureFileShare"
+ ],
+ "summary": "Download a File with File Identifier",
+ "description": "Download a file for the given file identifier",
+ "operationId": "getFile",
+ "x-streaming": true,
+ "x-devcenter-metaData": {
+ "categoryTag": "Secure_File_Share",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html",
+ "enableDownload": true,
+ "x-custom-headers": {
+ "accept": [
+ "text/csv",
+ "application/xml",
+ "application/pdf"
+ ]
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest"
+ },
+ "x-depends": {
+ "example": {
+ "path": "/sfs/v1/file-details",
+ "verb": "get",
+ "exampleId": "Get list of files"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "fileDetails[0].fileId",
+ "destinationField": "fileId",
+ "fieldTypeInDestination": "path"
+ }
+ ]
+ },
+ "produces": [
+ "application/xml",
+ "text/csv",
+ "application/pdf"
+ ],
+ "consumes": [
+ "*/*;charset=utf-8"
+ ],
+ "parameters": [
+ {
+ "name": "fileId",
+ "in": "path",
+ "description": "Unique identifier for each file",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "organizationId",
+ "in": "query",
+ "description": "Valid Cybersource Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
+ "required": false,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "400": {
+ "description": "Invalid Request",
+ "schema": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
+ "type": "array",
+ "description": "Error fields List",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
+ }
+ },
+ "description": "Provide validation failed input field details"
+ }
+ }
+ },
+ "description": "Error Bean"
+ }
+ },
+ "404": {
+ "description": "No Reports Found"
+ }
+ }
+ }
+ },
+ "/invoicing/v2/invoices": {
+ "post": {
+ "tags": [
+ "Invoices"
+ ],
+ "summary": "Create a New Invoice",
+ "description": "The invoicing product enables you to bill any customer with an email address and accept digital payments securely from any connected device. You can either use the system generated email or use the invoice payment link in your own communication. You can add discounts and taxes for the entire invoice or for each line item. To customize the invoice to match your brand see [Invoice Settings](https://developer.cybersource.com/api-reference-assets/index.html#invoicing_invoice-settings_update-invoice-settings). The invoice payment page uses Unified Checkout to process the payments.\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.",
+ "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",
+ "required": [
+ "invoiceInformation",
+ "orderInformation"
+ ],
+ "properties": {
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "partner": {
+ "type": "object",
+ "properties": {
+ "developerId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n"
+ },
+ "solutionId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n"
+ }
+ }
+ }
+ }
+ },
+ "customerInformation": {
+ "type": "object",
+ "description": "Contains all of the customer-related fields for the invoice.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Payer name for the invoice."
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "merchantCustomerId": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n"
+ },
+ "company": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "required": [
+ "dueDate",
+ "description"
+ ],
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "sendImmediately": {
+ "type": "boolean",
+ "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.",
+ "default": false
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "deliveryMode": {
+ "type": "string",
+ "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "required": [
+ "amountDetails"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "required": [
+ "currency",
+ "totalAmount"
+ ],
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "2623.64",
+ "currency": "USD",
+ "discountAmount": "126.08",
+ "discountPercent": "5.0",
+ "subAmount": "2749.72",
+ "minimumPartialAmount": "20",
+ "taxDetails": {
+ "type": "State Tax",
+ "amount": "208.04",
+ "rate": "8.25"
+ },
+ "freight": {
+ "amount": "20.00",
+ "taxable": true,
+ "taxRate": "10"
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/98753",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/v2/invoices/98753",
+ "method": "PUT"
+ },
+ "deliver": {
+ "href": "/v2/invoices/98753/delivery",
+ "method": "POST"
+ },
+ "cancel": {
+ "href": "/v2/invoices/98753/cancelation",
+ "method": "POST"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "SENT",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "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": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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- NOTFOUND\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."
+ }
+ }
+ },
+ "502": {
+ "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 itemized invoice",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-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,
+ "taxRate": "10"
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create and send simple invoice immediately",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world"
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "2623.64",
+ "currency": "USD",
+ "discountAmount": "126.08",
+ "discountPercent": "5.0",
+ "subAmount": "2749.72",
+ "minimumPartialAmount": "20.00",
+ "taxDetails": {
+ "type": "State Tax",
+ "amount": "208.04",
+ "rate": "8.25"
+ },
+ "freight": {
+ "amount": "20.00",
+ "taxable": false
+ }
+ }
+ }
+ }
+ },
+ "example2": {
+ "summary": "Create an invoice and assign it a specific invoice number",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world"
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "123",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "2623.64",
+ "currency": "USD",
+ "discountAmount": "126.08",
+ "discountPercent": "5.0",
+ "subAmount": "2749.72",
+ "minimumPartialAmount": "20.00",
+ "taxDetails": {
+ "type": "State Tax",
+ "amount": "208.04",
+ "rate": "8.25"
+ },
+ "freight": {
+ "amount": "20.00",
+ "taxable": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create an invoice without sending it",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world"
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "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": false
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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.",
+ "maximum": 1000
+ },
+ {
+ "name": "status",
+ "in": "query",
+ "type": "string",
+ "required": false,
+ "description": "The status of the invoice.\n\nPossible values:\n - DRAFT\n - CREATED\n - SENT\n - PARTIAL\n - PAID\n - CANCELED\n"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "title": "invoicingV2InvoicesAllGet200Response",
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "totalInvoices": {
+ "type": "integer"
+ },
+ "invoices": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "A list of invoices.",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "update": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "deliver": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ },
+ "cancel": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ }
+ }
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n- PENDING\n"
+ },
+ "createdDate": {
+ "type": "string",
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
+ },
+ "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"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "id": "98772",
+ "status": "DRAFT",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "merchantCustomerId": "1234"
+ },
+ "invoiceInformation": {
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "14249.56",
+ "currency": "USD"
+ }
+ }
+ },
+ {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/98771",
+ "method": "GET"
+ },
+ "deliver": {
+ "href": "/v2/invoices/A123/delivery",
+ "method": "POST"
+ },
+ "update": {
+ "href": "/v2/invoices/A123",
+ "method": "PUT"
+ },
+ "cancel": {
+ "href": "/v2/invoices/A123/cancelation",
+ "method": "POST"
+ }
+ },
+ "id": "98771",
+ "status": "DRAFT",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "invoiceInformation": {
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "14249.56",
+ "currency": "USD"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid invoice status. The status should be one of: `DRAFT`, `CREATED`, `SENT`, `PARTIAL`, `PAID`, or `CANCELED`.",
+ "schema": {
+ "title": "invoicingV2InvoicesAllGet400Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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- NOTFOUND\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."
+ }
+ }
+ },
+ "502": {
+ "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": "/v2/invoices/A123",
+ "method": "GET"
+ },
+ "deliver": {
+ "href": "/v2/invoices/A123/delivery",
+ "method": "POST"
+ },
+ "update": {
+ "href": "/v2/invoices/A123",
+ "method": "PUT"
+ },
+ "cancel": {
+ "href": "/v2/invoices/A123/cancelation",
+ "method": "POST"
+ }
+ },
+ "id": "A123",
+ "submitTimeUtc": "2019-07-01T22:37:14Z",
+ "status": "PAID",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "23412",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "allowPartialPayments": true,
+ "paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc",
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "11955.45",
+ "currency": "USD",
+ "balanceAmount": "0",
+ "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,
+ "taxRate": "10"
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ },
+ "invoiceHistory": [
+ {
+ "event": "PAYMENT",
+ "date": "2019-06-18T21:57:31.09Z",
+ "transactionDetails": {
+ "transactionId": "2155897958",
+ "amount": "11843.71"
+ }
+ },
+ {
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "invoiceHistory": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "event": {
+ "type": "string",
+ "description": "The event triggered for the invoice.\n\nPossible values:\n - `UNKNOWN`\n - `DRAFT`\n - `CREATE`\n - `UPDATE`\n - `SEND`\n - `RESEND`\n - `REMINDER`\n - `PAYMENT`\n - `CANCEL`\n - `PENDING`\n - `REJECTED`\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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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- NOTFOUND\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."
+ }
+ }
+ },
+ "502": {
+ "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": {
+ "required": [
+ "invoiceInformation",
+ "orderInformation"
+ ],
+ "type": "object",
+ "properties": {
+ "customerInformation": {
+ "type": "object",
+ "description": "Contains all of the customer-related fields for the invoice.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Payer name for the invoice."
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "merchantCustomerId": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n"
+ },
+ "company": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "required": [
+ "dueDate",
+ "description"
+ ],
+ "description": "Contains the updatable invoice information.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "sendImmediately": {
+ "type": "boolean",
+ "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.",
+ "default": false
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "deliveryMode": {
+ "type": "string",
+ "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "required": [
+ "amountDetails"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "required": [
+ "currency",
+ "totalAmount"
+ ],
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "2623.64",
+ "currency": "USD",
+ "discountAmount": "126.08",
+ "discountPercent": "5.0",
+ "subAmount": "2749.72",
+ "minimumPartialAmount": "20.00",
+ "taxDetails": {
+ "type": "State Tax",
+ "amount": "208.04",
+ "rate": "8.25"
+ },
+ "freight": {
+ "amount": "20.00",
+ "taxable": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/98753",
+ "method": "GET"
+ },
+ "deliver": {
+ "href": "/v2/invoices/A123/delivery",
+ "method": "POST"
+ },
+ "update": {
+ "href": "/v2/invoices/A123",
+ "method": "PUT"
+ },
+ "cancel": {
+ "href": "/v2/invoices/A123/cancelation",
+ "method": "POST"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "SENT",
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "23412",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "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": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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- NOTFOUND\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."
+ }
+ }
+ },
+ "502": {
+ "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",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is an updated test invoice",
+ "dueDate": "2019-07-15",
+ "expirationDate": "2028-08-11",
+ "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"
+ }
+ ]
+ }
+ }
+ },
+ "example1": {
+ "summary": "Update a simple invoice",
+ "value": {
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "email": "tanya.lee@my-email.world"
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "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": false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/51",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/v2/invoices/51",
+ "method": "PUT"
+ },
+ "deliver": {
+ "href": "/v2/invoices/51/delivery",
+ "method": "POST"
+ },
+ "cancel": {
+ "href": "/v2/invoices/51/cancelation",
+ "method": "POST"
+ }
+ },
+ "id": "51",
+ "submitTimeUtc": "2020-03-12T21:15:07Z",
+ "status": "SENT",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "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": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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- NOTFOUND\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."
+ }
+ }
+ },
+ "502": {
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/51",
+ "method": "GET"
+ }
+ },
+ "id": "51",
+ "submitTimeUtc": "2020-03-12T21:15:07Z",
+ "status": "CANCELED",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "allowPartialPayments": true,
+ "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": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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- NOTFOUND\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."
+ }
+ }
+ },
+ "502": {
+ "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": [
+ "Invoice Settings"
+ ],
+ "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"
+ },
+ "shipTo": {
+ "description": "Collect the payers shipping address.",
+ "type": "boolean",
+ "default": false
+ },
+ "phoneNumber": {
+ "description": "Collect the payers phone number.",
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.",
+ "type": "boolean",
+ "default": false
+ },
+ "enableMerchantEmailNotifications": {
+ "description": "Whether you would like to receive payment notification for successful transaction",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ }
+ },
+ "example": {
+ "invoiceSettingsInformation": {
+ "merchantLogo": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2",
+ "merchantDisplayName": "string",
+ "customEmailMessage": "string",
+ "enableReminders": true,
+ "headerStyle": {
+ "fontColor": "#000001",
+ "backgroundColor": "#FFFFFF"
+ },
+ "deliveryLanguage": "fr-FR",
+ "defaultCurrencyCode": "USD",
+ "payerAuthenticationInInvoicing": "enable",
+ "showVatNumber": false,
+ "vatRegistrationNumber": "Inv1234",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ }
+ }
+ }
+ ],
+ "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",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ },
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10: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"
+ },
+ "shipTo": {
+ "description": "Collect the payers shipping address.",
+ "type": "boolean",
+ "default": false
+ },
+ "phoneNumber": {
+ "description": "Collect the payers phone number.",
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.",
+ "type": "boolean",
+ "default": false
+ },
+ "enableMerchantEmailNotifications": {
+ "description": "Whether you would like to receive payment notification for successful transaction",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Invoice Settings"
+ ],
+ "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",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ },
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10: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"
+ },
+ "shipTo": {
+ "description": "Collect the payers shipping address.",
+ "type": "boolean",
+ "default": false
+ },
+ "phoneNumber": {
+ "description": "Collect the payers phone number.",
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.",
+ "type": "boolean",
+ "default": false
+ },
+ "enableMerchantEmailNotifications": {
+ "description": "Whether you would like to receive payment notification for successful transaction",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ipl/v2/payment-links": {
+ "post": {
+ "tags": [
+ "Payment Links"
+ ],
+ "summary": "Create a Payment Link",
+ "description": "Create a new payment link.",
+ "operationId": "createPaymentLink",
+ "x-devcenter-metaData": {
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.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": "createPaymentLinkRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "required": [
+ "processingInformation",
+ "purchaseInformation",
+ "orderInformation"
+ ],
+ "properties": {
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "partner": {
+ "type": "object",
+ "properties": {
+ "developerId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n"
+ },
+ "solutionId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
+ "properties": {
+ "linkType": {
+ "type": "string",
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
+ },
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "required": [
+ "purchaseNumber"
+ ],
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The purchase number"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "required": [
+ "amountDetails",
+ "lineItems"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "required": [
+ "currency"
+ ],
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "title": "pblPaymentLinksPost201Response",
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "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 purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "processingInformation": {
+ "type": "object",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
+ "properties": {
+ "linkType": {
+ "type": "string",
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
+ },
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The purchase number"
+ },
+ "createdDate": {
+ "type": "string",
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
+ },
+ "paymentLink": {
+ "type": "string",
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "schema": {
+ "title": "pblPaymentLinksPost400Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - BADREQUEST \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\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": "processingInformation.linkType",
+ "reason": "Invalid linkType"
+ }
+ ]
+ }
+ }
+ },
+ "404": {
+ "description": "The specified resource is not found.",
+ "schema": {
+ "title": "pblPaymentLinksPost404Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - NOTFOUND \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\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": "Purchase or donation link does not exist."
+ }
+ }
+ },
+ "502": {
+ "description": "Unexpected error.",
+ "schema": {
+ "title": "pblPaymentLinksPost502Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` 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 purchase link",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create a donation link",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "processingInformation": {
+ "linkType": "DONATION",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "currency": "USD",
+ "maxAmount": "500",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Payment Links"
+ ],
+ "summary": "Get a List of Payment Links",
+ "description": "Provides a (filtered) list of payment links that have been created in your account.\nYou can filter the list based on the following status types:\n - ACTIVE\n - INACTIVE\n",
+ "operationId": "getAllPaymentLinks",
+ "x-devcenter-metaData": {
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.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. \n\nMaximum limit: 1000\n",
+ "maximum": 1000
+ },
+ {
+ "name": "status",
+ "in": "query",
+ "type": "string",
+ "required": false,
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - ACTIVE\n - INACTIVE\n"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "title": "pblPaymentLinksAllGet200Response",
+ "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"
+ },
+ "totalLinks": {
+ "type": "integer"
+ },
+ "sdkLinks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "A list of purchase or donation links.",
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "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 purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "createdDate": {
+ "type": "string",
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as the type and collection details.",
+ "properties": {
+ "linkType": {
+ "type": "string",
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The purchase number"
+ },
+ "paymentLink": {
+ "type": "string",
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "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"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/?offset=1&limit=2&status=active",
+ "method": "GET"
+ },
+ "next": {
+ "href": "/ipl/v2/payment-links/?offset=3&limit=2&status=active",
+ "method": "GET"
+ },
+ "previous": {
+ "href": "/ipl/v2/payment-links/?offset=0&limit=2&status=active",
+ "method": "GET"
+ }
+ },
+ "submitTimeUtc": "2019-07-03T19:22:26Z",
+ "totalLinks": 123,
+ "links": [
+ {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98772",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98772",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE"
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05"
+ }
+ ]
+ }
+ },
+ {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98771",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98771",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "DONATION"
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid purchase or donation link status. The status should be one of: `ACTIVE` or `INACTIVE`.",
+ "schema": {
+ "title": "pblPaymentLinksAllGet400Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - BADREQUEST \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\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": "processingInformation.linkType",
+ "reason": "Invalid linkType"
+ }
+ ]
+ }
+ }
+ },
+ "404": {
+ "description": "No purchase or donation link found.",
+ "schema": {
+ "title": "pblPaymentLinksAllGet404Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - NOTFOUND \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\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": "Purchase or donation link does not exist."
+ }
+ }
+ },
+ "502": {
+ "description": "Unexpected error.",
+ "schema": {
+ "title": "pblPaymentLinksAllGet502Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` 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."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ipl/v2/payment-links/{id}": {
+ "get": {
+ "tags": [
+ "Payment Links"
+ ],
+ "summary": "Get Payment Link Details",
+ "description": "You can retrieve details of a specific payment link. For each payment transaction you can use the Transaction Details API to get more details on the payment transaction.",
+ "operationId": "getPaymentLink",
+ "x-devcenter-metaData": {
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.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 purchase number.",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "title": "pblPaymentLinksGet200Response",
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "120.50",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ },
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "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 purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "processingInformation": {
+ "type": "object",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
+ "properties": {
+ "linkType": {
+ "type": "string",
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
+ },
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The purchase number"
+ },
+ "createdDate": {
+ "type": "string",
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
+ },
+ "paymentLink": {
+ "type": "string",
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Pay-by-link service is not enabled.",
+ "schema": {
+ "title": "pblPaymentLinksGet400Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - BADREQUEST \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\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": "processingInformation.linkType",
+ "reason": "Invalid linkType"
+ }
+ ]
+ }
+ }
+ },
+ "404": {
+ "description": "PaymentLink does not exist.",
+ "schema": {
+ "title": "pblPaymentLinksGet404Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - NOTFOUND \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\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": "Purchase or donation link does not exist."
+ }
+ }
+ },
+ "502": {
+ "description": "Unexpected error.",
+ "schema": {
+ "title": "pblPaymentLinksGet502Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` 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."
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Payment Links"
+ ],
+ "summary": "Update a Payment Link",
+ "description": "You can update all information except the payment link number until any payment is received for a payment link.",
+ "operationId": "updatePaymentLink",
+ "x-devcenter-metaData": {
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.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 purchase number.",
+ "required": true
+ },
+ {
+ "name": "updatePaymentLinkRequest",
+ "in": "body",
+ "description": "Updating the purchase or donation link does not resend the link automatically. You must resend the purchase or donation link separately.",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "partner": {
+ "type": "object",
+ "properties": {
+ "developerId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n"
+ },
+ "solutionId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as the type and collection details.",
+ "properties": {
+ "linkType": {
+ "type": "string",
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
+ },
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The purchase number"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "required": [
+ "lineItems"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "20"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "title": "pblPaymentLinksPut200Response",
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "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 purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "processingInformation": {
+ "type": "object",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
+ "properties": {
+ "linkType": {
+ "type": "string",
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
+ },
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "The purchase number"
+ },
+ "createdDate": {
+ "type": "string",
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
+ },
+ "paymentLink": {
+ "type": "string",
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Field validation errors.",
+ "schema": {
+ "title": "pblPaymentLinksPut400Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - BADREQUEST \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\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": "processingInformation.linkType",
+ "reason": "Invalid linkType"
+ }
+ ]
+ }
+ }
+ },
+ "404": {
+ "description": "Purchase or donation link does not exist.",
+ "schema": {
+ "title": "pblPaymentLinksPut404Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - NOTFOUND \n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\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": "Purchase or donation link does not exist."
+ }
+ }
+ },
+ "502": {
+ "description": "Unexpected error.",
+ "schema": {
+ "title": "pblPaymentLinksPut502Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` 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 a purchase link",
+ "value": {
+ "status": "ACTIVE",
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ },
+ "example1": {
+ "summary": "Update a donation link",
+ "value": {
+ "status": "ACTIVE",
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "currency": "USD",
+ "maxAmount": "500",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
+ }
+ ]
+ }
+ }
+ },
+ "example2": {
+ "summary": "Change a donation link to inactive state",
+ "value": {
+ "status": "INACTIVE",
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "currency": "USD",
+ "maxAmount": "500",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
+ }
+ ]
+ }
+ }
+ },
+ "example3": {
+ "summary": "Change a donation link to a purchase link",
+ "value": {
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ums/v1/users": {
+ "get": {
+ "deprecated": true,
+ "summary": "Get User Information - Deprecated",
+ "description": "This endpoint is deprecated. Please use the search end point.",
+ "tags": [
+ "UserManagement"
+ ],
+ "produces": [
+ "application/hal+json;charset=utf-8"
+ ],
+ "operationId": "getUsers",
+ "x-devcenter-metaData": {
+ "categoryTag": "User_Management",
+ "isClientSideApi": true
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest",
+ "permissionId": "CustomerProfileViewPermission"
+ },
+ "parameters": [
+ {
+ "in": "query",
+ "name": "organizationId",
+ "type": "string",
+ "description": "This is the orgId of the organization which the user belongs to."
+ },
+ {
+ "in": "query",
+ "name": "userName",
+ "type": "string",
+ "description": "User ID of the user you want to get details on."
+ },
+ {
+ "in": "query",
+ "name": "permissionId",
+ "type": "string",
+ "description": "permission that you are trying to search user on."
+ },
+ {
+ "in": "query",
+ "name": "roleId",
+ "type": "string",
+ "description": "role of the user you are trying to search on."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "object",
+ "title": "umsV1UsersGet200Response",
+ "properties": {
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "accountInformation": {
+ "type": "object",
+ "properties": {
+ "userName": {
+ "type": "string"
+ },
+ "roleId": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "array of permissions"
+ }
+ },
+ "status": {
+ "type": "string",
+ "description": "Valid values:\n- active\n- inactive\n- locked\n- disabled\n- forgotpassword\n- deleted\n"
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastAccessTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "languagePreference": {
+ "type": "string"
+ },
+ "timezone": {
+ "type": "string"
+ }
+ }
+ },
+ "organizationInformation": {
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string"
+ }
+ }
+ },
+ "contactInformation": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string"
+ },
+ "phoneNumber": {
+ "type": "string"
+ },
+ "firstName": {
+ "type": "string"
+ },
+ "lastName": {
+ "type": "string"
+ }
+ }
+ },
+ "customFields": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "users": [
+ {
+ "accountInformation": {
+ "userName": "auto_nonmember",
+ "roleId": "admin",
+ "permissions": [
+ "ReportViewPermission",
+ "ReportGeneratePermission"
+ ],
+ "status": "active",
+ "createdTime": "2018-06-14T19:45:52.093Z",
+ "lastAccessTime": "2018-06-14T19:45:52.093Z",
+ "languagePreference": "en-US",
+ "timezone": "America/Los_Angeles"
+ },
+ "organizationInformation": {
+ "organizationId": "auto_nonmember"
+ },
+ "contactInformation": {
+ "email": "auto_nonmember@exchange.com",
+ "phoneNumber": "4445551234",
+ "firstName": "Zeta",
+ "lastName": "DMH"
+ },
+ "customFields": {
+ "employeeId": "12344",
+ "employeeName": "John Doe",
+ "employeeDesignation": "abc",
+ "zone": "NA",
+ "department": "map"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "schema": {
+ "type": "object",
+ "title": "umsV1UsersGet400Response",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\n - CAPTURE_ALREADY_VOIDED\n - ACCOUNT_NOT_ALLOWED_CREDIT\n - NOT_SUPPORTED\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected server error."
+ }
+ }
+ }
+ },
+ "/ums/v1/users/search": {
+ "post": {
+ "summary": "Search User Information",
+ "description": "This endpoint is to get all the user information depending on the filter criteria passed in request body.",
+ "tags": [
+ "UserManagementSearch"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/hal+json;charset=utf-8"
+ ],
+ "operationId": "searchUsers",
+ "x-devcenter-metaData": {
+ "categoryTag": "User_Management",
+ "isClientSideApi": true,
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-user-management-api-102718/user_management_api_intro.html"
+ },
+ "parameters": [
+ {
+ "in": "body",
+ "name": "SearchRequest",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "This is the orgId of the organization which the user belongs to.",
+ "example": "merchantId"
+ },
+ "userName": {
+ "type": "string",
+ "description": "User ID of the user you want to get details on.",
+ "example": "userName"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "role of the user you are trying to search on.",
+ "example": "custom"
+ },
+ "permissionId": {
+ "type": "string",
+ "description": "permission that you are trying to search user on.",
+ "example": "CustomerProfileViewPermission"
+ }
+ },
+ "example": {
+ "organizationId": "merchantId",
+ "userName": "userName",
+ "role": "custom",
+ "permissionId": "CustomerProfileViewPermission"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "object",
+ "title": "umsV1UsersGet200Response",
+ "properties": {
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "accountInformation": {
+ "type": "object",
+ "properties": {
+ "userName": {
+ "type": "string"
+ },
+ "roleId": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "array of permissions"
+ }
+ },
+ "status": {
+ "type": "string",
+ "description": "Valid values:\n- active\n- inactive\n- locked\n- disabled\n- forgotpassword\n- deleted\n"
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastAccessTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "languagePreference": {
+ "type": "string"
+ },
+ "timezone": {
+ "type": "string"
+ }
+ }
+ },
+ "organizationInformation": {
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string"
+ }
+ }
+ },
+ "contactInformation": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string"
+ },
+ "phoneNumber": {
+ "type": "string"
+ },
+ "firstName": {
+ "type": "string"
+ },
+ "lastName": {
+ "type": "string"
+ }
+ }
+ },
+ "customFields": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "users": [
+ {
+ "accountInformation": {
+ "userName": "auto_nonmember",
+ "roleId": "admin",
+ "permissions": [
+ "ReportViewPermission",
+ "ReportGeneratePermission"
+ ],
+ "status": "active",
+ "createdTime": "2018-06-14T19:45:52.093Z",
+ "lastAccessTime": "2018-06-14T19:45:52.093Z",
+ "languagePreference": "en-US",
+ "timezone": "America/Los_Angeles"
+ },
+ "organizationInformation": {
+ "organizationId": "auto_nonmember"
+ },
+ "contactInformation": {
+ "email": "auto_nonmember@exchange.com",
+ "phoneNumber": "4445551234",
+ "firstName": "Zeta",
+ "lastName": "DMH"
+ },
+ "customFields": {
+ "employeeId": "12344",
+ "employeeName": "John Doe",
+ "employeeDesignation": "abc",
+ "zone": "NA",
+ "department": "map"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "schema": {
+ "type": "object",
+ "title": "umsV1UsersGet400Response",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\n - CAPTURE_ALREADY_VOIDED\n - ACCOUNT_NOT_ALLOWED_CREDIT\n - NOT_SUPPORTED\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Unexpected server error."
+ }
+ }
+ }
+ },
+ "/vas/v2/tax": {
+ "post": {
+ "summary": "Calculate Taxes",
+ "description": "The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. \nIt enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. \nThe service supports product-based tax rules and exemptions for goods and services. \nThe tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions).\nImplementation guidance, list of supported countries, and information on tax reporting are in the [Tax User Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\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",
+ "maxLength": 2
+ }
+ },
+ "showTaxPerLineItem": {
+ "type": "string",
+ "description": "Whether or not to display tax amounts for each line item. This field can contain one of the following values:\n- `Yes` - Display tax amounts for each line item\n- `No` (default) - Do not display tax amounts for each line item\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "commitIndicator": {
+ "type": "boolean",
+ "description": "Indicates whether this is a committed tax transaction. For a committed tax transaction, the status in the Tax Detail Report is \"Committed.\" For an uncommitted tax transaction, the status in the Tax Detail Report is \"Uncommitted.\" Possible values:\n- `true`: This is a committed tax transaction.\n- `false` (default): This is not a committed tax transaction.\n\nA committed tax request is a tax service request that sets the status field in the Tax Detail Report to committed.\nThe committed status indicates that the amount calculated by the tax service is included in the amount of a capture or credit.\n\nUse a void service request to cancel a committed tax request or a committed refund tax request. The void transaction is included as a separate entry in the Tax Detail Report. The value of the status field is cancelled. The value of the link ID is the request ID of the committed tax request or refund tax request that was voided. You can use the value of the link ID to reconcile your orders.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n"
+ },
+ "refundIndicator": {
+ "type": "boolean",
+ "description": "Indicates whether this is a refund tax transaction. For a refund tax transaction, amounts in the Tax Detail Report will be negative.\nPossible values:\n- `true`: This is a refund tax transaction.\n- `false` (default): This is not a refund tax transaction.\n\nA refund tax request is a tax service request that sets the transaction type field in the Tax Detail Report to refunded and makes the reported amount negative.\nTax amounts are returned as positive amounts in reply messages, but they are saved in reports as negative amounts which enables the reporting software to accurately calculate the aggregate amounts.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "properties": {
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ },
+ "billTo": {
+ "type": "object",
+ "properties": {
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "First line of the billing street address.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Second line of the billing street address.\n\n#### Tax Calculation\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Credit card billing city.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes only. Not applicable to international and value added taxes.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Credit card billing state or province.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\nIf the billing country is the U.S., the 9-digit postal code must follow this format:\n\n[5 digits][dash][4 digits]\n\n**Example**: 12345-6789\n\nIf the billing country is Canada, the 6-digit postal code must follow this format:\n\n[alpha][numeric][alpha] [numeric][alpha][numeric]\n\n**Example**: A1B 2C3\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Credit card billing country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\nIf `orderInformation.shipTo.country` is not provided, `orderInformation.billTo.country` is used in its place. If `orderInformation.billTo.country` is set to `US` or `CA`, then `orderInformation.billTo.postalCode` and `orderInformation.billTo.administrativeArea` are also required.\n\n#### Tax Calculation\nRequired for U.S., Canadian, international and value added taxes.\n"
+ }
+ }
+ },
+ "shippingDetails": {
+ "type": "object",
+ "properties": {
+ "shipFromLocality": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "shipFromCountry": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "shipFromPostalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "shipFromAdministrativeArea": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ }
+ }
+ },
+ "shipTo": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n",
+ "maxLength": 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": {
+ "type": "object",
+ "description": "The Order Acceptance address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Acceptance address in your tax service request for some or all of your transactions based on your business.",
+ "properties": {
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Order acceptance city. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Order acceptance state. This field is not used unless the `orderInformation.orderAcceptance.locality` and `orderInformation.orderAcceptance.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Order acceptance postal code. This field is not used unless the `orderInformation.orderAcceptance.locality`, `orderInformation.orderAcceptance.administrativeArea`, and `orderInformation.orderAcceptance.country` fields are present.\nMust be sent at the line or offer level to be surfaced in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Order acceptance country. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.locality` fields are present. Use the [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ }
+ }
+ },
+ "orderOrigin": {
+ "type": "object",
+ "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.",
+ "properties": {
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n"
+ }
+ }
+ }
+ }
+ },
+ "merchantInformation": {
+ "type": "object",
+ "properties": {
+ "vatRegistrationNumber": {
+ "type": "string",
+ "maxLength": 21,
+ "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n"
+ }
+ }
+ },
+ "buyerInformation": {
+ "type": "object",
+ "properties": {
+ "vatRegistrationNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Successful response.",
+ "schema": {
+ "title": "vasV2PaymentsPost201Response",
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "void": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ }
+ }
+ },
+ "id": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n"
+ },
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n"
+ },
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n"
+ },
+ "submitLocalDateTime": {
+ "type": "string",
+ "maxLength": 14,
+ "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n"
+ },
+ "ownerMerchantId": {
+ "type": "string",
+ "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n"
+ }
+ }
+ },
+ "taxInformation": {
+ "type": "object",
+ "properties": {
+ "commitIndicator": {
+ "type": "boolean",
+ "description": "Indicates whether this is a committed tax transaction. For a committed tax transaction, the status in the Tax Detail Report is \"Committed.\" For an uncommitted tax transaction, the status in the Tax Detail Report is \"Uncommitted.\" Possible values:\n- `true`: This is a committed tax transaction.\n- `false` (default): This is not a committed tax transaction.\n\nA committed tax request is a tax service request that sets the status field in the Tax Detail Report to committed.\nThe committed status indicates that the amount calculated by the tax service is included in the amount of a capture or credit.\n\nUse a void service request to cancel a committed tax request or a committed refund tax request. The void transaction is included as a separate entry in the Tax Detail Report. The value of the status field is cancelled. The value of the link ID is the request ID of the committed tax request or refund tax request that was voided. You can use the value of the link ID to reconcile your orders.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n"
+ },
+ "refundIndicator": {
+ "type": "boolean",
+ "description": "Indicates whether this is a refund tax transaction. For a refund tax transaction, amounts in the Tax Detail Report will be negative.\nPossible values:\n- `true`: This is a refund tax transaction.\n- `false` (default): This is not a refund tax transaction.\n\nA refund tax request is a tax service request that sets the transaction type field in the Tax Detail Report to refunded and makes the reported amount negative.\nTax amounts are returned as positive amounts in reply messages, but they are saved in reports as negative amounts which enables the reporting software to accurately calculate the aggregate amounts.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "properties": {
+ "exemptAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total amount of tax exempt amounts. This value is the sum of the values for all the `orderInformation.lineItems[].exemptAmount` fields in the tax calculation request.\n"
+ },
+ "taxableAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total amount of all taxable amounts. This value is the sum of the values for all the `orderInformation.lineItems[].taxAmount` fields in the tax calculation request.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total amount of tax for all lineItems in the tax calculation request.\n"
+ },
+ "lineItems": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "taxDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Allowed tax types:\n- city\n- county\n- state\n- national\n- special\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Amount corresponding to different types of taxes applied.\n"
+ }
+ }
+ }
+ },
+ "jurisdiction": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Type of tax jurisdiction for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n\nPossible values:\n- `city`\n- `county`\n- `state`\n- `country`\n- `special`\n"
+ },
+ "taxName": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Name of the jurisdiction tax for the item. For example, CA State Tax. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Jurisdiction tax amount for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "taxable": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Jurisdiction taxable amount for the item, not including product level exemptions. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Free-text description of the jurisdiction for the item. For example, San Mateo County. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "code": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Jurisdiction code assigned by the tax provider. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Jurisdiction tax rate for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "region": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Free-text description of the jurisdiction region for the item. For example, CA (California State) or GB (Great Britain). Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "country": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Tax jurisdiction country for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ }
+ }
+ }
+ },
+ "exemptAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Exempt amount for the lineItem. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n"
+ },
+ "taxableAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Portion of the item amount that is taxable.\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax for the item. This value is the sum of all taxes applied to the item.\n"
+ }
+ }
+ }
+ },
+ "taxDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Allowed tax types:\n- city\n- county\n- state\n- national\n- special\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Amount corresponding to different types of taxes applied.\n"
+ }
+ }
+ }
+ },
+ "amountDetails": {
+ "type": "object",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "schema": {
+ "type": "object",
+ "title": "vasV2PaymentsPost400Response",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_ADDRESS\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Unexpected system error or system timeout.",
+ "schema": {
+ "title": "vasV2PaymentsPost502Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ }
+ }
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Basic Tax Calculation Request",
+ "sample-name": "Tax Calculation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TAX_TC001"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "address1": "1 Market St",
+ "postalCode": 94105,
+ "locality": "San Francisco",
+ "administrativeArea": "CA"
+ },
+ "amountDetails": {
+ "currency": "USD"
+ },
+ "lineItems": [
+ {
+ "productSKU": "07-12-00657",
+ "productName": "Chewing Gum",
+ "productCode": 50161815,
+ "quantity": 1,
+ "unitPrice": 1200
+ },
+ {
+ "productSKU": "07-12-00659",
+ "productName": "Sugar Cookies",
+ "productCode": 50181905,
+ "quantity": 1,
+ "unitPrice": 1240
+ },
+ {
+ "productSKU": "07-12-00658",
+ "productName": "Carbonated Water",
+ "productCode": 5020.11,
+ "quantity": 1,
+ "unitPrice": 9001
+ }
+ ]
+ },
+ "taxInformation": {
+ "showTaxPerLineItem": "Yes"
+ }
+ }
+ },
+ "example1": {
+ "summary": "Tax Refund Request",
+ "sample-name": "Tax Refund Calculation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TAX_TC001"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "address1": "1 Market St",
+ "postalCode": 94105,
+ "locality": "San Francisco",
+ "administrativeArea": "CA"
+ },
+ "shipTo": {
+ "country": "US",
+ "address1": "123 Russel St.",
+ "postalCode": 32401,
+ "locality": "Panama City",
+ "administrativeArea": "FL"
+ },
+ "shippingDetails": {
+ "shipFromCountry": "CA",
+ "shipFromLocality": "Cambridge Bay",
+ "shipFromAdministrativeArea": "NL",
+ "shipFromPostalCode": "A0G 1T0"
+ },
+ "amountDetails": {
+ "currency": "USD"
+ },
+ "lineItems": [
+ {
+ "productSKU": "07-12-00657",
+ "productName": "Chewing Gum",
+ "productCode": 50161815,
+ "quantity": 1,
+ "unitPrice": 1200
+ },
+ {
+ "productSKU": "07-12-00659",
+ "productName": "Sugar Cookies",
+ "productCode": 50181905,
+ "quantity": 1,
+ "unitPrice": 1240
+ },
+ {
+ "productSKU": "07-12-00658",
+ "productName": "Carbonated Water",
+ "productCode": 5020.11,
+ "quantity": 1,
+ "unitPrice": 9001
+ }
+ ]
+ },
+ "taxInformation": {
+ "showTaxPerLineItem": "Yes",
+ "refundIndicator": true
+ },
+ "merchantInformation": {
+ "vatRegistrationNumber": "abcdef"
+ }
+ }
+ },
+ "example2": {
+ "summary": "Committed Tax Call Request",
+ "sample-name": "Committed Tax Calculation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TAX_TC001"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "address1": "1 Market St",
+ "postalCode": 94105,
+ "locality": "San Francisco",
+ "administrativeArea": "CA"
+ },
+ "shipTo": {
+ "country": "US",
+ "address1": "123 Russel St.",
+ "postalCode": 32401,
+ "locality": "Panama City",
+ "administrativeArea": "FL"
+ },
+ "shippingDetails": {
+ "shipFromCountry": "CA",
+ "shipFromLocality": "Cambridge Bay",
+ "shipFromAdministrativeArea": "NL",
+ "shipFromPostalCode": "A0G 1T0"
+ },
+ "amountDetails": {
+ "currency": "USD"
+ },
+ "lineItems": [
+ {
+ "productSKU": "07-12-00657",
+ "productName": "Chewing Gum",
+ "productCode": 50161815,
+ "quantity": 1,
+ "unitPrice": 1200
+ },
+ {
+ "productSKU": "07-12-00659",
+ "productName": "Sugar Cookies",
+ "productCode": 50181905,
+ "quantity": 1,
+ "unitPrice": 1240
+ },
+ {
+ "productSKU": "07-12-00658",
+ "productName": "Carbonated Water",
+ "productCode": 5020.11,
+ "quantity": 1,
+ "unitPrice": 9001
+ }
+ ]
+ },
+ "taxInformation": {
+ "showTaxPerLineItem": "Yes",
+ "commitIndicator": true
+ },
+ "merchantInformation": {
+ "vatRegistrationNumber": "abcdef"
+ }
+ }
+ },
+ "example3": {
+ "summary": "Committed Tax Refund Call Request",
+ "sample-name": "Committed Tax Refund Calculation",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TAX_TC001"
+ },
+ "orderInformation": {
+ "billTo": {
+ "country": "US",
+ "address1": "1 Market St",
+ "postalCode": 94105,
+ "locality": "San Francisco",
+ "administrativeArea": "CA"
+ },
+ "shipTo": {
+ "country": "US",
+ "address1": "123 Russel St.",
+ "postalCode": 32401,
+ "locality": "Panama City",
+ "administrativeArea": "FL"
+ },
+ "shippingDetails": {
+ "shipFromCountry": "CA",
+ "shipFromLocality": "Cambridge Bay",
+ "shipFromAdministrativeArea": "NL",
+ "shipFromPostalCode": "A0G 1T0"
+ },
+ "amountDetails": {
+ "currency": "USD"
+ },
+ "lineItems": [
+ {
+ "productSKU": "07-12-00657",
+ "productName": "Chewing Gum",
+ "productCode": 50161815,
+ "quantity": 1,
+ "unitPrice": 1200
+ },
+ {
+ "productSKU": "07-12-00659",
+ "productName": "Sugar Cookies",
+ "productCode": 50181905,
+ "quantity": 1,
+ "unitPrice": 1240
+ },
+ {
+ "productSKU": "07-12-00658",
+ "productName": "Carbonated Water",
+ "productCode": 5020.11,
+ "quantity": 1,
+ "unitPrice": 9001
+ }
+ ]
+ },
+ "taxInformation": {
+ "showTaxPerLineItem": "Yes",
+ "commitIndicator": true,
+ "refundIndicator": true
+ },
+ "merchantInformation": {
+ "vatRegistrationNumber": "abcdef"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/vas/v2/tax/{id}": {
+ "patch": {
+ "summary": "Void Taxes",
+ "description": "Pass the Tax Request ID in the PATCH request to void the committed tax calculation.",
+ "tags": [
+ "taxes"
+ ],
+ "operationId": "voidTax",
+ "x-devcenter-metaData": {
+ "categoryTag": "Value_Added_Service"
+ },
+ "parameters": [
+ {
+ "name": "voidTaxRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n"
+ },
+ "comments": {
+ "type": "string",
+ "description": "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "The tax ID returned from a previous request.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response.",
+ "schema": {
+ "title": "vasV2TaxVoid200Response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "maxLength": 26,
+ "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n"
+ },
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - VOIDED\n - CANCELLED\n - FAILED\n"
+ },
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n"
+ }
+ }
+ },
+ "voidAmountDetails": {
+ "type": "object",
+ "properties": {
+ "voidAmount": {
+ "type": "string",
+ "description": "Total amount of the void.\n\n#### PIN Debit\nAmount of the reversal.\n\nReturned by PIN debit reversal.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request.",
+ "schema": {
+ "title": "vasV2TaxVoidsPost400Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - INVALID_DATA\n - NOT_VOIDABLE\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "502": {
+ "description": "Unexpected system error or system timeout.",
+ "schema": {
+ "title": "vasV2TaxVoidsPost502Response",
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n"
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ }
+ }
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Void a Committed Tax Call",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "TAX_TC001"
+ }
+ },
+ "depends": {
+ "example": {
+ "path": "/vas/v2/tax",
+ "verb": "patch",
+ "exampleId": "example0"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "id",
+ "destinationField": "id",
+ "fieldTypeInDestination": "path"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/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": "Boarding Product is specifically for resellers who onboard merchants to resell their services to merchants and help integrate REST API into their systems.\n\nThe Boarding API is designed to simplify and streamline the onboarding process of merchants by enabling administrators and developers to:\n1. Enable and Configure Products: The API helps in adding new products to an existing organization and configuring them to suit specific needs.\n2. Update Merchant Information: The API allows for updating an organization's information efficiently.\n3. Manage Payment Integration: It provides templates for secure payment integration and management.\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"
+ }
+ },
+ "required": [
+ "client_id"
+ ]
+ }
+ },
+ "tenantConfigurations": {
+ "type": "array",
+ "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "solutionId": {
+ "type": "string",
+ "maxLength": 8,
+ "minLength": 8,
+ "pattern": "^[0-9a-zA-Z_]+$",
+ "description": "The solutionId is the unique identifier for this system resource.\nPartner can use it to reference the specific solution through out the system.\n",
+ "example": "YumSolution1"
+ },
+ "tenantInformation": {
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 1,
+ "description": "The TenantId is an external Solution Identifier given by Tech Partners like SAP.",
+ "example": "SAP123"
+ }
+ }
+ }
+ },
+ "required": [
+ "solutionId"
+ ]
+ }
+ }
+ }
+ },
+ "organizationInformation": {
+ "type": "object",
+ "properties": {
+ "organizationId": {
+ "type": "string",
+ "maxLength": 30,
+ "minLength": 6,
+ "pattern": "^[0-9a-zA-Z_]+$",
+ "example": "merch-test1"
+ },
+ "parentOrganizationId": {
+ "type": "string",
+ "description": "This field is required for Organization Types: MERCHANT, TRANSACTING\n",
+ "maxLength": 30,
+ "minLength": 6,
+ "pattern": "^[0-9a-zA-Z_]+$",
+ "example": "merch-test1-acct"
+ },
+ "childOrganizations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 30,
+ "minLength": 6,
+ "pattern": "^[0-9a-zA-Z_]+$",
+ "example": "transactional-org"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "Determines the type of organization in the hirarchy that this registration will use to onboard this Organization\nPossible Values:\n - 'TRANSACTING'\n - 'STRUCTURAL'\n - 'MERCHANT'\n"
+ },
+ "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"
+ },
+ "accountType": {
+ "type": "string",
+ "example": "checking",
+ "description": "Possible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings"
+ },
+ "accountRoutingNumber": {
+ "type": "string",
+ "maxLength": 9,
+ "pattern": "\\d{9}"
+ },
+ "accountNumber": {
+ "type": "string",
+ "maxLength": 17,
+ "pattern": "^\\d{5,17}$"
+ }
+ },
+ "required": [
+ "accountHolderName",
+ "accountType",
+ "accountRoutingNumber",
+ "accountNumber"
+ ]
+ }
+ },
+ "required": [
+ "whenIsCustomerCharged",
+ "offerSubscriptions",
+ "timeToProductDelivery",
+ "estimatedMonthlySales",
+ "averageOrderAmount",
+ "largestExpectedOrderAmount"
+ ]
+ },
+ "owners": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "maxLength": 50,
+ "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$",
+ "example": "John"
+ },
+ "middleName": {
+ "type": "string",
+ "maxLength": 50,
+ "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 50,
+ "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$",
+ "example": "John"
+ },
+ "birthDate": {
+ "type": "string",
+ "format": "date",
+ "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$",
+ "example": "2016-08-11T00:00:00.000Z",
+ "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n"
+ },
+ "isPrimary": {
+ "type": "boolean",
+ "description": "Determines whether the owner is the Primary owner of the organization",
+ "example": true
+ },
+ "ssn": {
+ "type": "string",
+ "maxLength": 12,
+ "pattern": "^\\d{3}-\\d{2}-\\d{4}$|^\\d{9,9}$",
+ "example": 123456789,
+ "description": "Social Security Number"
+ },
+ "passportNumber": {
+ "type": "string",
+ "maxLength": 12,
+ "pattern": "^(?!^0+$)[a-zA-Z0-9]{3,20}$",
+ "example": "1234556",
+ "description": "Passport number"
+ },
+ "passportCountry": {
+ "type": "string",
+ "maxLength": 2,
+ "minLength": 2,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "US"
+ },
+ "jobTitle": {
+ "type": "string",
+ "maxLength": 100,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "Director"
+ },
+ "hasSignificantResponsability": {
+ "type": "boolean",
+ "description": "Determines whether owner has significant responsibility to control, manage or direct the company",
+ "example": true
+ },
+ "ownershipPercentage": {
+ "type": "number",
+ "pattern": "^[0-9]$|^[1-9][0-9]$|^(100)$",
+ "description": "Determines the percentage of ownership this owner has. For the primary owner the percentage can be from 0-100; for other owners the percentage can be from 25-100 and the sum of ownership accross owners cannot exceed 100",
+ "example": 25
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$",
+ "example": 4567890398
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 100,
+ "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$",
+ "example": "test@test.com"
+ },
+ "address": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "minLength": 2,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "US"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "minLength": 1,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "123 Fake st"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "apt 2"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$",
+ "description": "City of the billing address.",
+ "example": "Bellevue"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$",
+ "description": "State or province of the billing address. Required for United States and Canada.",
+ "example": "WA"
+ },
+ "postalCode": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 20,
+ "pattern": "^[0-9a-zA-Z ]*$",
+ "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.",
+ "example": 3384
+ }
+ },
+ "required": [
+ "country",
+ "address1",
+ "locality"
+ ]
+ }
+ },
+ "required": [
+ "firstName",
+ "lastName",
+ "birthDate",
+ "jobTitle",
+ "hasSignificantResponsability",
+ "ownershipPercentage",
+ "phoneNumber",
+ "email",
+ "address",
+ "isPrimary"
+ ]
+ }
+ }
+ },
+ "required": [
+ "businessInformation"
+ ]
+ },
+ "productInformation": {
+ "type": "object",
+ "properties": {
+ "selectedProducts": {
+ "type": "object",
+ "properties": {
+ "payments": {
+ "title": "paymentsProducts",
+ "type": "object",
+ "properties": {
+ "cardProcessing": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "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 cardPresent | \n
\n \n cardNotPresent | \n
\n
\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "cardPresent",
+ "cardNotPresent"
+ ],
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ }
+ },
+ "configurationInformation": {
+ "type": "object",
+ "properties": {
+ "templateId": {
+ "type": "string",
+ "format": "uuid"
+ },
+ "configurations": {
+ "type": "object",
+ "title": "CardProcessingConfig",
+ "properties": {
+ "common": {
+ "type": "object",
+ "properties": {
+ "processors": {
+ "type": "object",
+ "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpngsapv3\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "amexdirect",
+ "barclays2",
+ "CUP",
+ "EFTPOS",
+ "fdiglobal",
+ "gpngsapv3",
+ "gpx",
+ "smartfdc",
+ "tsys",
+ "vero",
+ "VPC"
+ ],
+ "type": "object",
+ "properties": {
+ "batchGroup": {
+ "type": "string",
+ "description": "Determines the batching group that separates merchants for special batching times. Batching groups can separate merchant batches by the following criteria:\n\n* Timezone\n* Merchant deadlines\n* Large merchants (top 10)\n* Merchants with Service-Level Agreements\n\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), Streamline (streamline2), Six (six), Barclays (barclays2), Paymentech Tampa (paymentechtampa), CMCIC (cmcic), FDC Nashville (smartfdc), RUPAY, American Express Direct (amexdirect), GPN (gpn), VPC, GPX (gpx), CB2A, Barclays HISO (barclayshiso), TSYS (tsys) and FDI Global (fdiglobal) processors.\n\nValidation details (for selected processors)...\n\n\nProcessor | Acceptance Type | Required |
\nBarclays | cnp, cp, hybrid | Yes |
\nBarclays HISO | cnp, cp, hybrid | Yes |
\nAmerican Express Direct | cnp, cp, hybrid | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex | Default Value |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 13 | ^[0-9]+$ | 1111 |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays HISO | cp, cnp, hybrid | Yes | 1 | 15 | ^[0-9a-zA-Z]+$ |
\nBarclays | cp, cnp, hybrid | Yes | 1 | 11 | ^[0-9a-zA-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays HISO | cnp, hybrid | Yes | 1 | 16 | ^[0-9a-zA-Z]+$ |
\nBarclays HISO | cp | No | 1 | 16 | ^[0-9a-zA-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cp, cnp, hybrid | Yes | 1 | 11 | ^[0-9a-zA-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cp, cnp, hybrid | Yes | 8 | 8 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cp, cnp, hybrid | Yes | 10 | 10 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, hybrid | Yes | No |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required |
\nBarclays | cnp, cp, hybrid | No |
\nAmerican Express Direct | cp, cnp, hybrid | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays | cnp, cp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | basic |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 40 | ^[0-9a-zA-Z\-\\s.]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays | cnp, cp, hybrid | No | Yes |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays | cnp, cp, hybrid | No | FINAL |
\nBarclays HISO | cnp, cp, hybrid | Yes | FINAL |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cnp, cp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cnp | No | 4 | 4 | ^[0-9]+$ |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 4 | 4 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required |
\nBarclays | cnp | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 20 | ^[0-9a-zA-Z\-\_\,\\s.]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 37 | ^[0-9a-zA-Z\-\_\,\\s.]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 38 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 21 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 3 | 3 | ^[A-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 20 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 3 | ^[A-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 38 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 15 | ^[0-9a-zA-Z\\s]+$ |
\n
\n"
+ },
+ "url": {
+ "type": "string",
+ "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, hybrid | Yes | 1 | 40 | URL |
\nAmerican Express Direct | cp | No | 1 | 40 | URL |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays HISO | cp, cnp, hybrid | No | Yes |
\nAmerican Express Direct | cnp | No | No |
\nAmerican Express Direct | cp | No | Yes |
\nAmerican Express Direct | hybrid | Yes | Yes |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays HISO | cp, cnp, both | No | Yes |
\nAmerican Express Direct | cp, hybrid | No | Yes |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays HISO | cp, cnp, hybrid | No | Yes |
\nAmerican Express Direct | cp, hybrid | No | Yes |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cnp, hybrid | No | 1 | 11 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cnp, hybrid | No | 1 | 255 | ^[0-9:\-]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required |
\nAmerican Express Direct | cnp | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex | Default Value |
\nAmerican Express Direct | cp | Yes | 4 | 8 | ^[0-9a-zA-Z]+$ | 1111 |
\n
\n"
+ },
+ "pointOfSaleTerminalIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "csv"
+ },
+ "description": "For retail transactions, if merchant chooses to send the terminal id in the API, then that value has to be validated before being used. Holds a comma separated list of all possible terminal ids that the merchant is likely to send. Applicable for VPC processors."
+ },
+ "disablePointOfSaleTerminalIdValidation": {
+ "type": "boolean",
+ "description": "Disables terminal ID validation. Applicable for VPC processors."
+ },
+ "pinDebitNetworkOrder": {
+ "type": "string",
+ "description": "Order of the networks in which Visa should make routing decisions. Applicable for GPX (gpx) and VPC processors."
+ },
+ "pinDebitReimbursementCode": {
+ "type": "string",
+ "description": "This attribute requests VIP to qualify a given PIN Debit transaction for a certain type of interchange program. Y = SMS supermarket, Z = SMS general merchant. Applicable for GPX (gpx) and VPC processors."
+ },
+ "financialInstitutionId": {
+ "type": "string",
+ "description": "Acquirer Institution ID for the PIN Debit Transactions. Applicable for GPX (gpx) and VPC processors."
+ },
+ "enablePinTranslation": {
+ "type": "boolean",
+ "description": "Enables CyberSource PIN Translation for Online PIN Transactions. Please ensure you have exchanged PIN keys with CyberSource to use this feature. Applicable for VPC processors."
+ }
+ }
+ }
+ },
+ "enableTerminalIdLookup": {
+ "type": "boolean",
+ "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "cardPresentConnect": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "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": {
+ "processors": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "description": "Payment Processing connection used to support eCheck, aka ACH, payment methods. Example - \"bofaach\"",
+ "properties": {
+ "companyEntryDescription": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "*EXISTING* Company (merchant) defined description of entry to receive. For e.g. PAYROLL, GAS BILL, INS PREM. This field is alphanumeric"
+ },
+ "companyId": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "*EXISTING* company ID assigned to merchant by Acquiring bank. This field is alphanumeric"
+ },
+ "batchGroup": {
+ "type": "string",
+ "description": "*EXISTING* Capture requests are grouped into a batch bound for your payment processor. The batch time can be identified by reading the last 2-digits as military time. E.g., _16 = your processing cutoff is 4PM PST. Please note if you are in a different location you may then need to convert time zone as well."
+ },
+ "enableAccuityForAvs": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW* Accuity is the original validation service that checks the account/routing number for formatting issues. Used by WF and set to \"Yes\" unless told otherwise"
+ },
+ "accuityCheckType": {
+ "type": "string",
+ "default": "ALWAYS",
+ "description": "*NEW* \nPossible values:\n- ALWAYS"
+ },
+ "setCompletedState": {
+ "type": "boolean",
+ "default": false,
+ "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES."
+ }
+ },
+ "required": [
+ "companyEntryDescription"
+ ]
+ }
+ },
+ "internalOnly": {
+ "type": "object",
+ "properties": {
+ "displayEcheckInfo": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW* Used by EBC UI always set to true"
+ },
+ "processors": {
+ "type": "object",
+ "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "bofaach",
+ "wellsfargoach"
+ ],
+ "type": "object",
+ "description": "Name of the payment processor. Example - \"wellsfargoach\"",
+ "properties": {
+ "enableCCS": {
+ "type": "boolean",
+ "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n"
+ },
+ "terminalId": {
+ "type": "string",
+ "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n"
+ },
+ "enable15anTransactionReferenceNumber": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS"
+ },
+ "portalSupportedPaytypes": {
+ "type": "string",
+ "default": "CHECK",
+ "description": "*NEW* This is used by the EBC2 application"
+ },
+ "settlementMethod": {
+ "type": "string",
+ "default": "BEST_GUESS",
+ "description": "*NEW* \nPossible values:\n- BEST_GUESS"
+ },
+ "verificationLevel": {
+ "type": "string",
+ "default": "VALIDATION",
+ "description": "*NEW* \nPossible values:\n- VALIDATION"
+ },
+ "setCompletedState": {
+ "type": "boolean",
+ "default": false,
+ "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES."
+ }
+ }
+ }
+ }
+ }
+ },
+ "accountHolderName": {
+ "type": "string",
+ "maxLength": 22,
+ "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n"
+ },
+ "accountType": {
+ "type": "string",
+ "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n"
+ },
+ "accountRoutingNumber": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n"
+ },
+ "accountNumber": {
+ "type": "string",
+ "maxLength": 17,
+ "description": "Mandatory \nAccount number for Merchant's Bank Account\n"
+ }
+ },
+ "required": [
+ "accountHolderName",
+ "accountType",
+ "accountRoutingNumber",
+ "accountNumber"
+ ]
+ },
+ "underwriting": {
+ "type": "object",
+ "properties": {
+ "standardEntryClassCodes": {
+ "type": "string",
+ "default": "CCD,PPD,TEL,WEB",
+ "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n"
+ },
+ "enableHold": {
+ "type": "boolean",
+ "default": true,
+ "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n"
+ },
+ "monthlyTotalTransactionAmountLimit": {
+ "type": "number",
+ "format": "currency",
+ "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n"
+ },
+ "holdingDays": {
+ "type": "number",
+ "format": "integer",
+ "default": 7,
+ "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n"
+ },
+ "enableCredits": {
+ "type": "boolean",
+ "description": "Optional \nAllow Credits (True/False)\n"
+ },
+ "transactionAmountLimit": {
+ "type": "number",
+ "format": "currency",
+ "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n"
+ },
+ "riskReserveMethod": {
+ "type": "string",
+ "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n"
+ },
+ "riskReserveRate": {
+ "type": "number",
+ "format": "decimal",
+ "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n"
+ },
+ "riskReserveTargetAmount": {
+ "type": "number",
+ "format": "currency",
+ "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n"
+ },
+ "solutionOrganizationId": {
+ "type": "string",
+ "description": "Solution organization id"
+ }
+ },
+ "required": [
+ "standardEntryClassCodes",
+ "enableHold",
+ "monthlyTotalTransactionAmountLimit",
+ "holdingDays",
+ "transactionAmountLimit",
+ "riskReserveMethod",
+ "riskReserveRate",
+ "riskReserveTargetAmount"
+ ]
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountValidationService": {
+ "type": "object",
+ "properties": {
+ "internalOnly": {
+ "type": "object",
+ "properties": {
+ "processors": {
+ "type": "object",
+ "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "bofaach",
+ "wellsfargoach"
+ ],
+ "type": "object",
+ "description": "Name of the payment processor. Example - \"wellsfargoach\"",
+ "properties": {
+ "avsVersion": {
+ "type": "string",
+ "default": "2",
+ "description": "*NEW* \nPossible values:\n- 2"
+ }
+ }
+ }
+ }
+ }
+ },
+ "processors": {
+ "type": "object",
+ "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n",
+ "additionalProperties": {
+ "type": "object",
+ "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"",
+ "properties": {
+ "avsAccountOwnershipService": {
+ "type": "boolean",
+ "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service."
+ },
+ "avsAccountStatusService": {
+ "type": "boolean",
+ "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service."
+ },
+ "avsSignedAgreement": {
+ "type": "boolean",
+ "description": "*NEW* Taken from Addendum Agreement Column in boarding form."
+ },
+ "avsCalculatedResponseBehavior": {
+ "type": "string",
+ "default": "continue",
+ "description": "*NEW* \nPossible values:\n- continue"
+ },
+ "avsAdditionalId": {
+ "type": "string",
+ "description": "*NEW* Also known as the Additional ID. Taken from the boarding form."
+ },
+ "enableAvs": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW*"
+ },
+ "avsEntityId": {
+ "type": "string",
+ "description": "*NEW* Also known as the AVS Gateway Entity ID."
+ },
+ "avsResultMode": {
+ "type": "string",
+ "description": "*NEW* \nPossible values:\n- FULL_RESPONSE\n- LOGIC_BOX"
+ },
+ "enableAvsTokenCreation": {
+ "type": "boolean",
+ "default": false,
+ "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "payerAuthentication": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "default": "NOT_SELF_SERVICEABLE",
+ "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY"
+ }
+ }
+ },
+ "configurationInformation": {
+ "type": "object",
+ "properties": {
+ "templateId": {
+ "type": "string",
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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 visaCheckout | \n
\n \n applePay | \n
\n \n samsungPay | \n
\n \n googlePay | \n
\n
\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"
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+ }
+ },
+ "pushfunds": {
+ "type": "object",
+ "additionalProperties": {
+ "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]",
+ "type": "object",
+ "required": [
+ "originatorBusinessApplicationId",
+ "acquirerCountryCode",
+ "acquiringBIN",
+ "processorAccount"
+ ],
+ "properties": {
+ "acquirerCountryCode": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "TBD"
+ },
+ "acquiringBIN": {
+ "type": "integer",
+ "maxLength": 11,
+ "description": "TBD"
+ },
+ "allowCryptoCurrencyPurchase": {
+ "type": "boolean",
+ "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer."
+ },
+ "financialInstitutionId": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 4,
+ "description": "TBD"
+ },
+ "networkOrder": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "TBD"
+ },
+ "nationalReimbursementFee": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "TBD"
+ },
+ "originatorBusinessApplicationId": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "TBD"
+ },
+ "originatorPseudoAbaNumber": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "TBD"
+ },
+ "processorAccount": {
+ "type": "array",
+ "items": {
+ "required": [
+ "originatorMerchantId",
+ "originatorTerminalId"
+ ],
+ "type": "object",
+ "properties": {
+ "originatorMerchantId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "TBD"
+ },
+ "originatorTerminalId": {
+ "type": "array",
+ "description": "TBD",
+ "items": {
+ "type": "string",
+ "maxLength": 8
+ }
+ },
+ "supportedCurrencies": {
+ "type": "array",
+ "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)",
+ "items": {
+ "type": "string",
+ "maxLength": 3,
+ "minLength": 3
+ }
+ }
+ }
+ },
+ "description": "TBD"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "differentialFee": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "default": "NOT_SELF_SERVICEABLE",
+ "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY"
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "surcharge": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "payByLink": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "default": "NOT_SELF_SERVICEABLE",
+ "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY"
+ }
+ }
+ }
+ }
+ },
+ "unifiedCheckout": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "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": {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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": {
+ "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": {
+ "stepUpAuthEnabled": {
+ "type": "boolean"
+ }
+ }
+ },
+ "organization": {
+ "type": "object",
+ "properties": {
+ "hierarchyGroup": {
+ "type": "string",
+ "description": "Must be one of the following : NO_GROUP, INCLUDE_IN_PARENTS_GROUP\n",
+ "example": "NO_GROUP"
+ }
+ }
+ },
+ "portfolioControls": {
+ "type": "object",
+ "properties": {
+ "hideRiskMenus": {
+ "type": "boolean"
+ },
+ "hideRiskTransactionData": {
+ "type": "boolean"
+ }
+ }
+ },
+ "thirdparty": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "type": "object",
+ "properties": {
+ "accurint": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "credilink": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "sigla": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "ekata": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "apiKey": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "emailage": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "perseuss": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "signifyd": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "teamId": {
+ "type": "string"
+ },
+ "apiKey": {
+ "type": "string"
+ },
+ "secretKeyid": {
+ "type": "string"
+ },
+ "secretKey": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "targus": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "serviceId": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "commerceSolutions": {
+ "title": "commerceSolutionsProducts",
+ "type": "object",
+ "properties": {
+ "tokenManagement": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "reason": {
+ "type": "string",
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "accountType": {
+ "type": "string",
+ "example": "checking",
+ "description": "Possible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings"
+ },
+ "accountRoutingNumber": {
+ "type": "string",
+ "maxLength": 9,
+ "pattern": "\\d{9}"
+ },
+ "accountNumber": {
+ "type": "string",
+ "maxLength": 17,
+ "pattern": "^\\d{5,17}$"
+ }
+ },
+ "required": [
+ "accountHolderName",
+ "accountType",
+ "accountRoutingNumber",
+ "accountNumber"
+ ]
+ }
+ },
+ "required": [
+ "whenIsCustomerCharged",
+ "offerSubscriptions",
+ "timeToProductDelivery",
+ "estimatedMonthlySales",
+ "averageOrderAmount",
+ "largestExpectedOrderAmount"
+ ]
+ },
+ "owners": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "maxLength": 50,
+ "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$",
+ "example": "John"
+ },
+ "middleName": {
+ "type": "string",
+ "maxLength": 50,
+ "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$",
+ "example": "John"
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 50,
+ "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$",
+ "example": "John"
+ },
+ "birthDate": {
+ "type": "string",
+ "format": "date",
+ "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$",
+ "example": "2016-08-11T00:00:00.000Z",
+ "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n"
+ },
+ "isPrimary": {
+ "type": "boolean",
+ "description": "Determines whether the owner is the Primary owner of the organization",
+ "example": true
+ },
+ "ssn": {
+ "type": "string",
+ "maxLength": 12,
+ "pattern": "^\\d{3}-\\d{2}-\\d{4}$|^\\d{9,9}$",
+ "example": 123456789,
+ "description": "Social Security Number"
+ },
+ "passportNumber": {
+ "type": "string",
+ "maxLength": 12,
+ "pattern": "^(?!^0+$)[a-zA-Z0-9]{3,20}$",
+ "example": "1234556",
+ "description": "Passport number"
+ },
+ "passportCountry": {
+ "type": "string",
+ "maxLength": 2,
+ "minLength": 2,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "US"
+ },
+ "jobTitle": {
+ "type": "string",
+ "maxLength": 100,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "Director"
+ },
+ "hasSignificantResponsability": {
+ "type": "boolean",
+ "description": "Determines whether owner has significant responsibility to control, manage or direct the company",
+ "example": true
+ },
+ "ownershipPercentage": {
+ "type": "number",
+ "pattern": "^[0-9]$|^[1-9][0-9]$|^(100)$",
+ "description": "Determines the percentage of ownership this owner has. For the primary owner the percentage can be from 0-100; for other owners the percentage can be from 25-100 and the sum of ownership accross owners cannot exceed 100",
+ "example": 25
+ },
+ "phoneNumber": {
+ "type": "string",
+ "maxLength": 20,
+ "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$",
+ "example": 4567890398
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 100,
+ "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$",
+ "example": "test@test.com"
+ },
+ "address": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "maxLength": 2,
+ "minLength": 2,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "US"
+ },
+ "address1": {
+ "type": "string",
+ "maxLength": 60,
+ "minLength": 1,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "123 Fake st"
+ },
+ "address2": {
+ "type": "string",
+ "maxLength": 60,
+ "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$",
+ "example": "apt 2"
+ },
+ "locality": {
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$",
+ "description": "City of the billing address.",
+ "example": "Bellevue"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$",
+ "description": "State or province of the billing address. Required for United States and Canada.",
+ "example": "WA"
+ },
+ "postalCode": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 20,
+ "pattern": "^[0-9a-zA-Z ]*$",
+ "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.",
+ "example": 3384
+ }
+ },
+ "required": [
+ "country",
+ "address1",
+ "locality"
+ ]
+ }
+ },
+ "required": [
+ "firstName",
+ "lastName",
+ "birthDate",
+ "jobTitle",
+ "hasSignificantResponsability",
+ "ownershipPercentage",
+ "phoneNumber",
+ "email",
+ "address",
+ "isPrimary"
+ ]
+ }
+ }
+ },
+ "required": [
+ "businessInformation"
+ ]
+ },
+ "productInformation": {
+ "type": "object",
+ "properties": {
+ "selectedProducts": {
+ "type": "object",
+ "properties": {
+ "payments": {
+ "title": "paymentsProducts",
+ "type": "object",
+ "properties": {
+ "cardProcessing": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "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 cardPresent | \n
\n \n cardNotPresent | \n
\n
\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "cardPresent",
+ "cardNotPresent"
+ ],
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ }
+ },
+ "configurationInformation": {
+ "type": "object",
+ "properties": {
+ "templateId": {
+ "type": "string",
+ "format": "uuid"
+ },
+ "configurations": {
+ "type": "object",
+ "title": "CardProcessingConfig",
+ "properties": {
+ "common": {
+ "type": "object",
+ "properties": {
+ "processors": {
+ "type": "object",
+ "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpngsapv3\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "amexdirect",
+ "barclays2",
+ "CUP",
+ "EFTPOS",
+ "fdiglobal",
+ "gpngsapv3",
+ "gpx",
+ "smartfdc",
+ "tsys",
+ "vero",
+ "VPC"
+ ],
+ "type": "object",
+ "properties": {
+ "batchGroup": {
+ "type": "string",
+ "description": "Determines the batching group that separates merchants for special batching times. Batching groups can separate merchant batches by the following criteria:\n\n* Timezone\n* Merchant deadlines\n* Large merchants (top 10)\n* Merchants with Service-Level Agreements\n\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), Streamline (streamline2), Six (six), Barclays (barclays2), Paymentech Tampa (paymentechtampa), CMCIC (cmcic), FDC Nashville (smartfdc), RUPAY, American Express Direct (amexdirect), GPN (gpn), VPC, GPX (gpx), CB2A, Barclays HISO (barclayshiso), TSYS (tsys) and FDI Global (fdiglobal) processors.\n\nValidation details (for selected processors)...\n\n\nProcessor | Acceptance Type | Required |
\nBarclays | cnp, cp, hybrid | Yes |
\nBarclays HISO | cnp, cp, hybrid | Yes |
\nAmerican Express Direct | cnp, cp, hybrid | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex | Default Value |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 13 | ^[0-9]+$ | 1111 |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays HISO | cp, cnp, hybrid | Yes | 1 | 15 | ^[0-9a-zA-Z]+$ |
\nBarclays | cp, cnp, hybrid | Yes | 1 | 11 | ^[0-9a-zA-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays HISO | cnp, hybrid | Yes | 1 | 16 | ^[0-9a-zA-Z]+$ |
\nBarclays HISO | cp | No | 1 | 16 | ^[0-9a-zA-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cp, cnp, hybrid | Yes | 1 | 11 | ^[0-9a-zA-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cp, cnp, hybrid | Yes | 8 | 8 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cp, cnp, hybrid | Yes | 10 | 10 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, hybrid | Yes | No |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required |
\nBarclays | cnp, cp, hybrid | No |
\nAmerican Express Direct | cp, cnp, hybrid | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays | cnp, cp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | basic |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 40 | ^[0-9a-zA-Z\-\\s.]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cp, cnp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays | cnp, cp, hybrid | No | Yes |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays | cnp, cp, hybrid | No | FINAL |
\nBarclays HISO | cnp, cp, hybrid | Yes | FINAL |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cnp, cp, hybrid | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cnp | No | 4 | 4 | ^[0-9]+$ |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 4 | 4 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required |
\nBarclays | cnp | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 20 | ^[0-9a-zA-Z\-\_\,\\s.]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 37 | ^[0-9a-zA-Z\-\_\,\\s.]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 38 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 21 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 3 | 3 | ^[A-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 20 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | No | 1 | 3 | ^[A-Z]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 38 | ^[0-9a-zA-Z\\s]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, cp, hybrid | Yes | 1 | 15 | ^[0-9a-zA-Z\\s]+$ |
\n
\n"
+ },
+ "url": {
+ "type": "string",
+ "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nAmerican Express Direct | cnp, hybrid | Yes | 1 | 40 | URL |
\nAmerican Express Direct | cp | No | 1 | 40 | URL |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays HISO | cp, cnp, hybrid | No | Yes |
\nAmerican Express Direct | cnp | No | No |
\nAmerican Express Direct | cp | No | Yes |
\nAmerican Express Direct | hybrid | Yes | Yes |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays HISO | cp, cnp, both | No | Yes |
\nAmerican Express Direct | cp, hybrid | No | Yes |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nBarclays HISO | cp, cnp, hybrid | No | Yes |
\nAmerican Express Direct | cp, hybrid | No | Yes |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cnp, hybrid | No | 1 | 11 | ^[0-9]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex |
\nBarclays | cnp, hybrid | No | 1 | 255 | ^[0-9:\-]+$ |
\n
\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\nProcessor | Acceptance Type | Required | Default Value |
\nAmerican Express Direct | cnp | No | No |
\n
\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\nProcessor | Acceptance Type | Required |
\nAmerican Express Direct | cnp | No |
\n
\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\nProcessor | Acceptance Type | Required | Min. Length | Max. Length | Regex | Default Value |
\nAmerican Express Direct | cp | Yes | 4 | 8 | ^[0-9a-zA-Z]+$ | 1111 |
\n
\n"
+ },
+ "pointOfSaleTerminalIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "csv"
+ },
+ "description": "For retail transactions, if merchant chooses to send the terminal id in the API, then that value has to be validated before being used. Holds a comma separated list of all possible terminal ids that the merchant is likely to send. Applicable for VPC processors."
+ },
+ "disablePointOfSaleTerminalIdValidation": {
+ "type": "boolean",
+ "description": "Disables terminal ID validation. Applicable for VPC processors."
+ },
+ "pinDebitNetworkOrder": {
+ "type": "string",
+ "description": "Order of the networks in which Visa should make routing decisions. Applicable for GPX (gpx) and VPC processors."
+ },
+ "pinDebitReimbursementCode": {
+ "type": "string",
+ "description": "This attribute requests VIP to qualify a given PIN Debit transaction for a certain type of interchange program. Y = SMS supermarket, Z = SMS general merchant. Applicable for GPX (gpx) and VPC processors."
+ },
+ "financialInstitutionId": {
+ "type": "string",
+ "description": "Acquirer Institution ID for the PIN Debit Transactions. Applicable for GPX (gpx) and VPC processors."
+ },
+ "enablePinTranslation": {
+ "type": "boolean",
+ "description": "Enables CyberSource PIN Translation for Online PIN Transactions. Please ensure you have exchanged PIN keys with CyberSource to use this feature. Applicable for VPC processors."
+ }
+ }
+ }
+ },
+ "enableTerminalIdLookup": {
+ "type": "boolean",
+ "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "cardPresentConnect": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "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": {
+ "processors": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "description": "Payment Processing connection used to support eCheck, aka ACH, payment methods. Example - \"bofaach\"",
+ "properties": {
+ "companyEntryDescription": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "*EXISTING* Company (merchant) defined description of entry to receive. For e.g. PAYROLL, GAS BILL, INS PREM. This field is alphanumeric"
+ },
+ "companyId": {
+ "type": "string",
+ "maxLength": 10,
+ "description": "*EXISTING* company ID assigned to merchant by Acquiring bank. This field is alphanumeric"
+ },
+ "batchGroup": {
+ "type": "string",
+ "description": "*EXISTING* Capture requests are grouped into a batch bound for your payment processor. The batch time can be identified by reading the last 2-digits as military time. E.g., _16 = your processing cutoff is 4PM PST. Please note if you are in a different location you may then need to convert time zone as well."
+ },
+ "enableAccuityForAvs": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW* Accuity is the original validation service that checks the account/routing number for formatting issues. Used by WF and set to \"Yes\" unless told otherwise"
+ },
+ "accuityCheckType": {
+ "type": "string",
+ "default": "ALWAYS",
+ "description": "*NEW* \nPossible values:\n- ALWAYS"
+ },
+ "setCompletedState": {
+ "type": "boolean",
+ "default": false,
+ "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES."
+ }
+ },
+ "required": [
+ "companyEntryDescription"
+ ]
+ }
+ },
+ "internalOnly": {
+ "type": "object",
+ "properties": {
+ "displayEcheckInfo": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW* Used by EBC UI always set to true"
+ },
+ "processors": {
+ "type": "object",
+ "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "bofaach",
+ "wellsfargoach"
+ ],
+ "type": "object",
+ "description": "Name of the payment processor. Example - \"wellsfargoach\"",
+ "properties": {
+ "enableCCS": {
+ "type": "boolean",
+ "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n"
+ },
+ "terminalId": {
+ "type": "string",
+ "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n"
+ },
+ "enable15anTransactionReferenceNumber": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS"
+ },
+ "portalSupportedPaytypes": {
+ "type": "string",
+ "default": "CHECK",
+ "description": "*NEW* This is used by the EBC2 application"
+ },
+ "settlementMethod": {
+ "type": "string",
+ "default": "BEST_GUESS",
+ "description": "*NEW* \nPossible values:\n- BEST_GUESS"
+ },
+ "verificationLevel": {
+ "type": "string",
+ "default": "VALIDATION",
+ "description": "*NEW* \nPossible values:\n- VALIDATION"
+ },
+ "setCompletedState": {
+ "type": "boolean",
+ "default": false,
+ "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES."
+ }
+ }
+ }
+ }
+ }
+ },
+ "accountHolderName": {
+ "type": "string",
+ "maxLength": 22,
+ "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n"
+ },
+ "accountType": {
+ "type": "string",
+ "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n"
+ },
+ "accountRoutingNumber": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n"
+ },
+ "accountNumber": {
+ "type": "string",
+ "maxLength": 17,
+ "description": "Mandatory \nAccount number for Merchant's Bank Account\n"
+ }
+ },
+ "required": [
+ "accountHolderName",
+ "accountType",
+ "accountRoutingNumber",
+ "accountNumber"
+ ]
+ },
+ "underwriting": {
+ "type": "object",
+ "properties": {
+ "standardEntryClassCodes": {
+ "type": "string",
+ "default": "CCD,PPD,TEL,WEB",
+ "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n"
+ },
+ "enableHold": {
+ "type": "boolean",
+ "default": true,
+ "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n"
+ },
+ "monthlyTotalTransactionAmountLimit": {
+ "type": "number",
+ "format": "currency",
+ "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n"
+ },
+ "holdingDays": {
+ "type": "number",
+ "format": "integer",
+ "default": 7,
+ "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n"
+ },
+ "enableCredits": {
+ "type": "boolean",
+ "description": "Optional \nAllow Credits (True/False)\n"
+ },
+ "transactionAmountLimit": {
+ "type": "number",
+ "format": "currency",
+ "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n"
+ },
+ "riskReserveMethod": {
+ "type": "string",
+ "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n"
+ },
+ "riskReserveRate": {
+ "type": "number",
+ "format": "decimal",
+ "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n"
+ },
+ "riskReserveTargetAmount": {
+ "type": "number",
+ "format": "currency",
+ "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n"
+ },
+ "solutionOrganizationId": {
+ "type": "string",
+ "description": "Solution organization id"
+ }
+ },
+ "required": [
+ "standardEntryClassCodes",
+ "enableHold",
+ "monthlyTotalTransactionAmountLimit",
+ "holdingDays",
+ "transactionAmountLimit",
+ "riskReserveMethod",
+ "riskReserveRate",
+ "riskReserveTargetAmount"
+ ]
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountValidationService": {
+ "type": "object",
+ "properties": {
+ "internalOnly": {
+ "type": "object",
+ "properties": {
+ "processors": {
+ "type": "object",
+ "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n",
+ "additionalProperties": {
+ "x-devcenter-additional-properties": [
+ "bofaach",
+ "wellsfargoach"
+ ],
+ "type": "object",
+ "description": "Name of the payment processor. Example - \"wellsfargoach\"",
+ "properties": {
+ "avsVersion": {
+ "type": "string",
+ "default": "2",
+ "description": "*NEW* \nPossible values:\n- 2"
+ }
+ }
+ }
+ }
+ }
+ },
+ "processors": {
+ "type": "object",
+ "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n",
+ "additionalProperties": {
+ "type": "object",
+ "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"",
+ "properties": {
+ "avsAccountOwnershipService": {
+ "type": "boolean",
+ "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service."
+ },
+ "avsAccountStatusService": {
+ "type": "boolean",
+ "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service."
+ },
+ "avsSignedAgreement": {
+ "type": "boolean",
+ "description": "*NEW* Taken from Addendum Agreement Column in boarding form."
+ },
+ "avsCalculatedResponseBehavior": {
+ "type": "string",
+ "default": "continue",
+ "description": "*NEW* \nPossible values:\n- continue"
+ },
+ "avsAdditionalId": {
+ "type": "string",
+ "description": "*NEW* Also known as the Additional ID. Taken from the boarding form."
+ },
+ "enableAvs": {
+ "type": "boolean",
+ "default": true,
+ "description": "*NEW*"
+ },
+ "avsEntityId": {
+ "type": "string",
+ "description": "*NEW* Also known as the AVS Gateway Entity ID."
+ },
+ "avsResultMode": {
+ "type": "string",
+ "description": "*NEW* \nPossible values:\n- FULL_RESPONSE\n- LOGIC_BOX"
+ },
+ "enableAvsTokenCreation": {
+ "type": "boolean",
+ "default": false,
+ "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "payerAuthentication": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "default": "NOT_SELF_SERVICEABLE",
+ "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY"
+ }
+ }
+ },
+ "configurationInformation": {
+ "type": "object",
+ "properties": {
+ "templateId": {
+ "type": "string",
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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 visaCheckout | \n
\n \n applePay | \n
\n \n samsungPay | \n
\n \n googlePay | \n
\n
\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"
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+ }
+ },
+ "pushfunds": {
+ "type": "object",
+ "additionalProperties": {
+ "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]",
+ "type": "object",
+ "required": [
+ "originatorBusinessApplicationId",
+ "acquirerCountryCode",
+ "acquiringBIN",
+ "processorAccount"
+ ],
+ "properties": {
+ "acquirerCountryCode": {
+ "type": "integer",
+ "maxLength": 3,
+ "description": "TBD"
+ },
+ "acquiringBIN": {
+ "type": "integer",
+ "maxLength": 11,
+ "description": "TBD"
+ },
+ "allowCryptoCurrencyPurchase": {
+ "type": "boolean",
+ "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer."
+ },
+ "financialInstitutionId": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 4,
+ "description": "TBD"
+ },
+ "networkOrder": {
+ "type": "string",
+ "maxLength": 30,
+ "description": "TBD"
+ },
+ "nationalReimbursementFee": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "TBD"
+ },
+ "originatorBusinessApplicationId": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "TBD"
+ },
+ "originatorPseudoAbaNumber": {
+ "type": "string",
+ "maxLength": 9,
+ "description": "TBD"
+ },
+ "processorAccount": {
+ "type": "array",
+ "items": {
+ "required": [
+ "originatorMerchantId",
+ "originatorTerminalId"
+ ],
+ "type": "object",
+ "properties": {
+ "originatorMerchantId": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "TBD"
+ },
+ "originatorTerminalId": {
+ "type": "array",
+ "description": "TBD",
+ "items": {
+ "type": "string",
+ "maxLength": 8
+ }
+ },
+ "supportedCurrencies": {
+ "type": "array",
+ "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)",
+ "items": {
+ "type": "string",
+ "maxLength": 3,
+ "minLength": 3
+ }
+ }
+ }
+ },
+ "description": "TBD"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "differentialFee": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "default": "NOT_SELF_SERVICEABLE",
+ "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY"
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "surcharge": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "payByLink": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "default": "NOT_SELF_SERVICEABLE",
+ "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY"
+ }
+ }
+ }
+ }
+ },
+ "unifiedCheckout": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "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": {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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": {
+ "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": {
+ "stepUpAuthEnabled": {
+ "type": "boolean"
+ }
+ }
+ },
+ "organization": {
+ "type": "object",
+ "properties": {
+ "hierarchyGroup": {
+ "type": "string",
+ "description": "Must be one of the following : NO_GROUP, INCLUDE_IN_PARENTS_GROUP\n",
+ "example": "NO_GROUP"
+ }
+ }
+ },
+ "portfolioControls": {
+ "type": "object",
+ "properties": {
+ "hideRiskMenus": {
+ "type": "boolean"
+ },
+ "hideRiskTransactionData": {
+ "type": "boolean"
+ }
+ }
+ },
+ "thirdparty": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "type": "object",
+ "properties": {
+ "accurint": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "credilink": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "sigla": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "ekata": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "apiKey": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "emailage": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "perseuss": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "enableRealTime": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "signifyd": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "teamId": {
+ "type": "string"
+ },
+ "apiKey": {
+ "type": "string"
+ },
+ "secretKeyid": {
+ "type": "string"
+ },
+ "secretKey": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "targus": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "useCybsCredentials": {
+ "type": "boolean"
+ },
+ "credentials": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "serviceId": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "commerceSolutions": {
+ "title": "commerceSolutionsProducts",
+ "type": "object",
+ "properties": {
+ "tokenManagement": {
+ "type": "object",
+ "properties": {
+ "subscriptionInformation": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "selfServiceability": {
+ "type": "string",
+ "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "reason": {
+ "type": "string",
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ ],
+ "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",
+ "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",
+ "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"
+ }
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/notification-subscriptions/v2/products/{organizationId}": {
+ "get": {
+ "tags": [
+ "Create New Webhooks"
+ ],
+ "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": "tms.networktoken.updated",
+ "payloadEncryption": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found"
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest"
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/notification-subscriptions/v2/webhooks": {
+ "post": {
+ "tags": [
+ "Create New Webhooks"
+ ],
+ "summary": "Create a New Webhook Subscription",
+ "description": "Create a new webhook subscription. Before creating a webhook, ensure that a signature key has been created.\n\nFor the example \"Create Webhook using oAuth with Client Credentials\" - for clients who have more than one oAuth Provider and have different client secrets that they would like to config for a given webhook, they may do so by overriding the keyId inside security config of webhook subscription.\nSee the Developer Center examples section titled \"Webhook Security - Create or Store Egress Symmetric Key - Store oAuth Credentials For Symmetric Key\" to store these oAuth credentials that CYBS will need for oAuth.\n\nFor JWT authentication, attach your oAuth details to the webhook subscription. See the example \"Create Webhook using oAuth with JWT\"\n",
+ "parameters": [
+ {
+ "name": "createWebhook",
+ "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)."
+ },
+ "products": {
+ "type": "array",
+ "description": "To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Array of the different events for a given product id."
+ }
+ }
+ }
+ }
+ },
+ "webhookUrl": {
+ "type": "string",
+ "description": "The client's endpoint (URL) to receive webhooks."
+ },
+ "healthCheckUrl": {
+ "type": "string",
+ "description": "The client's health check endpoint (URL). 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"
+ },
+ "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. \nPossible values:\n- key\n- oAuth\n- oAuth_JWT"
+ },
+ "config": {
+ "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.",
+ "type": "object",
+ "properties": {
+ "oAuthTokenExpiry": {
+ "type": "string",
+ "description": "Token expiration for the oAuth server."
+ },
+ "oAuthURL": {
+ "type": "string",
+ "description": "Client direct endpoint to the oAuth server."
+ },
+ "oAuthTokenType": {
+ "type": "string",
+ "description": "Token type for the oAuth config."
+ },
+ "additionalConfig": {
+ "description": "Additional, free form configuration data.",
+ "type": "object",
+ "properties": {
+ "aud": {
+ "type": "string"
+ },
+ "client_id": {
+ "type": "string"
+ },
+ "keyId": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookId": {
+ "type": "string",
+ "description": "Webhook Id. This is generated by the server."
+ },
+ "organizationId": {
+ "type": "string",
+ "description": "Organization ID."
+ },
+ "products": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Event types within the product that you would like subscriptions for."
+ }
+ }
+ },
+ "example": {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "example": {
+ "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ },
+ {
+ "productId": "invoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://example.com:443/cybs",
+ "healthCheckUrl": "https://example.com:443/cybs/healthcheck",
+ "status": "INACTIVE",
+ "name": "My Webhook Subscription",
+ "description": "Webhook Subscription",
+ "retryPolicy": {
+ "algorithm": "Geometric",
+ "firstRetry": 3,
+ "interval": 5,
+ "numberOfRetries": 4,
+ "deactivateFlag": true
+ },
+ "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": "2021-02-25T23:25:11.000Z"
+ }
+ }
+ },
+ "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": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ ],
+ "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient",
+ "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create Recurring Billing Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example2": {
+ "summary": "Create Invoicing Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "customerInvoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.partialpayment",
+ "invoicing.customer.invoice.cancel",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient",
+ "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create Fraud Management Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example4": {
+ "summary": "Create Decision Manager Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example5": {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "oAuth",
+ "config": {
+ "oAuthTokenExpiry": 365,
+ "oAuthURL": "https://MyWebhookServer.com:8443/oAuthToken",
+ "oAuthTokenType": "Bearer"
+ }
+ }
+ }
+ },
+ "example6": {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "oAuth_JWT",
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ },
+ "get": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "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": false
+ },
+ {
+ "name": "eventType",
+ "in": "query",
+ "description": "The Event Type.",
+ "type": "string",
+ "required": false
+ }
+ ],
+ "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": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "example": {
+ "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ },
+ {
+ "productId": "invoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://example.com:443/cybs",
+ "healthCheckUrl": "https://example.com:443/cybs/healthcheck",
+ "status": "INACTIVE",
+ "name": "My Webhook Subscription",
+ "description": "Webhook Subscription",
+ "retryPolicy": {
+ "algorithm": "Geometric",
+ "firstRetry": 3,
+ "interval": 5,
+ "numberOfRetries": 4,
+ "deactivateFlag": true
+ },
+ "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": "2021-02-25T23:25:11.000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/notification-subscriptions/v2/webhooks/{webhookId}": {
+ "get": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "summary": "Get Details On a Single Webhook",
+ "description": "Retrieve the details of a specific webhook by supplying the webhook ID in the path.",
+ "operationId": "getWebhookSubscriptionById",
+ "parameters": [
+ {
+ "name": "webhookId",
+ "in": "path",
+ "type": "string",
+ "description": "The webhook Identifier",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookId": {
+ "type": "string",
+ "description": "Webhook Id. This is generated by the server."
+ },
+ "organizationId": {
+ "type": "string",
+ "description": "Organization ID."
+ },
+ "products": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Event types within the product that you would like subscriptions for."
+ }
+ }
+ },
+ "example": {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "example": {
+ "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ },
+ {
+ "productId": "invoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://example.com:443/cybs",
+ "healthCheckUrl": "https://example.com:443/cybs/healthcheck",
+ "status": "INACTIVE",
+ "name": "My Webhook Subscription",
+ "description": "Webhook Subscription",
+ "retryPolicy": {
+ "algorithm": "Geometric",
+ "firstRetry": 3,
+ "interval": 5,
+ "numberOfRetries": 4,
+ "deactivateFlag": true
+ },
+ "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": "2021-02-25T23:25:11.000Z"
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found"
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "summary": "Update a Webhook Subscription",
+ "description": "Update a Webhook Subscription.",
+ "parameters": [
+ {
+ "name": "webhookId",
+ "in": "path",
+ "type": "string",
+ "description": "The Webhook Identifier.",
+ "required": true
+ },
+ {
+ "name": "updateWebhook",
+ "in": "body",
+ "description": "The webhook payload or changes to apply.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Client friendly webhook name."
+ },
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id."
+ },
+ "description": {
+ "type": "string",
+ "description": "Client friendly webhook description."
+ },
+ "products": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Event types within the product that you would like subscriptions for."
+ }
+ }
+ },
+ "example": {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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."
+ },
+ "securityPolicy": {
+ "type": "object",
+ "properties": {
+ "securityType": {
+ "type": "string",
+ "description": "Security Policy of the client server."
+ },
+ "config": {
+ "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.",
+ "type": "object",
+ "properties": {
+ "oAuthTokenExpiry": {
+ "type": "string",
+ "description": "Token expiration for the oAuth server."
+ },
+ "oAuthURL": {
+ "type": "string",
+ "description": "Client direct endpoint to the oAuth server."
+ },
+ "oAuthTokenType": {
+ "type": "string",
+ "description": "Token type for the oAuth config."
+ }
+ }
+ }
+ },
+ "description": "The security option to authenticate with your API or client server."
+ },
+ "additionalAttributes": {
+ "description": "Additional, free form configuration data.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "example": {
+ "name": "Updated Billing Subscription",
+ "webhookUrl": "https://newwebhooks.com"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated"
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Update Webhook",
+ "value": {
+ "name": "My Sample Webhook",
+ "description": "Sample decision manager webhook reject event.",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "decisionManager",
+ "eventTypes": [
+ "risk.profile.decision.reject"
+ ]
+ }
+ ],
+ "webhookUrl": "https://MyWebhookServer.com:8443:/simulateClient",
+ "healthCheckUrl": "https://MyWebhookServer.com:8443:/simulateClientHealthCheck",
+ "securityPolicy": {
+ "securityType": "oAuth",
+ "config": {
+ "oAuthTokenExpiry": 300,
+ "oAuthUrl": "https://MyWebhookServer.com:8443:/oAuthToken",
+ "oAuthTokenType": "Bearer"
+ }
+ }
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ },
+ "delete": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "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"
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notification-subscriptions/v2/webhooks/{webhookId}/status": {
+ "put": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "summary": "Update a Webhook Status",
+ "description": "Users can update the status of a webhook subscription by calling this endpoint. \n\nThe webhookId parameter in the URL path identifies the specific webhook subscription to be updated. The request body accepts the values ACTIVE or INACTIVE. If the subscription is set to INACTIVE, webhooks will not be delivered until the subscription is activated again.\n",
+ "parameters": [
+ {
+ "name": "webhookId",
+ "in": "path",
+ "type": "string",
+ "description": "The Webhook Identifier.",
+ "required": true
+ },
+ {
+ "name": "updateStatus",
+ "in": "body",
+ "description": "The status that the subscription should be updated to.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status the user intends to update the subscription to. The supported values are ACTIVE & INACTIVE. If the subscription status is INACTIVE, webhook notifications will not be sent. Webhooks will resume being sent once the subscription is ACTIVE again. \nPossible values:\n- ACTIVE\n- INACTIVE",
+ "default": "INACTIVE"
+ }
+ },
+ "example": {
+ "status": "ACTIVE"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated"
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Update Webhook Status",
+ "value": {
+ "status": "ACTIVE"
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/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",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Provider name\n"
+ },
+ "tenant": {
+ "type": "string",
+ "description": "Tenant name\n"
+ },
+ "keyType": {
+ "type": "string",
+ "description": "Type of the key\n"
+ },
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id\n"
+ },
+ "pub": {
+ "type": "string",
+ "description": "Public certificate with only base64 encoded payload and not the header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n"
+ },
+ "keyId": {
+ "type": "string",
+ "description": "Key Serial Number\n"
+ },
+ "pvt": {
+ "type": "string",
+ "description": "Private certificate with only base64 encoded payload and not header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the key\n"
+ },
+ "expiryDuration": {
+ "type": "string",
+ "description": "Key expiry duration in days\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Successful Response",
+ "schema": {
+ "type": "object",
+ "description": "Egress Asymmetric Key Information Response.\n",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\nExample `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the\ntime. The `Z` indicates UTC.\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "The status of the submitted transaction.\nPossible values:\n - ACCEPTED\n"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request"
+ },
+ "401": {
+ "description": "Unauthorized Request"
+ },
+ "502": {
+ "description": "Unexpected system error or system timeout"
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Create Asymmetric Key",
+ "value": {
+ "clientRequestAction": "STORE",
+ "keyInformation": {
+ "provider": "",
+ "tenant": "nrtd",
+ "keyType": "publickey",
+ "organizationId": "",
+ "pub": "MIIDbDCCAlQCCQD4lcSlmasmCTANBgkqhkiG9w0BAQsFADB4MQswCQYDVQQGEwJVUzELMAkGA1UECAwCVFgxDzANBgNVBAcMBkF1c3RpbjENMAsGA1UECgwEVGVzdDEOMAwGA1UECwwFVGVzdDIxDjAMBgNVBAMMBVRlc3QzMRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMB4XDTIxMDgwOTE0MTcxNFoXDTIyMDgwOTE0MTcxNFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlRYMQ8wDQYDVQQHDAZBdXN0aW4xDTALBgNVBAoMBFRlc3QxDjAMBgNVBAsMBVRlc3QyMQ4wDAYDVQQDDAVUZXN0MzEcMBoGCSqGSIb3DQEJARYNdGVzdEB0ZXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMcHQWZRETqim3XzUQlAiujFEvsHIi1uJZKj+1lvPH36Ucqo3ORcoh/MM/zxVdahjhSyyp7MHuKBWnzft6bFeDEul6qKWGPAAzaxG/2xZSV3FggA9SyAZEDUpJ6mblwqm/EY4KmZi1FrNBUHfW2wwaqDexHPRDesRG6aI7Wuu4GdQUUqoTa2+Nv7kVgEDmGcfIjoWkGKHe+Yan95EITrq4jEFCE5Tg/vERnMvHfK2SovENZ13/pnwFYbeh1kfJSBzWW7yq8AyQAgAE9iqJXbJ/MAasir2vjUQ2+Hcl7WbkpoVjLqDt3rzV1T0Bsd4T9SC3wij9qjJSxa6vAgV4xn6bECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEADuMrtYW1Sf0IsZ4ZD9ipjUrFuTxqh+0M5Jk8h0QqAXEHA/MawedlU3JmE3NB/UR82/XUwdmtObGnFANuUQQ+8WMFpcNo/Sq2kg7juneHZroRh72o73UUMtHWHzo8s0fXElNal8h3SaAAnjMblCiN+gM1RvWMvhGrMTXp2XAcdIezXf8/FOZLlzOF9QylbSk1U4ayWBag6MydkxgHjkPKdShZROEm0oz/O7J/gNp/r7J8F42Rw9MmJh9qH3SFre13nQa8V7Kg+dJHZ/jpGtSlDHAxO0SSTrPXkwB+iBJ6hSkiL/J2Ep+lYHqVe3p5NXMOlTtJdbU4enHeLkD6PazKTw",
+ "expiryDuration": "365"
+ }
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/up/v1/capture-contexts": {
+ "post": {
+ "tags": [
+ "Unified Checkout Capture Context"
+ ],
+ "summary": "Generate Unified Checkout Capture Context",
+ "description": "Unified Checkout is a powerful product within the Digital Acceptance Suite. Unified Checkout is designed to assist merchants with the adoption and inclusion of digital payments within their payment acceptance page. With Unified Checkout Integration you can add digital payment methods to create familiar, convenient and seamless payment experiences that are designed to reduce checkout friction and increase conversions.\nClick to Pay Drop-in UI is built on the Unified Checkout platform.\nFor more information about Unified Checkout, see the [Unified Checkout Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html). For examples on how to integrate Unified Checkout within your webpage please see our [GitHub Unified Checkout Samples](https://github.com/CyberSource/cybersource-unified-checkout-sample-java).\nGenerate Unified Checkout Capture Context\nGenerate a one-time use capture context used for the invocation of Unified Checkout. The Request wil contain all of the parameters for how Unified Checkout will operate within a client webpage. The resulting payload will be a JWT signed object that can be used to initiate Unified Checkout or Click to Pay Drop-in UI within a web page",
+ "operationId": "generateUnifiedCheckoutCaptureContext",
+ "x-devcenter-metaData": {
+ "categoryTag": "Unified_Checkout",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html",
+ "disableProcessorDropDown": true
+ },
+ "produces": [
+ "application/jwt"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "generateUnifiedCheckoutCaptureContextRequest",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clientVersion": {
+ "type": "string",
+ "example": "0.25",
+ "maxLength": 60,
+ "description": "Specify the version of Unified Checkout that you want to use."
+ },
+ "targetOrigins": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "https://yourCheckoutPage.com"
+ },
+ "description": "The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Unified Checkout is defined by the scheme (protocol), hostname (domain) and port number (if used). \n\nYou must use https://hostname (unless you use http://localhost)\nWildcards are NOT supported. Ensure that subdomains are included.\nAny valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc)\n\nExamples:\n - https://example.com\n - https://subdomain.example.com\n - https://example.com:8080
\n\nIf you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example:\n\n targetOrigins: [\n \"https://example.com\",\n \"https://basket.example.com\",\n \"https://ecom.example.com\"\n ]\n"
+ },
+ "allowedCardNetworks": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 30,
+ "example": [
+ "VISA",
+ "MASTERCARD"
+ ]
+ },
+ "description": "The list of card networks you want to use for this Unified Checkout transaction.\n\nUnified Checkout currently supports the following card networks:\n - VISA\n - MASTERCARD\n - AMEX\n - CARNET\n - CARTESBANCAIRES\n - CUP\n - DINERSCLUB\n - DISCOVER\n - EFTPOS\n - ELO\n - JCB\n - JCREW\n - MADA\n - MAESTRO\n - MEEZA\n"
+ },
+ "allowedPaymentTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The payment types that are allowed for the merchant. \n\nPossible values when launching Unified Checkout:\n - APPLEPAY\n - CHECK\n - CLICKTOPAY\n - GOOGLEPAY\n - PANENTRY \n - PAZE
\n\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",
+ "example": "US",
+ "maxLength": 2,
+ "description": "Country the purchase is originating from (e.g. country of the merchant). \nUse the two-character ISO Standard\n"
+ },
+ "locale": {
+ "type": "string",
+ "example": "en_US",
+ "description": "Localization of the User experience conforming to the ISO 639-1 language standards and two-character ISO Standard Country Code.\n\nPlease refer to list of [supported locales through Unified Checkout](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-appendix-languages.html)\n"
+ },
+ "captureMandate": {
+ "type": "object",
+ "properties": {
+ "billingType": {
+ "type": "string",
+ "example": "FULL",
+ "maxLength": 25,
+ "description": "Configure Unified Checkout to capture billing address information.\n\nPossible values:\n- FULL: Capture complete billing address information.\n- PARTIAL: Capture first name, last name, country and postal/zip code only.\n- NONE: Capture only first name and last name.\n"
+ },
+ "requestEmail": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to capture customer email address.\n\nPossible values:\n - True\n - False\n"
+ },
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to capture customer phone number.\n\nPossible values:\n- True\n- False\n"
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to capture customer shipping details.\n\nPossible values:\n- True\n- False\n"
+ },
+ "shipToCountries": {
+ "type": "array",
+ "description": "List of countries available to ship to. \nUse the two-character ISO Standard Country Codes.\n",
+ "items": {
+ "type": "string",
+ "example": "US",
+ "maxLength": 2
+ }
+ },
+ "showAcceptedNetworkIcons": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to display the list of accepted card networks beneath the payment button\n\nPossible values:\n- True\n- False\n"
+ },
+ "requestSaveCard": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to display the \"Save card for future use\" checkbox.
\n\nConfigurable check box that will show in a Manual card entry flow to allow a Cardholder to give consent to store their manually entered credential with the Merchant that they are paying.
\nApplicable when manually entering the details and not enrolling in Click to Pay.\n\nPossible values:\n - True \n - False
\n\n**Use Cases:**\n\n**Offer consumers option to save their card in Unified Checkout:** \n- Include the captureMandate.requestSaveCard field in the capture context request and set it to true.\n- When set to true, this will show a checkbox with the message 'Save card for future use' in Unified Checkout.\n- When selected this provides a response in both the Transient Token and Get Credentials API response.
\n\n**Do not offer consumers the option to save their card in Unified Checkout:** \n- Include the captureMandate.requestSaveCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- When set to false, the save card option is not shown to consumers when manually entering card details.\n"
+ },
+ "comboCard": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to display combo card at checkout.
\n\nA combo debit/credit card is a single card that functions both as a Debit/Credit card. \nUnified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card.\n**Important:** This is applicable to Visa cards only.\n\nPossible values:\n- True \n- False
\n\n**Use Cases:**\n\n**Offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to true.\n- When set to true, Combo Card selection is shown at checkout
\n\n**Do not offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- The Combo Card selection is not shown at checkout.\n"
+ },
+ "CPF": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False
\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.
\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.\n"
+ }
+ }
+ },
+ "completeMandate": {
+ "type": "object",
+ "description": "The completeMandate object is designed to provide instructions for orchestrating payment services. Unified Checkout is capable of orchestrating a number of services on your behalf.
\nBy providing this field in the capture context Unified Checkout will initiate services on your behalf from the browser, simplifying your integration.\n",
+ "properties": {
+ "type": {
+ "type": "string",
+ "example": "AUTH",
+ "maxLength": 25,
+ "description": "This field is used to indicate how a payment should be processed.\n\nPossible values:\n- AUTH: Use this value when you want to authorize a payment without capturing it immediately. Payment types that initiate an immediate transfer of funds are not allowed. If a capture context request includes a payment type incompatible with this mode, a 400 error will be returned.
\n- CAPTURE: Use this value when you want to capture the payment immediately during the transaction. Note: Some payment types may return a PENDING status, requiring an additional status check call to determine the final outcome of the payment.
\n"
+ },
+ "decisionManager": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to determine whether Decision Manager is invoked during service orchestration.\n\nPossible values:\n - True\n - False
\n\nSetting this value to True indicates that device fingerprinting will be executed to add additional information for risk service\nSetting this value to False indicates that you do not wish to run device fingerprinting and skip decision manager services.\n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "example": 21,
+ "description": "This field defines the total order amount.\n"
+ },
+ "currency": {
+ "type": "string",
+ "example": "USD",
+ "description": "This field defines the currency applicable to the order.\n"
+ }
+ }
+ },
+ "billTo": {
+ "type": "object",
+ "properties": {
+ "address1": {
+ "type": "string",
+ "example": "277 Park Avenue",
+ "maxLength": 60,
+ "description": "Payment card billing street address as it appears on the credit card issuer's records.\n"
+ },
+ "address2": {
+ "type": "string",
+ "example": "50th Floor",
+ "maxLength": 60,
+ "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n"
+ },
+ "address3": {
+ "type": "string",
+ "example": "Desk NY-50110",
+ "maxLength": 60,
+ "description": "Additional address information (third line of the billing address)"
+ },
+ "address4": {
+ "type": "string",
+ "example": "address4",
+ "maxLength": 60,
+ "description": "Additional address information (fourth line of the billing address)\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "example": "NY",
+ "maxLength": 20,
+ "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n"
+ },
+ "buildingNumber": {
+ "type": "string",
+ "example": "buildingNumber",
+ "maxLength": 256,
+ "description": "Building number in the street address.\n"
+ },
+ "country": {
+ "type": "string",
+ "example": "US",
+ "maxLength": 2,
+ "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n"
+ },
+ "district": {
+ "type": "string",
+ "example": "district",
+ "maxLength": 50,
+ "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n"
+ },
+ "locality": {
+ "type": "string",
+ "example": "New York",
+ "maxLength": 50,
+ "description": "Payment card billing city.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "example": 10172,
+ "maxLength": 10,
+ "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n"
+ },
+ "company": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "example": "Visa Inc",
+ "maxLength": 60,
+ "description": "Name of the customer's company."
+ },
+ "address1": {
+ "type": "string",
+ "example": "277 Park Avenue",
+ "maxLength": 60,
+ "description": "Payment card billing street address as it appears on the credit card issuer's records.\n"
+ },
+ "address2": {
+ "type": "string",
+ "example": "50th Floor",
+ "maxLength": 60,
+ "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n"
+ },
+ "address3": {
+ "type": "string",
+ "example": "Desk NY-50110",
+ "maxLength": 60,
+ "description": "Additional address information (third line of the billing address)"
+ },
+ "address4": {
+ "type": "string",
+ "example": "address4",
+ "maxLength": 60,
+ "description": "Additional address information (fourth line of the billing address)\n"
+ },
+ "administrativeArea": {
+ "type": "string",
+ "example": "NY",
+ "maxLength": 20,
+ "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n"
+ },
+ "buildingNumber": {
+ "type": "string",
+ "example": "buildingNumber",
+ "maxLength": 256,
+ "description": "Building number in the street address.\n"
+ },
+ "country": {
+ "type": "string",
+ "example": "US",
+ "maxLength": 2,
+ "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n"
+ },
+ "district": {
+ "type": "string",
+ "example": "district",
+ "maxLength": 50,
+ "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n"
+ },
+ "locality": {
+ "type": "string",
+ "example": "New York",
+ "maxLength": 50,
+ "description": "Payment card billing city.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "example": 10172,
+ "maxLength": 10,
+ "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n"
+ }
+ }
+ },
+ "email": {
+ "type": "string",
+ "example": "john.doe@visa.com",
+ "maxLength": 255,
+ "description": "Customer's email address, including the full domain name.\n"
+ },
+ "firstName": {
+ "type": "string",
+ "example": "John",
+ "maxLength": 60,
+ "description": "Customer's first name. This name must be the same as the name on the card"
+ },
+ "lastName": {
+ "type": "string",
+ "example": "Doe",
+ "maxLength": 60,
+ "description": "Customer's last name. This name must be the same as the name on the card.\n"
+ },
+ "middleName": {
+ "type": "string",
+ "example": "F",
+ "maxLength": 60,
+ "description": "Customer's middle name.\n"
+ },
+ "nameSuffix": {
+ "type": "string",
+ "example": "Jr",
+ "maxLength": 60,
+ "description": "Customer's name suffix.\n"
+ },
+ "title": {
+ "type": "string",
+ "example": "Mr",
+ "maxLength": 60,
+ "description": "Title.\n"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "example": 1234567890,
+ "description": "Customer's phone number.\n"
+ },
+ "phoneType": {
+ "type": "string",
+ "example": "phoneType",
+ "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n"
+ }
+ }
+ },
+ "shipTo": {
+ "type": "object",
+ "properties": {
+ "address1": {
+ "type": "string",
+ "example": "CyberSource",
+ "maxLength": 60,
+ "description": "First line of the shipping address.\n"
+ },
+ "address2": {
+ "type": "string",
+ "example": "Victoria House",
+ "maxLength": 60,
+ "description": "Second line of the shipping address.\n"
+ },
+ "address3": {
+ "type": "string",
+ "example": "15-17 Gloucester Street",
+ "description": "Third line of the shipping address.\n"
+ },
+ "address4": {
+ "type": "string",
+ "example": "string",
+ "maxLength": 60,
+ "description": "Fourth line of the shipping address."
+ },
+ "administrativeArea": {
+ "type": "string",
+ "example": "CA",
+ "maxLength": 2,
+ "description": "State or province of the shipping address.\n\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf)\n"
+ },
+ "buildingNumber": {
+ "type": "string",
+ "example": "string",
+ "maxLength": 15,
+ "description": "Building number in the street address.\n"
+ },
+ "country": {
+ "type": "string",
+ "example": "GB",
+ "description": "Country of the shipping address.\n\nUse the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n"
+ },
+ "district": {
+ "type": "string",
+ "example": "string",
+ "maxLength": 50,
+ "description": "Neighborhood, community, or region within a city or municipality."
+ },
+ "locality": {
+ "type": "string",
+ "example": "Belfast",
+ "maxLength": 50,
+ "description": "City of the shipping address.\n"
+ },
+ "postalCode": {
+ "type": "string",
+ "example": "BT1 4LS",
+ "maxLength": 10,
+ "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n"
+ },
+ "firstName": {
+ "type": "string",
+ "example": "John",
+ "maxLength": 60,
+ "description": "First name of the recipient"
+ },
+ "lastName": {
+ "type": "string",
+ "example": "Doe",
+ "maxLength": 60,
+ "description": "Last name of the recipient."
+ }
+ }
+ }
+ }
+ },
+ "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 Unified Checkout Capture Context",
+ "value": {
+ "clientVersion": "0.26",
+ "targetOrigins": [
+ "https://yourCheckoutPage.com"
+ ],
+ "allowedCardNetworks": [
+ "VISA",
+ "MASTERCARD",
+ "AMEX",
+ "CARNET",
+ "CARTESBANCAIRES",
+ "CUP",
+ "DINERSCLUB",
+ "DISCOVER",
+ "EFTPOS",
+ "ELO",
+ "JCB",
+ "JCREW",
+ "MADA",
+ "MAESTRO",
+ "MEEZA"
+ ],
+ "allowedPaymentTypes": [
+ "APPLEPAY",
+ "CHECK",
+ "CLICKTOPAY",
+ "GOOGLEPAY",
+ "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"
+ }
+ }
+ }
+ },
+ "example1": {
+ "summary": "Generate Unified Checkout Capture Context with Service Orchestration",
+ "value": {
+ "clientVersion": "0.26",
+ "targetOrigins": [
+ "https://yourCheckoutPage.com"
+ ],
+ "allowedCardNetworks": [
+ "VISA",
+ "MASTERCARD",
+ "AMEX"
+ ],
+ "allowedPaymentTypes": [
+ "APPLEPAY",
+ "CHECK",
+ "CLICKTOPAY",
+ "GOOGLEPAY",
+ "PANENTRY",
+ "PAZE"
+ ],
+ "country": "US",
+ "locale": "en_US",
+ "captureMandate": {
+ "billingType": "FULL",
+ "requestEmail": true,
+ "requestPhone": true,
+ "requestShipping": true,
+ "shipToCountries": [
+ "US",
+ "GB"
+ ],
+ "showAcceptedNetworkIcons": true
+ },
+ "completeMandate": {
+ "type": "AUTH",
+ "decisionManager": true
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "21.00",
+ "currency": "USD"
+ }
+ }
+ }
+ },
+ "example2": {
+ "summary": "Generate Unified Checkout Capture Context With Custom Payment Options",
+ "value": {
+ "clientVersion": "0.26",
+ "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"
+ }
+ }
+ }
+ },
+ "example3": {
+ "summary": "Generate Unified Checkout Capture Context (Opt-out of receiving card number prefix)",
+ "value": {
+ "clientVersion": "0.26",
+ "targetOrigins": [
+ "https://yourCheckoutPage.com"
+ ],
+ "allowedCardNetworks": [
+ "VISA",
+ "MASTERCARD",
+ "AMEX",
+ "CARNET",
+ "CARTESBANCAIRES",
+ "CUP",
+ "DINERSCLUB",
+ "DISCOVER",
+ "EFTPOS",
+ "ELO",
+ "JCB",
+ "JCREW",
+ "MADA",
+ "MAESTRO",
+ "MEEZA"
+ ],
+ "allowedPaymentTypes": [
+ "APPLEPAY",
+ "CHECK",
+ "CLICKTOPAY",
+ "GOOGLEPAY",
+ "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"
+ }
+ },
+ "transientTokenResponseOptions": {
+ "includeCardPrefix": false
+ }
+ }
+ },
+ "example4": {
+ "summary": "Generate Unified Checkout Capture Context passing Billing & Shipping",
+ "value": {
+ "clientVersion": "0.26",
+ "targetOrigins": [
+ "https://yourCheckoutPage.com"
+ ],
+ "allowedCardNetworks": [
+ "VISA",
+ "MASTERCARD",
+ "AMEX",
+ "CARNET",
+ "CARTESBANCAIRES",
+ "CUP",
+ "DINERSCLUB",
+ "DISCOVER",
+ "EFTPOS",
+ "ELO",
+ "JCB",
+ "JCREW",
+ "MADA",
+ "MAESTRO",
+ "MEEZA"
+ ],
+ "allowedPaymentTypes": [
+ "APPLEPAY",
+ "CHECK",
+ "CLICKTOPAY",
+ "GOOGLEPAY",
+ "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"
+ },
+ "billTo": {
+ "address1": "277 Park Avenue",
+ "address2": "50th Floor",
+ "address3": "Desk NY-50110",
+ "address4": "address4",
+ "administrativeArea": "NY",
+ "buildingNumber": "buildingNumber",
+ "country": "US",
+ "district": "district",
+ "locality": "New York",
+ "postalCode": "10172",
+ "company": {
+ "name": "Visa Inc",
+ "address1": "900 Metro Center Blvd",
+ "address2": "address2",
+ "address3": "address3",
+ "address4": "address4",
+ "administrativeArea": "CA",
+ "buildingNumber": "1",
+ "country": "US",
+ "district": "district",
+ "locality": "Foster City",
+ "postalCode": "94404"
+ },
+ "email": "john.doe@visa.com",
+ "firstName": "John",
+ "lastName": "Doe",
+ "middleName": "F",
+ "nameSuffix": "Jr",
+ "title": "Mr",
+ "phoneNumber": "1234567890",
+ "phoneType": "phoneType"
+ },
+ "shipTo": {
+ "address1": "CyberSource",
+ "address2": "Victoria House",
+ "address3": "15-17 Gloucester Street",
+ "address4": "string",
+ "administrativeArea": "CA",
+ "buildingNumber": "string",
+ "country": "GB",
+ "district": "string",
+ "locality": "Belfast",
+ "postalCode": "BT1 4LS",
+ "firstName": "Joe",
+ "lastName": "Soap"
+ }
+ }
+ }
+ },
+ "example5": {
+ "summary": "Generate Capture Context For Click To Pay Drop-In UI",
+ "value": {
+ "clientVersion": "0.26",
+ "targetOrigins": [
+ "https://yourCheckoutPage.com"
+ ],
+ "allowedCardNetworks": [
+ "VISA",
+ "MASTERCARD",
+ "AMEX",
+ "CARNET",
+ "CARTESBANCAIRES",
+ "CUP",
+ "DINERSCLUB",
+ "DISCOVER",
+ "EFTPOS",
+ "ELO",
+ "JCB",
+ "JCREW",
+ "MADA",
+ "MAESTRO",
+ "MEEZA"
+ ],
+ "allowedPaymentTypes": [
+ "CLICKTOPAY"
+ ],
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Capture Context Created",
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "application/jwt": "eyJraWQiOiJ6dSIsImFsZyI6IlJTMjU2In0.eyJmbHgiOnsicGF0aCI6Ii9mbGV4L3YyL3Rva2VucyIsImRhdGEiOiJaNHVqZEZ3S1dsVWlGUTFWQWtydmF4QUFFQzdTOGJOVWs2ZWgzbXVXZm51U0dxM2FHdEdTUUsrS1dXMlNtaVg5RlBMWE5sc3VjbXV2SHk3R1A5eFR1Q3hXRXFlU3ZIWHMrYkhhWUhMcGhaVnZpb0lcdTAwM2QiLCJvcmlnaW4iOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsIm4iOiJpMHZtSDBmQTNVaTZWN0NvbmhvVHdwV01PeFhWdk5aUlVpWWFZSjktR0hKbmZlMUdYVERTLXk5bG1ibVFVUGZpMlVRakNoU3EyclNrZ2pxTExtRzFsRkZ5TjFINVFLSkVlUzhXWEdmeWdVNDBPc05YdDd2X1g0Mmo0a0RXVmNuV0xucGlsYndYZjhwRTh4NmUyWHBoVG5tRmZMR1phbGtUN21PYXVPdmNwdFlXUVZlVGU3bmZrWlZYZTFFN0ZmZ2taNXFkMnY1OVJ2Z1NhQmhkMko4ankyUVZidE5RNTZxMTlfc2h3bEJIYWc3dFdxbzg2S1Iwd0V3dkQyWmNENTFvZGtteFdudFVJaU1tT3VXUUFGTmVaQXBDYklySlc1SFVSdTNHM1g4M2pLM3h1NHZVQjI0WGRIdlExS215dW13RlJJWFRLZFB1TmtTOUtWRHMyemZvaVEiLCJraWQiOiIwOHhzd05TV2xDUnVzeWFHQklJRkVSOEN5M0JTNXB6ZCJ9fSwiY3R4IjpbeyJkYXRhIjp7ImFsbG93ZWRQYXltZW50VHlwZXMiOlt7InBhZ2UiOjEsInR5cGUiOiJQQU5FTlRSWSJ9LHsicGFnZSI6MiwidHlwZSI6IlNSQ1ZJU0EifSx7InBhZ2UiOjMsInR5cGUiOiJTUkNNQVNURVJDQVJEIn1dLCJwYXltZW50Q29uZmlndXJhdGlvbnMiOnsiU1JDVklTQSI6eyJvcmlnaW4iOiJodHRwczovL3NhbmRib3gtYXNzZXRzLnNlY3VyZS5jaGVja291dC52aXNhLmNvbSIsInBhdGgiOiIvY2hlY2tvdXQtd2lkZ2V0L3Jlc291cmNlcy9qcy9zcmMtaS1hZGFwdGVyL3Zpc2FTZGsuanMiLCJwYW5FbmNyeXB0aW9uS2V5Ijp7ImtpZCI6IlY2WVBMMERGSjJWNTZISUg2UTNGMTMzZmJaV3lBeUlIaldWU2VjeDZLTUY2aVRIR00iLCJlIjoiQVFBQiIsIm4iOiJzWlBJdXNEZjd5UW5uaEJrVTltdTE0Vk9PM0NydWkzYjdyQWYyS1llb2JVUm1YQTE3YjFKWDlqZzBDZC12Z3BtdXlUcnhCVVNjLTRiMC1VUGdTd0dGcVBXVXB4MDhFeHFyd1BET3ZGb2pCb3Uyd2x5cThiY3kwVXMtQmZlQ3pTRTVsTVZkU1hUWFhYY05xdS1xYjIyakNDQ0pBTHB4c0Fyc2JvTU9Yc0xlZGgzTTRYTlE1WEdBdFJmN2ItLXVUWTVEcjlLTFl5VXZaS0FuWTA0TUtKUEVPNTRZaUlGTTVEVEFoTk9tczA4OWpkTWR4LVVSSUtKalBVMi1ScEhHMXU4TENHMDI4UlRJcFBzTmJSYW51UzVUQVlfemx4RGdiMWhLSjM2WWJaRU5ITGc5UFhUQmhkT01sVTkwRFRMbGZjYkxUYS1EN0RnbGpBYVdDdXZ6TFBhR3cifSwicGFyYW1ldGVycyI6eyJzcmNJbml0aWF0b3JJZCI6IkpGQ1o4UVZPSkE3Nk5YWjY4RlpEMjFSWUl4ajN5UFpkaVV4a2ROdWliQmx4Z3dhUDQiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNpVHJhbnNhY3Rpb25JZCI6ImJjOWZmNzgyLTM3NTctNDEyMS1hNGM4LTdkMDhkOGY3ZGQ4NiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJkcGFMb2NhbGUiOiJlbl9VUyIsInBheWxvYWRUeXBlSW5kaWNhdG9yIjoiRlVMTCIsInJldmlld0FjdGlvbiI6ImNvbnRpbnVlIiwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImRwYUJpbGxpbmdQcmVmZXJlbmNlIjoiQUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiQUxMIiwiY29uc3VtZXJOYW1lUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lckVtYWlsQWRkcmVzc1JlcXVlc3RlZCI6dHJ1ZSwiY29uc3VtZXJQaG9uZU51bWJlclJlcXVlc3RlZCI6dHJ1ZSwidHJhbnNhY3Rpb25BbW91bnQiOnsidHJhbnNhY3Rpb25BbW91bnQiOiIyMS4wMCIsInRyYW5zYWN0aW9uQ3VycmVuY3lDb2RlIjoiVVNEIn0sInBheW1lbnRPcHRpb25zIjp7ImRwYVBhblJlcXVlc3RlZCI6dHJ1ZX19fX0sIlNSQ01BU1RFUkNBUkQiOnsib3JpZ2luIjoiaHR0cHM6Ly9zYW5kYm94LnNyYy5tYXN0ZXJjYXJkLmNvbSIsInBhdGgiOiIvc2RrL3NyY3Nkay5tYXN0ZXJjYXJkLmpzIiwicGFuRW5jcnlwdGlvbktleSI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsImtpZCI6IjE0OTEyMy1zcmMtZnBhbi1lbmNyeXB0aW9uIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZW5jcnlwdCJdLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJuIjoidnQ0bkRTUFN0VGxNMU5OY3ljdklxVWY0eDE0STRqaVRxTVRLUGpHdGF5MHlmYTF2QnlOQ2htdXBwRHdFVDVnR0dscEw4Y2NqM1lWc0JpOV9iV29lX2FwcGtQd2h4ZDd3UjlSeXdWM3ptV3VNSWhNd2xrMGxuSEFNTDY1bnNIVk0zb0VwRXZDZkFQczFOWGx0VHlmam5rZ0ZFTkkzdEhxdHdkdE04ZVAwMnBwMGp2VzY5ZnlidnlWaEx6WHdTT2dKbnRqdGpSVjdoUXI1bGVkX2pXYjV6elhJNDhPVlRUX0Y5aWluRGR0WDV5M0UtaWY1V3RHWlVGRVRiX3RaRlpZbk1MYUxsSHd2YjZaa3I4NFJTd3dzTWYybkFMXzR6UDJVYWhNd3phbWhCb09TYXF5eEd4RXE2N0hyMVU4ekFDNWhsOUQ4TmJnU3dwV3hzT0RVckh4OXJ3In0sInBhcmFtZXRlcnMiOnsic3JjaVRyYW5zYWN0aW9uSWQiOiJiYzlmZjc4Mi0zNzU3LTQxMjEtYTRjOC03ZDA4ZDhmN2RkODYiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNJbml0aWF0b3JJZCI6Ijg0NGY3ZTNkLTA3ZjAtNDRiMS1hMjM3LWU2NDI0NDRlMDUxMiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJ0cmFuc2FjdGlvblR5cGUiOiJQVVJDSEFTRSIsImRwYUxvY2FsZSI6ImVuX1VTIiwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImNvbnN1bWVyRW1haWxBZGRyZXNzUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lclBob25lTnVtYmVyUmVxdWVzdGVkIjp0cnVlLCJ0cmFuc2FjdGlvbkFtb3VudCI6eyJ0cmFuc2FjdGlvbkFtb3VudCI6IjIxLjAwIiwidHJhbnNhY3Rpb25DdXJyZW5jeUNvZGUiOiJVU0QifSwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQmlsbGluZ1ByZWZlcmVuY2UiOiJGVUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiRlVMTCIsImNvbnN1bWVyTmFtZVJlcXVlc3RlZCI6dHJ1ZSwicGF5bG9hZFR5cGVJbmRpY2F0b3IiOiJGVUxMIn19fX0sImNhcHR1cmVNYW5kYXRlIjp7ImJpbGxpbmdUeXBlIjoiRlVMTCIsInJlcXVlc3RFbWFpbCI6dHJ1ZSwicmVxdWVzdFBob25lIjp0cnVlLCJyZXF1ZXN0U2hpcHBpbmciOnRydWUsInNoaXBUb0NvdW50cmllcyI6WyJVUyIsIkdCIl0sInNob3dBY2NlcHRlZE5ldHdvcmtJY29ucyI6dHJ1ZX0sIm9yZGVySW5mb3JtYXRpb24iOnsiYW1vdW50RGV0YWlscyI6eyJ0b3RhbEFtb3VudCI6IjIxLjAwIiwiY3VycmVuY3kiOiJVU0QifSwiYmlsbFRvIjp7ImFkZHJlc3MxIjoiMjc3IFBhcmsgQXZlbnVlIiwiYWRkcmVzczIiOiI1MHRoIEZsb29yIiwiYWRkcmVzczMiOiJEZXNrIE5ZLTUwMTEwIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6Ik5ZIiwiYnVpbGRpbmdOdW1iZXIiOiJidWlsZGluZ051bWJlciIsImNvdW50cnkiOiJVUyIsImRpc3RyaWN0IjoiZGlzdHJpY3QiLCJsb2NhbGl0eSI6Ik5ldyBZb3JrIiwicG9zdGFsQ29kZSI6IjEwMTcyIiwiY29tcGFueSI6eyJhZGRyZXNzMSI6IjkwMCBNZXRybyBDZW50ZXIgQmx2ZCIsImFkZHJlc3MyIjoiYWRkcmVzczIiLCJhZGRyZXNzMyI6ImFkZHJlc3MzIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6IkNBIiwiYnVpbGRpbmdOdW1iZXIiOiIxIiwiY291bnRyeSI6IlVTIiwiZGlzdHJpY3QiOiJkaXN0cmljdCIsImxvY2FsaXR5IjoiRm9zdGVyIENpdHkiLCJwb3N0YWxDb2RlIjoiOTQ0MDQiLCJuYW1lIjoiVmlzYSBJbmMifSwiZW1haWwiOiJqb2huLmRvZUB2aXNhLmNvbSIsImZpcnN0TmFtZSI6IkpvaG4iLCJsYXN0TmFtZSI6IkRvZSIsIm1pZGRsZU5hbWUiOiJGIiwibmFtZVN1ZmZpeCI6IkpyIiwidGl0bGUiOiJNciIsInBob25lTnVtYmVyIjoiMTIzNDU2Nzg5MCIsInBob25lVHlwZSI6InBob25lVHlwZSJ9LCJzaGlwVG8iOnsiYWRkcmVzczEiOiJDeWJlclNvdXJjZSIsImFkZHJlc3MyIjoiVmljdG9yaWEgSG91c2UiLCJhZGRyZXNzMyI6IjE1LTE3IEdsb3VjZXN0ZXIgU3RyZWV0IiwiYWRkcmVzczQiOiJzdHJpbmciLCJhZG1pbmlzdHJhdGl2ZUFyZWEiOiJDQSIsImJ1aWxkaW5nTnVtYmVyIjoic3RyaW5nIiwiY291bnRyeSI6IkdCIiwiZGlzdHJpY3QiOiJzdHJpbmciLCJsb2NhbGl0eSI6IkJlbGZhc3QiLCJwb3N0YWxDb2RlIjoiQlQxIDRMUyIsImZpcnN0TmFtZSI6IkpvZSIsImxhc3ROYW1lIjoiU29hcCJ9fSwidGFyZ2V0T3JpZ2lucyI6WyJodHRwczovL3RoZS11cC1kZW1vLmFwcHNwb3QuY29tIl0sImlmcmFtZXMiOnsibWNlIjoiL21jZS9pZnJhbWUuaHRtbCIsImJ1dHRvbnMiOiIvYnV0dG9ubGlzdC9pZnJhbWUuaHRtbCIsInNyYyI6Ii9zZWN1cmUtcmVtb3RlLWNvbW1lcmNlL3NyYy5odG1sIiwiZ29vZ2xlcGF5IjoiL2dvb2dsZXBheS9nb29nbGVwYXkuaHRtbCJ9LCJjbGllbnRWZXJzaW9uIjoiMC4xMSIsImNvdW50cnkiOiJVUyIsImxvY2FsZSI6ImVuX1VTIiwiYWxsb3dlZENhcmROZXR3b3JrcyI6WyJWSVNBIiwiTUFTVEVSQ0FSRCIsIkFNRVgiXSwiY3IiOiJaX1c0NldGZlNqWXFZY3FCb19sZGVnQ0Z4RUpnUzlKNWJZT2c2cmtZd2VkaEhpV3M2elowaFZEbU5mMmgxVUQ0eWx6OWJsOThUb0c1SC10bFZjQm54YnZZc0dBSVRDT0g5LTNNZHYyc1g0X3ZFMVY2eFpCeVU5SVcwaFEiLCJzZXJ2aWNlT3JpZ2luIjoiaHR0cHM6Ly9hcGl0ZXN0LmN5YmVyc291cmNlLmNvbSIsImNsaWVudExpYnJhcnkiOiJodHRwczovL2FwaXRlc3QuY3liZXJzb3VyY2UuY29tL3VwL3YxL2Fzc2V0cy8wLjExLjAvU2VjdXJlQWNjZXB0YW5jZS5qcyIsImFzc2V0c1BhdGgiOiIvdXAvdjEvYXNzZXRzLzAuMTEuMCIsImNsaWVudExpYnJhcnlJbnRlZ3JpdHkiOiJzaGEyNTYtSm1SY1QxVFpPaThpWlRTMEZWSFdOanR2REorN1ZsdnNPTXRTZ0tMZUtLTVx1MDAzZCJ9LCJ0eXBlIjoiZ2RhLTAuNy4wIn1dLCJpc3MiOiJGbGV4IEFQSSIsImV4cCI6MTY1OTEyMTk2MSwiaWF0IjoxNjU5MTIxMDYxLCJqdGkiOiJjZ0dBaG9hSFBhbWsxM2d3In0.GSYHGM3941-HLPFjSQT2m6Zus19L4H7tSJIHLuFCKRH_bY1bxFIZRGaI-994BdmhKgzlcE6XK8HQd2lJaD7JnJXAHkmjitg0XV0NVYGbrK7V4cOvT8VKWbMV794NWAAY26_UTjLAR5PGOvyTVOyRuHsItmVMgZ0TFc7x6LeWmjyveN1VeeRemkZHh02nETXh2NpqMk_5a_vXOgoOr56MClo4OqqvSHinXZhxNjIH4h6QwksmuIHKpvoXMWsghozn3va4VEXjp4OJ96NvHkcXGAWcPpLUQOAMks4fd7EoQz4-aFOcrqnV9Ut9p82CmoclWGhvjrakB_MUAabykcmXDA"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "examples": {
+ "application/json": {
+ "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4",
+ "informationLink": "https://vdp.visa.com/docs/errors/invalid_merchant_configuration",
+ "message": "Merchant APIKEY is invalid",
+ "reason": "INVALID_APIKEY"
+ }
+ },
+ "schema": {
+ "properties": {
+ "correlationId": {
+ "type": "string"
+ },
+ "details": {
+ "items": {
+ "properties": {
+ "location": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "informationLink": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "reason": {
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/up/v1/payment-details/{transientToken}": {
+ "get": {
+ "summary": "Get Transient Token Data",
+ "description": "Retrieve the data captured by Unified Checkout. This API is used to retrieve the detailed data represented by the Transient Token. This API will not return PCI payment data (PAN). Include the Request ID in the GET request to retrieve the transaction details.",
+ "tags": [
+ "Transient Token Data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "operationId": "getTransactionForTransientToken",
+ "x-devcenter-metaData": {
+ "categoryTag": "Unified_Checkout",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html",
+ "disableProcessorDropDown": true
+ },
+ "parameters": [
+ {
+ "name": "transientToken",
+ "in": "path",
+ "description": "Transient Token returned by the Unified Checkout application.\n",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response.",
+ "examples": {
+ "application/json": {
+ "paymentInformation": {
+ "card": {
+ "expirationYear": "2026",
+ "number": "XXXXXXXXXXXX1111",
+ "expirationMonth": "05",
+ "type": "001"
+ }
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "21.00",
+ "currency": "USD"
+ },
+ "billTo": {
+ "lastName": "Solo",
+ "country": "US",
+ "firstName": "Han",
+ "email": "Han.solo@test.com"
+ },
+ "shipTo": {
+ "locality": "Mos Eisley",
+ "country": "US",
+ "administrativeArea": "CA",
+ "address1": "325 Falcon Way",
+ "postalCode": "94545"
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "The specified resource not found in the system."
+ },
+ "500": {
+ "description": "Unexpected server error"
+ }
+ }
+ }
+ },
+ "/flex/v2/payment-credentials/{paymentCredentialsReference}": {
+ "get": {
+ "summary": "Get Payment Credentials",
+ "description": "Retrieve the Payment data captured by Unified Checkout. This API is used to retrieve the detailed data represented by the Transient Token. This API will return PCI payment data captured by the Unified Checkout platform.",
+ "tags": [
+ "Transient Token Data"
+ ],
+ "produces": [
+ "application/jwt"
+ ],
+ "operationId": "getPaymentCredentialsForTransientToken",
+ "x-devcenter-metaData": {
+ "categoryTag": "Unified_Checkout",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html",
+ "disableProcessorDropDown": true
+ },
+ "parameters": [
+ {
+ "name": "paymentCredentialsReference",
+ "in": "path",
+ "description": "The paymentCredentialsReference field contained within the Transient token returned from a successful Unified Checkout transaction\n",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved payment credentials reference",
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "application/jwt": "eyJhdWQiOiJwc3AiLCJzdWIiOiJwc19ocGEiLCJraWQiOiIyMDIzMDUxNC1kcmFmdC1wc3AtZW5jcnlwdCIsImN0eSI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJleHAiOjE2ODU0MzI2ODMsImFsZyI6IlJTQS1PQUVQLTI1NiIsImp0aSI6ImMxZWRkMzVmLTRiYmUtNGRmNS04YTg0LTdjNmFlNzU0YWU1MCJ9.Zu5EW2WFuFwAaMI3N9x1-KYdARpcRQSvZSEmKXhHgwTMghOyhCaxmbsDPryIRxcqAFuWH3ojytGIpttHQ-tL35pc1G_lXcd9pA7Wyvv9hh3DdYv2pM3whDLaV6t7ZkP2P_goxiJ3HLwmTPRV0YO97YbvIRSLTEBk25b8DxNL2p9ufvLcEBcwOW7rZj-7boMBWDR3SupyoHUF1WIGfstbgHNo_7qcgOWuKeoITTJlvwFVdmZFeaFDvN2tfrtsanTBFP7v6WSWjWbaKql_z-tqLBfQkaw0nSDjBtxB70pdSw2U5ASmFoYr7Q3H60bNld-3UcAI_mpYXHRJpLleU2IiDg.llfdZVDcZgqBVKYz.BoFsW2K80UGjfczcqGtMqHq7VH-90fcMOtyl-weBc6PAhzg9Ze6MvlMpxmZi4QPKX1i3-HYnqkI514CpriOChPJ-2AR6VenR7MXfG5fGOIRseuDQ1d6WPtfpisabxW1qg9jOSoCWwAG6SrdnMdbpysBJmR_OV2Gfmo4noO5B01u02hv8AM3yY627bYOSTSAHeHovn9KKYWLdYpoJVeqkMIJwHnBtz-dqosgi3AuJNfi8LcT5_3vW6sJ-q044sM6TQ9z57Ui95EqIm4w_s0_BgF6QRIuPJNHD17i-5QgxVDD5OGYPWHwAwMC-poWp3wlG_MTkaIiLkvnAwB44tC_uvAQWJt0BvAbDMbsd9LPcqhqaIS3WDqiCFTawxM-BVotG-mAZDTEuq0f4Ctc9r6KDZyPxJj9IO0KwJDBpk86eX_RXm1ByO3bmDmMcIzsAcaJzbXdO11QRLLtmfYtQSUjZ-NZvEXEoSShJt1F-fTYx05tgoMWrQDwrQ-UMBzN77JqWKzuOpgQSTH6t3YpJ0v8g0-FXu7UHRtRVMWm9vt2HAOTHqXd5ITtqmeYpnKVKv3J_oUJerxy03rN8mPGzrWHRQn6rXOp_xKZEBf7UCK5ugr9oNcVUnbO9GnIr6RH5do3kSfGR0qBA4M8qvpm43amNfHtVcdb2bUwsoaWF15sshcVzss22JU8i94GHrTS_quR8PwktxFVNQyMYHCph_idffTrsPR2mjMoZSR2tPEGPW4V2RTKwhrpqKE_hCyOPLHSSEk3KYkQhteicRvqsqshhm7YADcEXiwRW5Ej2GADDxNop9UZojYRBtRfcQsVoA34ZM4gQvsEza5dF307NJkclwV6e2e5AdDBbm9IGsfY0ePwMOSK7dxWnVEn1gNaJMFyhWCL6o3XI4_4Pu0GWEHN3UphrH9TSHj4BxXLbFHnTDpYWw30pHrzLwLbK-eeovOsWUfID730QXbWa56OSPSqfvWG0tKNuTVmVCBJqZE_25FCoMkR0zevMgJZC9ujK5ksHB3lTFYuOXLNbXujw4y9K3QKImhEigGhWN5glXGEAWqExdWpb9aJ4vuAnT48hQREaiRc1DQueUnmzMQFjY9e-Q9iMOFHiCJ56NU7kMK9qZdBPmf7Emoe87Xx7YINsOXngQZZ2ve8nVC-sE0IDHoSh9YeqoNFAcdOHbCLDB6fi1WVWztCG6Gum0N9kauKHeM8XsSRjL-m_1yPI20da_VvszLW2D0jqbIgppFt-qiPSz4-YNTX6IgL60TEUaOcHynqkIg24_KNvbzXUl4DvlUR0I6XoUAs0XtxLiWy7Qai6Zgtih9Uvm8bZ14O4IAhigz6O09NsmucYzAgTtHi__npwHjV5kW3f-ya4dT9XYq__jGTNnV-vrokK7lj3CbNX9YJtKrM4q2PCl3dggeQXNlU46GYF36jTdLIIByFPhy6Pk5eiM1qXxn7-xZcA5k5YcOvXPyfLPHi1TiB1aNpZQuhdKRseKRqwzw.oTxqDKWidj_qi20IH0YeUA"
+ }
+ },
+ "404": {
+ "description": "The specified resource not found in the system."
+ },
+ "500": {
+ "description": "Unexpected server error"
+ }
+ }
+ }
+ },
+ "/accountupdater/v1/batches": {
+ "post": {
+ "summary": "Create a Batch",
+ "description": "**Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted:\n- **oneOff** batch containing tokens id for Visa or MasterCard card numbers.\n- **amexRegistration** batch containing tokens id for Amex card numbers.\n\nA batch id will be returned on a successful response which can be used to get the batch status and the batch report.\nThe availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\n",
+ "parameters": [
+ {
+ "name": "Body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "required": [
+ "included",
+ "notificationEmail"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "default": "oneOff",
+ "description": "Valid Values:\n * oneOff\n * amexRegistration\n"
+ },
+ "included": {
+ "type": "object",
+ "properties": {
+ "tokens": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "id"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "example": "7030000000000116236"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 2,
+ "example": "12"
+ },
+ "expirationYear": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 4,
+ "example": "2020"
+ }
+ }
+ }
+ }
+ }
+ },
+ "merchantReference": {
+ "type": "string",
+ "example": "TC50171_3",
+ "maxLength": 255,
+ "description": "Reference used by merchant to identify batch."
+ },
+ "notificationEmail": {
+ "type": "string",
+ "format": "email",
+ "example": "test@cybs.com",
+ "description": "Email used to notify the batch status."
+ }
+ }
+ }
+ }
+ ],
+ "tags": [
+ "Batches"
+ ],
+ "operationId": "postBatch",
+ "x-devcenter-metaData": {
+ "categoryTag": "Account_Updater",
+ "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Batches_Resourcebc-1"
+ },
+ "consumes": [
+ "application/json;charset=utf-8"
+ ],
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "responses": {
+ "202": {
+ "description": "A new batch has been created.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ },
+ "status": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/status"
+ }
+ }
+ }
+ }
+ }
+ },
+ "batchId": {
+ "type": "string",
+ "example": "16188390061150001062041064",
+ "description": "Unique identification number assigned to the submitted request."
+ },
+ "batchItemCount": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Not authorized to access resource.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ },
+ "415": {
+ "description": "Unsupported media type provided.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Failure to process request.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "One Off Visa MasterCard Customer Token Batch",
+ "value": {
+ "type": "oneOff",
+ "included": {
+ "tokens": [
+ {
+ "id": "C064DE56200B0DB0E053AF598E0A52AA"
+ },
+ {
+ "id": "C064DE56213D0DB0E053AF598E0A52AA"
+ }
+ ]
+ },
+ "merchantReference": "TC50171_3",
+ "notificationEmail": "test@cybs.com"
+ }
+ },
+ "example1": {
+ "summary": "One Off Visa MasterCard Instrument Identifier Token Batch",
+ "value": {
+ "type": "oneOff",
+ "included": {
+ "tokens": [
+ {
+ "id": "7030000000000116236",
+ "expirationMonth": "12",
+ "expirationYear": "2020"
+ },
+ {
+ "id": "7030000000000178855",
+ "expirationMonth": "12",
+ "expirationYear": "2020"
+ }
+ ]
+ },
+ "merchantReference": "TC50171_3",
+ "notificationEmail": "test@cybs.com"
+ }
+ },
+ "example2": {
+ "summary": "Amex Registration Customer Token Batch",
+ "value": {
+ "type": "amexRegistration",
+ "included": {
+ "tokens": [
+ {
+ "id": "C06977C0EDC0E985E053AF598E0A3326"
+ },
+ {
+ "id": "C069A534044F6140E053AF598E0AD492"
+ }
+ ]
+ },
+ "merchantReference": "TC50171_3",
+ "notificationEmail": "test@cybs.com"
+ }
+ },
+ "example3": {
+ "summary": "Amex Registration Instrument Identifier Token Batch",
+ "value": {
+ "type": "amexRegistration",
+ "included": {
+ "tokens": [
+ {
+ "id": "7030000000000260224",
+ "expirationMonth": "12",
+ "expirationYear": "2020"
+ },
+ {
+ "id": "7030000000000231118",
+ "expirationMonth": "12",
+ "expirationYear": "2020"
+ }
+ ]
+ },
+ "merchantReference": "TC50171_3",
+ "notificationEmail": "test@cybs.com"
+ }
+ }
+ }
+ },
+ "get": {
+ "summary": "List Batches",
+ "description": "**List Batches**
This resource accepts a optional date range, record offset and limit, returning a paginated response of batches containing:\n- The batch id.\n- The batch status.\n- The batch created / modified dates.\n- The total number of accepted, rejected, updated records.\n- The total number of card association responses.\n",
+ "parameters": [
+ {
+ "name": "offset",
+ "in": "query",
+ "description": "Starting record in zero-based dataset that should be returned as the first object in the array.",
+ "required": false,
+ "type": "integer",
+ "format": "int64",
+ "default": 0,
+ "minimum": 0
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "description": "The maximum number that can be returned in the array starting from the offset record in zero-based dataset.",
+ "required": false,
+ "type": "integer",
+ "format": "int64",
+ "default": 20,
+ "minimum": 1,
+ "maximum": 500
+ },
+ {
+ "name": "fromDate",
+ "in": "query",
+ "description": "ISO-8601 format: yyyyMMddTHHmmssZ",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "toDate",
+ "in": "query",
+ "description": "ISO-8601 format: yyyyMMddTHHmmssZ",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "Batches"
+ ],
+ "operationId": "getBatchesList",
+ "x-devcenter-metaData": {
+ "categoryTag": "Account_Updater",
+ "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Daily_American_Expressbc-9"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of batches have been returned.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string",
+ "description": "Valid Values:\n * self\n * first\n * last\n * prev\n * next\n"
+ },
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches?offset=0&limit=20"
+ }
+ }
+ }
+ },
+ "object": {
+ "type": "string",
+ "example": "collection"
+ },
+ "offset": {
+ "type": "integer",
+ "example": 0
+ },
+ "limit": {
+ "type": "integer",
+ "example": 20
+ },
+ "count": {
+ "type": "integer",
+ "example": 1
+ },
+ "total": {
+ "type": "integer",
+ "example": 1
+ },
+ "_embedded": {
+ "type": "object",
+ "properties": {
+ "batches": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "reports": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "Retrieve the generated report of a batch when available.",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/report"
+ }
+ }
+ }
+ }
+ }
+ },
+ "batchId": {
+ "type": "string",
+ "example": "16188390061150001062041064",
+ "description": "Unique identification number assigned to the submitted request."
+ },
+ "batchCreatedDate": {
+ "type": "string",
+ "example": "2018-05-22T14.38.57Z",
+ "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ"
+ },
+ "batchModifiedDate": {
+ "type": "string",
+ "example": "2018-05-22T14.38.57Z",
+ "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ"
+ },
+ "batchSource": {
+ "type": "string",
+ "description": "Valid Values:\n * SCHEDULER\n * TOKEN_API\n * CREDIT_CARD_FILE_UPLOAD\n * AMEX_REGSITRY\n * AMEX_REGISTRY_API\n * AMEX_REGISTRY_API_SYNC\n * AMEX_MAINTENANCE\n"
+ },
+ "tokenSource": {
+ "type": "string",
+ "description": "Valid Values:\n * SECURE_STORAGE\n * TMS\n * CYBERSOURCE\n"
+ },
+ "merchantReference": {
+ "type": "string",
+ "example": "TC50171_3",
+ "maxLength": 255,
+ "description": "Reference used by merchant to identify batch."
+ },
+ "batchCaEndpoints": {
+ "type": "array",
+ "description": "Valid Values:\n * VISA\n * MASTERCARD\n * AMEX\n",
+ "items": {
+ "type": "string",
+ "example": "VISA"
+ }
+ },
+ "status": {
+ "type": "string",
+ "description": "Valid Values:\n * REJECTED\n * RECEIVED\n * VALIDATED\n * DECLINED\n * PROCESSING\n * COMPLETE\n"
+ },
+ "totals": {
+ "type": "object",
+ "properties": {
+ "acceptedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "rejectedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "updatedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "caResponses": {
+ "type": "integer",
+ "example": 1
+ },
+ "caResponsesOmitted": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Not authorized to access resource.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Failure to process request.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/accountupdater/v1/batches/{batchId}/status": {
+ "get": {
+ "summary": "Retrieve a Batch Status",
+ "description": "**Get Batch Status**
This resource accepts a batch id and returns:\n- The batch status.\n- The total number of accepted, rejected, updated records.\n- The total number of card association responses.\n- The billable quantities of:\n - New Account Numbers (NAN)\n - New Expiry Dates (NED)\n - Account Closures (ACL)\n - Contact Card Holders (CCH)\n",
+ "parameters": [
+ {
+ "name": "batchId",
+ "in": "path",
+ "description": "Unique identification number assigned to the submitted request.",
+ "required": true,
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 26,
+ "pattern": "^[0-9]*$"
+ }
+ ],
+ "tags": [
+ "Batches"
+ ],
+ "operationId": "getBatchStatus",
+ "x-devcenter-metaData": {
+ "categoryTag": "Account_Updater",
+ "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Retrieving_Update_Reportsbc-6"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "responses": {
+ "200": {
+ "description": "The status of a batch.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/status"
+ }
+ }
+ },
+ "report": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://apitest.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/report"
+ }
+ }
+ }
+ }
+ }
+ },
+ "batchId": {
+ "type": "string",
+ "example": "16188390061150001062041064",
+ "description": "Unique identification number assigned to the submitted request."
+ },
+ "batchCreatedDate": {
+ "type": "string",
+ "example": "2018-05-22T14.38.57Z",
+ "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ"
+ },
+ "batchSource": {
+ "type": "string",
+ "description": "Valid Values:\n * SCHEDULER\n * TOKEN_API\n * CREDIT_CARD_FILE_UPLOAD\n * AMEX_REGSITRY\n * AMEX_REGISTRY_API\n * AMEX_MAINTENANCE\n"
+ },
+ "merchantReference": {
+ "type": "string",
+ "example": "TC50171_3",
+ "maxLength": 255,
+ "description": "Reference used by merchant to identify batch."
+ },
+ "batchCaEndpoints": {
+ "type": "string",
+ "example": "VISA,MASTERCARD"
+ },
+ "status": {
+ "type": "string",
+ "description": "Valid Values:\n * REJECTED\n * RECEIVED\n * VALIDATED\n * DECLINED\n * PROCESSING\n * COMPLETED\n"
+ },
+ "totals": {
+ "type": "object",
+ "properties": {
+ "acceptedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "rejectedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "updatedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "caResponses": {
+ "type": "integer",
+ "example": 1
+ },
+ "caResponsesOmitted": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ },
+ "billing": {
+ "type": "object",
+ "properties": {
+ "nan": {
+ "type": "integer",
+ "example": 1
+ },
+ "ned": {
+ "type": "integer",
+ "example": 1
+ },
+ "acl": {
+ "type": "integer",
+ "example": 1
+ },
+ "cch": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ },
+ "description": {
+ "type": "string",
+ "example": "Your batch has been received, and is being checked for errors."
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unable to perform action for supplied batch ID/merchant.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/accountupdater/v1/batches/{batchId}/report": {
+ "get": {
+ "summary": "Retrieve a Batch Report",
+ "description": "**Get Batch Report**
This resource accepts a batch id and returns:\n- The batch status.\n- The total number of accepted, rejected, updated records.\n- The total number of card association responses.\n- The billable quantities of:\n - New Account Numbers (NAN)\n - New Expiry Dates (NED)\n - Account Closures (ACL)\n - Contact Card Holders (CCH)\n- Source record information including token ids, masked card number, expiration dates & card type.\n- Response record information including response code, reason, token ids, masked card number, expiration dates & card type.\n",
+ "parameters": [
+ {
+ "name": "batchId",
+ "in": "path",
+ "description": "Unique identification number assigned to the submitted request.",
+ "required": true,
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 26,
+ "pattern": "^[0-9]*$"
+ }
+ ],
+ "tags": [
+ "Batches"
+ ],
+ "operationId": "getBatchReport",
+ "x-devcenter-metaData": {
+ "categoryTag": "Account_Updater",
+ "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Retrieving_a_Batch_withbc-10"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "responses": {
+ "200": {
+ "description": "The report for a batch.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "string",
+ "example": "1.0"
+ },
+ "reportCreatedDate": {
+ "type": "string",
+ "example": "2018-05-22T14.38.57Z",
+ "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ"
+ },
+ "batchId": {
+ "type": "string",
+ "example": "16188390061150001062041064",
+ "description": "Unique identification number assigned to the submitted request."
+ },
+ "batchSource": {
+ "type": "string",
+ "description": "Valid Values:\n * SCHEDULER\n * TOKEN_API\n * CREDIT_CARD_FILE_UPLOAD\n * AMEX_REGSITRY\n * AMEX_REGISTRY_API\n * AMEX_MAINTENANCE\n"
+ },
+ "batchCaEndpoints": {
+ "type": "string",
+ "example": "VISA,MASTERCARD"
+ },
+ "batchCreatedDate": {
+ "type": "string",
+ "example": "2018-05-22T14.38.57Z",
+ "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ"
+ },
+ "merchantReference": {
+ "type": "string",
+ "example": "TC50171_3",
+ "maxLength": 255,
+ "description": "Reference used by merchant to identify batch."
+ },
+ "totals": {
+ "type": "object",
+ "properties": {
+ "acceptedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "rejectedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "updatedRecords": {
+ "type": "integer",
+ "example": 1
+ },
+ "caResponses": {
+ "type": "integer",
+ "example": 1
+ },
+ "caResponsesOmitted": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ },
+ "billing": {
+ "type": "object",
+ "properties": {
+ "nan": {
+ "type": "integer",
+ "example": 1
+ },
+ "ned": {
+ "type": "integer",
+ "example": 1
+ },
+ "acl": {
+ "type": "integer",
+ "example": 1
+ },
+ "cch": {
+ "type": "integer",
+ "example": 1
+ }
+ }
+ },
+ "records": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "example": "10000000"
+ },
+ "sourceRecord": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "example": "C064DE56200B0DB0E053AF598E0A52AA"
+ },
+ "customerId": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "example": "C064DE56200B0DB0E053AF598E0A52AA"
+ },
+ "paymentInstrumentId": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "example": "C064DD33CBD30901E053AF598E0AC6CC"
+ },
+ "instrumentIdentifierId": {
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32,
+ "example": "7030000000000116236"
+ },
+ "cardNumber": {
+ "type": "string",
+ "example": "511111XXXXXX6814"
+ },
+ "cardExpiryMonth": {
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 2,
+ "example": "12"
+ },
+ "cardExpiryYear": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 4,
+ "example": "2018"
+ },
+ "cardType": {
+ "type": "string",
+ "example": "002"
+ }
+ }
+ },
+ "responseRecord": {
+ "type": "object",
+ "properties": {
+ "response": {
+ "type": "string",
+ "description": "Valid Values:\n * NAN\n * NED\n * ACL\n * CCH\n * CUR\n * NUP\n * UNA\n * ERR\n * DEC\n"
+ },
+ "reason": {
+ "type": "string",
+ "example": "800"
+ },
+ "token": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "example": "C064DE56200B0DB0E053AF598E0A52AA"
+ },
+ "instrumentIdentifierId": {
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32,
+ "example": "7030000000000116236"
+ },
+ "instrumentIdentifierCreated": {
+ "type": "string",
+ "description": "Valid Values:\n * true\n * false\n"
+ },
+ "cardNumber": {
+ "type": "string",
+ "example": "511111XXXXXX6814"
+ },
+ "cardExpiryMonth": {
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 2,
+ "example": "12"
+ },
+ "cardExpiryYear": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 4,
+ "example": "2018"
+ },
+ "cardType": {
+ "type": "string",
+ "example": "002"
+ },
+ "additionalUpdates": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "customerId": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "example": "C064DE56213D0DB0E053AF598E0A52AA"
+ },
+ "paymentInstrumentId": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "example": "C064FBFEB64060AAE053AF598E0A3EE6"
+ },
+ "creator": {
+ "type": "string",
+ "example": "mid"
+ },
+ "state": {
+ "type": "string",
+ "description": "Valid Values:\n * ACTIVE\n * CLOSED\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "This Payment Instrument contains the source card number, which is now closed. If required, you can update manually or through the AU REST API."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Unable to perform action for supplied batch ID/merchant.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "_links": {
+ "type": "object",
+ "properties": {
+ "self": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "example": "https://api.cybersource.com/accountupdater/v1/batches"
+ }
+ }
+ }
+ }
+ },
+ "code": {
+ "type": "string",
+ "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n"
+ },
+ "correlationId": {
+ "type": "string",
+ "example": "c7b74452a7314f9ca28197d1084447a5"
+ },
+ "detail": {
+ "type": "string",
+ "example": "One or more fields failed validation"
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "example": "notificationEmail"
+ },
+ "message": {
+ "type": "string",
+ "example": "Email Address is invalid"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n"
+ }
+ }
+ }
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n"
+ },
+ "message": {
+ "type": "string",
+ "example": "Field validation error"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/generator/cybersource-rest-spec.json b/generator/cybersource-rest-spec.json
index a7b68a80..fd51008c 100644
--- a/generator/cybersource-rest-spec.json
+++ b/generator/cybersource-rest-spec.json
@@ -128,6 +128,10 @@
"name": "Subscriptions",
"description": "Create and manage Recurring Subscriptions.\n\nYou have option to link subscription to plan or create independent subscriptions.\n"
},
+ {
+ "name": "Subscriptions Follow-Ons",
+ "description": "Create a Follow-On Subscription from an already existing successful Transaction.\n\nYou have option to link subscription to plan or create independent subscriptions.\n"
+ },
{
"name": "Reports",
"description": "API for creation and retrieval of Reports"
@@ -201,13 +205,17 @@
"description": "API to download a file"
},
{
- "name": "invoices",
+ "name": "Invoices",
"description": "Offer your customers a simple, convenient, and fast way to pay with the new online invoicing tool.\n"
},
{
- "name": "invoiceSettings",
+ "name": "Invoice Settings",
"description": "Update the settings for the invoice payment page.\n"
},
+ {
+ "name": "Payment Links",
+ "description": "Offer your customers a simple, convenient, and fast way to pay with the new online pay by link tool.\n"
+ },
{
"name": "management",
"description": "management rest resources"
@@ -332,6 +340,10 @@
"name": "Invoices",
"description": "For more information about Invoicing, see the [Invoicing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html)."
},
+ {
+ "name": "Pay_By_Link",
+ "description": "For more information about PayByLink, see the [PBL Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/boarding/user/all/rest/boarding/templates-matrix-intro/templates-matrix-pay-by-link.html)."
+ },
{
"name": "User_Management",
"description": "For more information about User Management, see the [User Managment Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-user-management-api-102718/user_management_api_intro.html)."
@@ -357,6 +369,10 @@
{
"name": "Account_Updater",
"description": "For more information about Account Updater, see the [Account Updater Developer Guides Page:](https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html)."
+ },
+ {
+ "name": "Visa_Bank_Account_Validation",
+ "description": "The Visa Bank Account Validation Service is a new standalone product designed to validate bank account details for eCheck transactions. It ensures that all eCheck transactions comply with Nacha guidelines by validating the routing and account numbers.\nThere will be 2 modes of validation:\n1. Basic Mode: Validate account number format and routing number\n2. Advance mode : Validate account and routing number combination. If the Advanced mode is Unavailable or cannot validate the account, the default behavior will be to fallback to the Basic Mode.\n"
}
]
},
@@ -1469,7 +1485,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"subTotalAmount": {
"type": "string",
@@ -5364,7 +5380,7 @@
"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"
+ "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 - BLOCKED_BY_CARDHOLDER\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",
@@ -11605,7 +11621,7 @@
},
"orderInformation": {
"amountDetails": {
- "totalAmount": "301",
+ "totalAmount": "10000.00",
"currency": "USD"
},
"billTo": {
@@ -11633,7 +11649,7 @@
},
"purchaseTotals": {
"currency": "USD",
- "grandTotalAmount": "301"
+ "grandTotalAmount": "10000.00"
},
"card": {
"expirationMonth": "12",
@@ -12028,7 +12044,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "300",
+ "totalAmount": "10000.03",
"currency": "USD"
},
"billTo": {
@@ -12338,7 +12354,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "503",
+ "totalAmount": "10000.01",
"currency": "USD"
},
"billTo": {
@@ -13640,7 +13656,7 @@
},
"example106": {
"summary": "1. Auth Bill DC DCC",
- "sample-name": "2. Auth Bill DC DCC",
+ "sample-name": "1. Auth Bill DC DCC",
"batchable": true,
"processor-type": [
"Visa Platform Connect Certification Testing"
@@ -13805,9 +13821,9 @@
},
"consumerAuthenticationInformation": {
"cavv": "ABCDEabcde12345678900987654321abcdeABCDE"
- },
- "parentTag": "Auth-Bill-DCC-Framework"
- }
+ }
+ },
+ "parentTag": "Auth-Bill-DCC-Framework"
},
"example108": {
"summary": "3. Auth Bill MC DCC",
@@ -13991,7 +14007,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "401",
+ "totalAmount": "10000.02",
"taxAppliedLevel": "3",
"discountAmount": "4.65",
"freightAmount": "5.85",
@@ -15125,7 +15141,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "9024.3",
+ "totalAmount": "10000.06",
"currency": "USD"
},
"billTo": {
@@ -15205,7 +15221,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "100.00",
+ "totalAmount": "10000.07",
"currency": "USD"
},
"billTo": {
@@ -15270,7 +15286,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "181",
+ "totalAmount": "10000.08",
"currency": "USD"
},
"billTo": {
@@ -15398,7 +15414,7 @@
},
"amountDetails": {
"currency": "USD",
- "totalAmount": 181
+ "totalAmount": "10000.09"
}
},
"clientReferenceInformation": {
@@ -15433,7 +15449,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "90.00",
+ "totalAmount": "10000.10",
"currency": "USD"
},
"billTo": {
@@ -16372,7 +16388,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "805",
+ "totalAmount": "10000.04",
"nationalTaxIncluded": "1",
"currency": "USD"
},
@@ -16504,7 +16520,7 @@
"value": {
"orderInformation": {
"amountDetails": {
- "totalAmount": "801",
+ "totalAmount": "10000.05",
"nationalTaxIncluded": "1",
"currency": "USD"
},
@@ -17884,8 +17900,8 @@
"parentTag": "Level-2-Level3-Framework"
},
"example161": {
- "summary": "Auth Bill Retail Swiped AX",
- "sample-name": "Auth Bill Retail Swiped AX",
+ "summary": "7. Auth Bill Retail Swiped AX",
+ "sample-name": "7. Auth Bill Retail Swiped AX",
"batchable": true,
"processor-type": [
"Visa Platform Connect Certification Testing"
@@ -20754,7 +20770,7 @@
"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"
+ "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 - BLOCKED_BY_CARDHOLDER\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",
@@ -21193,7 +21209,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -21788,7 +21804,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -22486,7 +22502,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -25593,7 +25609,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -28280,7 +28296,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -31039,7 +31055,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -34364,7 +34380,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -34830,7 +34846,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -35225,7 +35241,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -35620,7 +35636,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -36030,7 +36046,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -37130,7 +37146,11 @@
"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"
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html",
+ "noAuth": true,
+ "firstLevelApiLifeCycle": "hidden",
+ "secondLevelApiLifeCycle": "hidden",
+ "apiLifeCycle": "hidden"
},
"produces": [
"application/json"
@@ -38031,7 +38051,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -39193,7 +39213,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -40406,7 +40426,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -41193,7 +41213,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -41688,7 +41708,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -42378,7 +42398,7 @@
"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"
+ "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 - BLOCKED_BY_CARDHOLDER\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",
@@ -42475,7 +42495,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
}
}
}
@@ -42834,7 +42854,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -43531,7 +43551,7 @@
"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"
+ "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 - BLOCKED_BY_CARDHOLDER\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",
@@ -43628,7 +43648,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
}
}
}
@@ -44670,7 +44690,7 @@
"/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",
+ "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).\nThe availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\n",
"parameters": [
{
"name": "profile-id",
@@ -45306,6 +45326,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -45366,7 +45400,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -45650,12 +45684,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -45681,12 +45715,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -45724,7 +45758,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -45733,11 +45767,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -46571,6 +46645,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -46631,7 +46719,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -46915,12 +47003,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -46946,12 +47034,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -46989,7 +47077,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -46998,11 +47086,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -48154,6 +48282,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -48214,7 +48356,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -48498,12 +48640,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -48529,12 +48671,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -48572,7 +48714,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -48581,11 +48723,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -49734,6 +49916,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -49794,7 +49990,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -50078,12 +50274,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -50109,12 +50305,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -50152,7 +50348,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -50161,11 +50357,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -51008,6 +51244,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -51068,7 +51318,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -51352,12 +51602,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -51383,12 +51633,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -51426,7 +51676,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -51435,11 +51685,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -55812,6 +56102,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -55872,7 +56176,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -56156,12 +56460,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -56187,12 +56491,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -56230,7 +56534,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -56239,11 +56543,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -56825,6 +57169,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -56885,7 +57243,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -57169,12 +57527,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -57200,12 +57558,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -57243,7 +57601,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -57252,11 +57610,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -58371,6 +58769,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -58431,7 +58843,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -58715,12 +59127,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -58746,12 +59158,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -58789,7 +59201,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -58798,11 +59210,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -59732,6 +60184,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -59792,7 +60258,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -60076,12 +60542,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -60107,12 +60573,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -60150,7 +60616,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -60159,11 +60625,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -61056,6 +61562,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -61116,7 +61636,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -61400,12 +61920,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -61431,12 +61951,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -61474,7 +61994,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -61483,11 +62003,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -62065,6 +62625,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -62125,7 +62699,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -62409,12 +62983,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -62440,12 +63014,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -62483,7 +63057,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -62492,11 +63066,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -63932,6 +64546,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -63992,7 +64620,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -64276,12 +64904,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -64307,12 +64935,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -64350,7 +64978,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -64359,11 +64987,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -64927,6 +65595,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -64987,7 +65669,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -65271,12 +65953,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -65302,12 +65984,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -65345,7 +66027,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -65354,11 +66036,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -66330,6 +67052,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -66390,7 +67126,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -66674,12 +67410,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -66705,12 +67441,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -66748,7 +67484,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -66757,11 +67493,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -67652,6 +68428,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -67712,7 +68502,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -67996,12 +68786,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -68027,12 +68817,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -68070,7 +68860,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -68079,11 +68869,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -68661,6 +69491,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -68721,7 +69565,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -69005,12 +69849,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -69036,12 +69880,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -69079,7 +69923,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -69088,11 +69932,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -70093,6 +70977,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -70153,7 +71051,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -70437,12 +71335,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -70468,12 +71366,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -70511,7 +71409,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -70520,11 +71418,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -70781,6 +71719,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -70841,7 +71793,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -71125,12 +72077,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -71156,12 +72108,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -71199,7 +72151,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -71208,11 +72160,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -71457,6 +72449,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -71517,7 +72523,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -71801,12 +72807,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -71832,12 +72838,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -71875,7 +72881,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -71884,11 +72890,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -72208,7 +73254,7 @@
},
"x-example": {
"example0": {
- "summary": "Create Instrument Identifier (Card)",
+ "summary": "Create Instrument Identifier using a Card",
"value": {
"card": {
"number": "4111111111111111"
@@ -72216,7 +73262,7 @@
}
},
"example1": {
- "summary": "Create Instrument Identifier (Bank Account)",
+ "summary": "Create Instrument Identifier using a Bank Account",
"value": {
"bankAccount": {
"number": "4100",
@@ -72225,14 +73271,24 @@
}
},
"example2": {
- "summary": "Create Instrument Identifier (Card & Enroll for Network Token)",
+ "summary": "Create Instrument Identifier using a Card and Create Network Token",
"value": {
"type": "enrollable card",
"card": {
- "number": "4111111111111111",
+ "number": "4622943123116478",
"expirationMonth": "12",
- "expirationYear": "2031",
- "securityCode": "123"
+ "expirationYear": "2026"
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create Instrument Identifier using a Token (e.g digital PAN) and Create Network Token",
+ "value": {
+ "type": "enrollable token",
+ "card": {
+ "number": "4895370017256311",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
}
}
}
@@ -72486,6 +73542,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -72546,7 +73616,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -72830,12 +73900,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -72861,12 +73931,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -72904,7 +73974,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -72913,11 +73983,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -73502,707 +74612,19 @@
"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"
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\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": {
+ "expirationYear": {
"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"
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
},
- "number": {
+ "type": {
"type": "string",
- "readOnly": true,
- "description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
},
"cryptogram": {
"type": "string",
@@ -74264,7 +74686,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -74548,12 +74970,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -74579,12 +75001,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -74622,7 +75044,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -74631,11 +75053,807 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
+ }
+ }
+ },
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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 a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n"
+ },
+ "maxLength": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the max length of the card.\n"
+ },
+ "credentialType": {
+ "type": "string",
+ "maxLength": 5,
+ "description": "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
+ },
+ "brands": {
+ "description": "Array of brands",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
+ },
+ "brandName": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "features": {
+ "type": "object",
+ "properties": {
+ "accountFundingSource": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
+ },
+ "accountFundingSourceSubType": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
+ },
+ "cardProduct": {
+ "type": "string",
+ "maxLength": 50,
+ "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
+ },
+ "messageType": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
+ },
+ "acceptanceLevel": {
+ "type": "string",
+ "maxLength": 2,
+ "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
+ },
+ "cardPlatform": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
+ },
+ "comboCard": {
+ "type": "string",
+ "maxLength": 1,
+ "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n"
+ },
+ "corporatePurchase": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "healthCard": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -76104,6 +77322,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -76164,7 +77396,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -76448,12 +77680,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -76479,12 +77711,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -76522,7 +77754,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -76531,11 +77763,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -77115,6 +78387,20 @@
"readOnly": true,
"description": "The token requestor's network token for the provided PAN and consumer Id, if available.\n"
},
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
"cryptogram": {
"type": "string",
"readOnly": true,
@@ -77175,7 +78461,7 @@
},
"type": {
"type": "string",
- "description": "The type of card(Card network).\nPossible Values:\n001: visa\n"
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
"suffix": {
"type": "string",
@@ -77459,12 +78745,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -77490,12 +78776,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -77533,7 +78819,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -77542,11 +78828,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -77971,23 +79297,32 @@
},
"x-example": {
"example0": {
- "summary": "Enroll Instrument Identifier for Network Tokenization",
+ "summary": "Enroll Instrument Identifier (Card) for Network Tokenization",
"value": {
"type": "enrollable card",
"card": {
"expirationMonth": "12",
- "expirationYear": "2031",
- "securityCode": "123"
+ "expirationYear": "2031"
+ }
+ }
+ },
+ "example1": {
+ "summary": "Enroll Instrument Identifier (Token) for Network Tokenization",
+ "value": {
+ "type": "enrollable token",
+ "card": {
+ "expirationMonth": "12",
+ "expirationYear": "2032"
}
}
}
}
}
},
- "/tms/v2/tokens/{tokenId}/payment-credentials": {
+ "/tms/v2/tokenized-cards": {
"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",
+ "summary": "Create a Tokenized Card",
+ "description": "| | | |\n| --- | --- | --- |\n|**Tokenized cards**
A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.\n",
"parameters": [
{
"name": "profile-id",
@@ -78000,59 +79335,996 @@
"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",
+ "name": "tokenizedcardRequest",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
- "paymentCredentialType": {
+ "_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",
- "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"
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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
+ }
+ }
+ }
+ }
}
}
}
}
],
"tags": [
- "Token"
+ "Tokenized Card"
],
- "operationId": "postTokenPaymentCredentials",
+ "operationId": "postTokenizedCard",
"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"
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-card-create-cof-intro.html"
},
"consumes": [
"application/json;charset=utf-8"
],
"produces": [
- "application/jose;charset=utf-8"
+ "application/json;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",
+ "200": {
+ "description": "Returns an existing tokenized card 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.",
+ "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 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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "description": "A new tokenized card has been created.",
+ "headers": {
+ "Location": {
+ "description": "Location of the Tokenized Card.",
"type": "string"
},
"v-c-correlation-id": {
- "description": "The mandatory correlation id passed by upstream (calling) system.",
+ "description": "The mandatory correlation Id passed by upstream (calling) system.",
+ "type": "string"
+ },
+ "uniqueTransactionID": {
+ "description": "A globally-unique Id associated with your request.",
"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"
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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:\n- 001: 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
+ }
+ }
+ }
+ }
+ }
+ }
}
},
"400": {
@@ -78173,8 +80445,8 @@
}
}
},
- "404": {
- "description": "Token Not Found. The Id may not exist or was entered incorrectly.",
+ "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.",
@@ -78199,7 +80471,7 @@
"type": {
"type": "string",
"readOnly": true,
- "description": "The type of error.\n\nPossible Values:\n - notFound\n"
+ "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n"
},
"message": {
"type": "string",
@@ -78215,15 +80487,15 @@
"application/json": {
"errors": [
{
- "type": "notFound",
- "message": "Token not found"
+ "type": "conflict",
+ "message": "Action cannot be performed as the PaymentInstrument is the customers default"
}
]
}
}
},
- "410": {
- "description": "Token Not Available. The token has been deleted.",
+ "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.",
@@ -78248,7 +80520,7 @@
"type": {
"type": "string",
"readOnly": true,
- "description": "The type of error.\n\nPossible Values:\n - notAvailable\n"
+ "description": "The type of error.\n\nPossible Values:\n - notFound\n"
},
"message": {
"type": "string",
@@ -78264,8 +80536,8 @@
"application/json": {
"errors": [
{
- "type": "notAvailable",
- "message": "Token not available."
+ "type": "notFound",
+ "message": "Profile not found"
}
]
}
@@ -78320,504 +80592,403 @@
}
}
}
- }
- }
- },
- "/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)",
+ "summary": "Create Network Token using an Issuer Account Reference Id",
"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"
- ]
+ "createInstrumentIdentifier": true,
+ "source": "ISSUER",
+ "accountReferenceId": "c0e9dde7a241ec5e9e50cfd823a51c01",
+ "card": {
+ "type": "001"
+ }
}
},
"example1": {
- "summary": "Generate Capture Context (ACH/Echeck)",
+ "summary": "Create Network Token using a Card",
"value": {
- "clientVersion": "v2",
- "targetOrigins": [
- "https://www.test.com"
- ],
- "allowedPaymentTypes": [
- "CHECK"
- ]
+ "createInstrumentIdentifier": true,
+ "source": "ONFILE",
+ "card": {
+ "number": "4622943123116478",
+ "expirationMonth": "12",
+ "expirationYear": "2026"
+ }
}
},
"example2": {
- "summary": "Generate Capture Context (Card - Opt-out of receiving card number prefix)",
+ "summary": "Create Network Token using a Network Token (e.g digital PAN)",
"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
+ "createInstrumentIdentifier": true,
+ "source": "TOKEN",
+ "card": {
+ "number": "4895370017256311",
+ "expirationMonth": "12",
+ "expirationYear": "2031"
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create Network Token using a Card and a Consumer Id",
+ "value": {
+ "createInstrumentIdentifier": true,
+ "source": "ONFILE",
+ "consumerId": "consumerId-1234",
+ "card": {
+ "number": "4622943123116478",
+ "expirationMonth": "12",
+ "expirationYear": "2026"
}
}
}
+ }
+ }
+ },
+ "/tms/v2/tokenized-cards/{tokenizedCardId}": {
+ "get": {
+ "summary": "Retrieve a Tokenized Card",
+ "description": "| | | |\n| --- | --- | --- |\n|**Tokenized Cards**
A Tokenized Card represents a network token.\nNetwork tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.\t\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": "tokenizedCardId",
+ "in": "path",
+ "description": "The Id of a tokenized card.",
+ "required": true,
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32
+ }
+ ],
+ "tags": [
+ "Tokenized Card"
+ ],
+ "operationId": "getTokenizedCard",
+ "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-card-retrieve-tkn-consumer-intro.html"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "x-depends": {
+ "example": {
+ "path": "/tms/v2/tokenized-cards",
+ "verb": "post",
+ "exampleId": "example0"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "id",
+ "destinationField": "tokenizedCardId",
+ "fieldTypeInDestination": "path"
+ }
+ ]
},
"responses": {
- "201": {
- "description": "Capture Context Created",
- "schema": {
- "type": "string"
+ "200": {
+ "description": "Returns an existing tokenized card 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"
+ }
},
- "examples": {
- "application/jwt": "eyJraWQiOiJ6dSIsImFsZyI6IlJTMjU2In0.eyJmbHgiOnsicGF0aCI6Ii9mbGV4L3YyL3Rva2VucyIsImRhdGEiOiJVUmIycEtZa2xhU0M4OW43ai9CWEJCQUFFQ1ZjVjRlU0xoTThvdDc5anRFREp4Vk1PdUFDRCtaUU03UGEydEhkbm5ENzh0MjBYcktCZVFnaUI4dysrZ0hNbHpBOUxqTng1K2MxNlo2VzJ2bGNaWGJyUmEydkUyRWFyaldlUUc0Q1pieEwiLCJvcmlnaW4iOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsIm4iOiJod3VBT0NWcG5YWk9mTXNHWWJ6dUQyYW81dndvZGNPMVVqa2RpS3RXdEh5dmMybS1iY1hwUTRGRTk3UDk3NV9KMVJwMWJiZW5jWjNCZW1lbUJ5aU9VajlHRVVkV25raXVyNE5VWmVkQVpzelFkbFFaSlAzdzZQWVoxREFUY05ZekZwYjRXbnQzQkpKSm9XM2p3aTlMLTY1cWNuYU5SWFppRTV1V0FlQnFQY085UmNDU1BtR3lsT3REUWEzT0d5ZXFESDl0S3piU2lKNGxHMW9FcExVRWw2N003V0xXeXR1R2tsOExXUExncmkybldoaEdLS2d5cFA3bEp5Qk5IX2FxUHVOT3A3YUFVYTlvZVRqV2t0WVpqUzNqbTFjTDVkazJ6VkFGU3JkRGdTYzd1VXMtZVdkZThOYW1zZHhZTHFzX3BFSW1XU3FteDVvc2tpenZWR1A3anciLCJraWQiOiIwNzZSRjlmMEZMdVRLaU9jZkhiNU1TSkZwZzZqODY2YSJ9fSwiY3R4IjpbeyJkYXRhIjp7ImNsaWVudExpYnJhcnkiOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbS9taWNyb2Zvcm0vYnVuZGxlL3YxL2ZsZXgtbWljcm9mb3JtLm1pbi5qcyIsInRhcmdldE9yaWdpbnMiOlsiaHR0cHM6Ly93d3cuY3liZXJzb3VyY2UtbWVyY2hhbnQuY29tIl0sIm1mT3JpZ2luIjoiaHR0cHM6Ly90ZXN0ZmxleC5jeWJlcnNvdXJjZS5jb20ifSwidHlwZSI6Im1mLTEuMC4wIn1dLCJpc3MiOiJGbGV4IEFQSSIsImV4cCI6MTY2NDkyNzM5NywiaWF0IjoxNjY0OTI2NDk3LCJqdGkiOiJybXBWQ0NCSW9sdWhYQ2E0In0.LlunfxI-deZ_Tqypz4ucNhhF_IYsB6ZhlKndgWdJe1vv91ekePZBU6icq6aDVUAFuDR5MmjCQc7IsQNhCiZGf6uqV9YFLokhEZdnHOHkpwE1viH9GoddsdiSvBcJrYJ4FsV49JK2xRNvGTxNKR62wiO2YqPhNm934b2bbsjyYyDByw2wEZhJyAPBIDJk6IF2IvR4kq1lNyAtFs4EXVO2tqBATvj1nahqHMqUlrTsOGY96XioXl1YKnqeM1g5lREqoxR3M8HsWm2kCSsGyirIWLEaOYYEvWcKNBmkhW410XEYfb3hrg-H7irLe0_4OICdV1FyY-AsjbzO7mO17BENQg"
- }
- },
- "default": {
- "description": "Error retrieving key.",
"schema": {
"type": "object",
"properties": {
- "responseStatus": {
+ "_links": {
+ "type": "object",
+ "readOnly": true,
"properties": {
- "status": {
- "type": "number",
- "description": "HTTP Status code."
+ "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"
+ },
+ "expirationMonth": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Two-digit month in which the network token expires.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n"
+ },
+ "expirationYear": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Four-digit year in which the network token expires.\nFormat: `YYYY`.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of card (Card Network).\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n"
+ },
+ "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"
},
- "reason": {
+ "expirationMonth": {
"type": "string",
- "description": "Error Reason Code."
+ "maxLength": 2,
+ "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n"
},
- "message": {
+ "expirationYear": {
"type": "string",
- "description": "Error Message."
+ "maxLength": 4,
+ "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n"
},
- "correlationId": {
+ "type": {
"type": "string",
- "description": "API correlation ID."
+ "description": "The type of card (Card Network).\nPossible Values:\n- 001: visa\n"
},
- "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."
- }
- }
- }
+ "suffix": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The customer's latest payment card number suffix.\n"
}
}
},
- "_links": {
+ "passcode": {
"type": "object",
+ "description": "Passcode by issuer for ID&V.\n",
"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."
- }
- }
+ "value": {
+ "type": "string",
+ "description": "OTP generated at issuer.\n"
}
}
- }
- }
- }
- }
- },
- "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": {
+ },
+ "metadata": {
"type": "object",
+ "readOnly": true,
+ "description": "Metadata associated with the tokenized card.\n",
"properties": {
- "orderInformation": {
+ "cardArt": {
+ "title": "TmsCardArt",
+ "description": "Card art associated with the tokenized card.\n",
"type": "object",
+ "readOnly": true,
"properties": {
- "amountDetails": {
+ "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": {
- "totalAmount": {
- "type": "object",
- "properties": {
- "required": {
- "type": "boolean"
- }
- }
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the asset\n"
},
- "currency": {
+ "_links": {
"type": "object",
+ "readOnly": true,
"properties": {
- "required": {
- "type": "boolean"
+ "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"
+ }
+ }
}
}
}
}
},
- "billTo": {
+ "brandLogoAsset": {
+ "description": "Brand logo card art asset associated with the tokenized card.\n",
"type": "object",
+ "readOnly": true,
"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"
- }
- }
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the asset\n"
},
- "company": {
+ "_links": {
"type": "object",
+ "readOnly": true,
"properties": {
- "required": {
- "type": "boolean"
+ "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"
+ }
+ }
}
}
}
}
},
- "shipTo": {
+ "issuerLogoAsset": {
+ "description": "Issuer logo card art asset associated with the tokenized card.\n",
"type": "object",
+ "readOnly": true,
"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"
- }
- }
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the asset\n"
},
- "lastName": {
+ "_links": {
"type": "object",
+ "readOnly": true,
"properties": {
- "required": {
- "type": "boolean"
+ "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"
},
- "company": {
+ "_links": {
"type": "object",
+ "readOnly": true,
"properties": {
- "required": {
- "type": "boolean"
+ "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"
+ }
+ }
}
}
}
@@ -78825,51 +80996,82 @@
}
}
},
- "paymentInformation": {
+ "issuer": {
+ "description": "Issuer associated with the tokenized card.\n",
"type": "object",
+ "readOnly": true,
"properties": {
- "card": {
+ "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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "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": {
- "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"
- }
- }
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the field that caused the error."
},
- "expirationYear": {
- "type": "object",
- "properties": {
- "required": {
- "type": "boolean"
- }
- }
+ "location": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The location of the field that caused the error."
}
}
}
@@ -78878,204 +81080,1802 @@
}
}
}
- }
- }
- ],
- "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
- }
+ },
+ "examples": {
+ "Invalid Customer request body": {
+ "errors": [
+ {
+ "type": "invalidRequest",
+ "message": "Invalid HTTP Body"
}
- }
+ ]
}
}
},
- "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
+ "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."
+ }
}
}
}
}
- }
- }
- },
- "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"
+ "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": {
- "correlationId": {
- "type": "string"
- },
- "details": {
+ "errors": {
+ "type": "array",
+ "readOnly": true,
"items": {
+ "type": "object",
+ "readOnly": true,
"properties": {
- "location": {
- "type": "string"
+ "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"
+ }
+ ]
+ }
+ }
+ },
+ "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 Tokenized Card",
+ "description": "| | | |\n| --- | --- | --- |\n| The Network Token will attempt to be deleted from the card association and if successful the corresponding TMS Network Token will be deleted.\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": "tokenizedCardId",
+ "in": "path",
+ "description": "The Id of a tokenized card.",
+ "required": true,
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32
+ }
+ ],
+ "tags": [
+ "Tokenized Card"
+ ],
+ "operationId": "deleteTokenizedCard",
+ "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-card-delete-tkn-consumer-intro.html"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "x-depends": {
+ "example": {
+ "path": "/tms/v2/tokenized-cards",
+ "verb": "post"
+ },
+ "fieldMapping": [
+ {
+ "sourceField": "id",
+ "destinationField": "tokenizedCardId",
+ "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/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"
+ },
+ "transactionType": {
+ "type": "string",
+ "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n"
+ }
+ }
+ }
+ }
+ ],
+ "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."
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Generate Network Token Credentials for a Network Token Transaction (Default)"
+ },
+ "example1": {
+ "summary": "Generate Network Token Credentials for an AFT Transaction",
+ "value": {
+ "paymentCredentialType": "CRYPTOGRAM",
+ "transactionType": "AFT"
+ }
+ }
+ }
+ }
+ },
+ "/tms/v2/tokens/{instrumentIdentifierId}/{tokenProvider}/assets/{assetType}": {
+ "get": {
+ "summary": "Retrieve Card Art",
+ "description": "Retrieves Card Art for a specific Instrument Identifier. The Card Art is a visual representation of the cardholder's payment card.\nCard Art is only available if a Network Token is successfully provisioned.\n",
+ "parameters": [
+ {
+ "name": "instrumentIdentifierId",
+ "in": "path",
+ "description": "The Id of an Instrument Identifier.",
+ "required": true,
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 32
+ },
+ {
+ "name": "tokenProvider",
+ "in": "path",
+ "description": "The token provider.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "vts",
+ "mdes",
+ "amex",
+ "mscof"
+ ]
+ },
+ {
+ "name": "assetType",
+ "in": "path",
+ "description": "The type of asset.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "card-art-combined",
+ "brand-logo",
+ "issuer-logo",
+ "icon-logo"
+ ]
+ }
+ ],
+ "tags": [
+ "Token"
+ ],
+ "operationId": "getCardArtAsset",
+ "x-devcenter-metaData": {
+ "categoryTag": "Token_Management",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-card-art.html"
+ },
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the Card Art Asset Content of a Network Token",
+ "headers": {
+ "v-c-correlation-id": {
+ "description": "The mandatory correlation Id passed by upstream (calling) system.",
+ "type": "string"
+ },
+ "uniqueTransactionID": {
+ "description": "A globally-unique Id associated with your request.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "type": "object",
+ "description": "Represents the Card Art Asset associated to the Network Token.\n",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the Card Art Asset.\n",
+ "example": "84cfb836a0000859be62c766bdc9e510"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of Card Art Asset.\n",
+ "example": "cardArtCombined"
+ },
+ "provider": {
+ "type": "string",
+ "description": "The provider of the Card Art Asset.\n",
+ "example": "vts"
+ },
+ "content": {
+ "type": "array",
+ "description": "Array of content objects representing the Card Art Asset.\n",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The MIME type of the Asset.\n",
+ "example": "image/png"
+ },
+ "data": {
+ "type": "string",
+ "description": "The base64-encoded data of the Asset.\n",
+ "example": "iVBORw0KGgoAAAANSUhEUgAA..."
+ },
+ "width": {
+ "type": "integer",
+ "description": "The width of the Asset in pixels.\n",
+ "example": 1536
+ },
+ "height": {
+ "type": "integer",
+ "description": "The height of the Asset in pixels.\n",
+ "example": 969
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/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. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.",
+ "operationId": "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\nYou can supply up to nine origins within the targetOrigins field for nested iframes.\nIf the list of origins exceeds five ensure that you:\n - Compare the list of origins in the v2/sessions targetOrigins field against the location.ancestorOrigins of the browser. \n - Ensure that the count of origins and their content matches in both. If any origins are absent or mismatched, the system will prevent Microform from loading and display a client-side error message.\n"
+ },
+ "allowedCardNetworks": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of card networks you want to use for this Microform transaction.\n\nMicroform currently supports the following card networks:\n- VISA\n- MASTERCARD\n- AMEX\n- CARNET\n- CARTESBANCAIRES\n- CUP\n- DINERSCLUB\n- DISCOVER\n- EFTPOS\n- ELO\n- 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"
@@ -82098,7 +85898,7 @@
"/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.",
+ "description": "A new service for Merchants to get reference_id for Digital Wallets to use in place of BIN number in Cardinal. Set up file while authenticating with Cardinal. This service should be called by Merchant when payment instrument chosen or changes. This service has to be called before enrollment check. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.",
"operationId": "payerAuthSetup",
"tags": [
"Payer Authentication"
@@ -82633,7 +86433,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
}
}
},
@@ -85159,7 +88959,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
}
}
}
@@ -88950,7 +92750,7 @@
"/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",
+ "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).\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\n",
"tags": [
"Payouts"
],
@@ -88998,7 +92798,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -89783,7 +93583,7 @@
"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"
+ "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 - BLOCKED_BY_CARDHOLDER\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",
@@ -89858,7 +93658,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -91551,14 +95351,14 @@
"/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",
+ "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)\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -91891,7 +95691,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -92183,7 +95983,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -92404,7 +96204,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -92723,7 +96523,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -92855,7 +96655,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -93024,7 +96824,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -93193,7 +96993,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -93300,7 +97100,7 @@
],
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -93367,7 +97167,7 @@
"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",
+ "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- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n",
"type": "string",
"maxLength": 20
},
@@ -93768,7 +97568,7 @@
],
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -94146,7 +97946,7 @@
],
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -94460,7 +98260,7 @@
],
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -94535,7 +98335,7 @@
"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",
+ "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- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n",
"type": "string",
"maxLength": 20
},
@@ -94837,7 +98637,7 @@
],
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -95006,7 +98806,7 @@
],
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -95175,7 +98975,7 @@
],
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -95345,7 +99145,7 @@
"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",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-dev-intro.html",
"disableProcessorDropDown": true
},
"consumes": [
@@ -95443,6 +99243,926 @@
}
}
},
+ "/rbs/v1/subscriptions/follow-ons/{requestId}": {
+ "get": {
+ "summary": "Get a Follow-On Subscription",
+ "description": "Get details of the Subscription being created based on the Request Id of an existing successful Transaction.\n",
+ "tags": [
+ "Subscriptions Follow-Ons"
+ ],
+ "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
+ },
+ "produces": [
+ "application/json",
+ "application/hal+json",
+ "application/json;charset=utf-8",
+ "application/hal+json;charset=utf-8"
+ ],
+ "operationId": "getFollowOnSubscription",
+ "parameters": [
+ {
+ "name": "requestId",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "Request Id of an existing successful Transaction"
+ }
+ ],
+ "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."
+ }
+ }
+ },
+ "create": {
+ "type": "object",
+ "properties": {
+ "href": {
+ "type": "string",
+ "description": "This is the endpoint of the resource that was created by the successful request."
+ },
+ "method": {
+ "type": "string",
+ "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
+ }
+ }
+ }
+ }
+ },
+ "buyerInformation": {
+ "type": "object",
+ "description": "Customer information used during Follow-On Transaction.",
+ "properties": {
+ "merchantCustomerID": {
+ "type": "string",
+ "description": "Merchant identifier for the customer.\n",
+ "maxLength": 100
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Customer's primary email address, including the full domain name.\n"
+ }
+ }
+ },
+ "paymentInstrument": {
+ "type": "object",
+ "description": "Payment instrument used during Follow-On Transaction.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "description": "The Id of the Payment Instrument Token."
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ },
+ "card": {
+ "type": "object",
+ "description": "The masked number (PAN), expirationMonth, expirationYear and type of the card used during transaction.\n",
+ "properties": {
+ "number": {
+ "type": "string",
+ "minLength": 12,
+ "maxLength": 19,
+ "description": "The masked 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": "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "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
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "shippingAddress": {
+ "type": "object",
+ "description": "Shipping address used during Follow-On Transaction.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32,
+ "description": "The Id of the Shipping Address Token."
+ },
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "rbs/v1/subscriptions/follow-ons/7216512479796378604957",
+ "method": "GET"
+ },
+ "create": {
+ "href": "rbs/v1/subscriptions/follow-ons/7216512479796378604957",
+ "method": "POST"
+ }
+ },
+ "buyerInformation": {
+ "merchantCustomerID": "Merchant customer identifier",
+ "email": "test@cybs.com"
+ },
+ "paymentInstrument": {
+ "id": "1F90575B08822A60E063AF598E0AB9BF",
+ "bankAccount": {
+ "type": "checking",
+ "number": "XXXXX4100",
+ "routingNumber": "071923284"
+ },
+ "card": {
+ "number": "411111XXXXXX1111",
+ "expirationMonth": "12",
+ "expirationYear": "2024",
+ "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"
+ },
+ "buyerInformation": {
+ "companyTaxID": "12345",
+ "currency": "USD",
+ "dateOfBirth": "2018-12-13",
+ "personalIdentification": {
+ "id": "57684432111321",
+ "type": "driver license",
+ "issuedBy": {
+ "administrativeArea": "CA"
+ }
+ }
+ }
+ },
+ "shippingAddress": {
+ "id": "1F90575B08822A60E063AF598E0AB9BF",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "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 - PROCESSOR_UNAVAILABLE\n - INVALID_FOLLOW_ON_TRANSACTION_STATUS\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."
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "summary": "Create a Follow-On Subscription",
+ "description": "Create a new Subscription based on the Request Id of an existing successful Transaction.",
+ "tags": [
+ "Subscriptions Follow-Ons"
+ ],
+ "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": "createFollowOnSubscription",
+ "parameters": [
+ {
+ "name": "requestId",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "Request Id of an existing successful Transaction"
+ },
+ {
+ "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- `INTERNET`\n\nPlease add the ecommerce indicator based on the rules defined by your gateway/processor. Some gateways may not accept the Commerce Indicator `RECURRING` with a Zero Dollar Authorization, that is done for subscriptions starting at a future date.\n",
+ "type": "string",
+ "maxLength": 20
+ },
+ "authorizationOptions": {
+ "type": "object",
+ "properties": {
+ "initiator": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "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"
+ }
+ }
+ },
+ "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": "FollowOn from 7216512479796378604957",
+ "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-08-01"
+ }
+ }
+ }
+ }
+ ],
+ "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_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_FOLLOW_ON_TRANSACTION_STATUS\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 Follow-On Subscription",
+ "sample-name": "Create Follow-On Subscription",
+ "value": {
+ "clientReferenceInformation": {
+ "code": "FollowOn from 7216512479796378604957",
+ "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-08-01"
+ }
+ }
+ }
+ }
+ }
+ },
"/bin/v1/binlookup": {
"post": {
"summary": "BIN Lookup API",
@@ -95627,12 +100347,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
},
"currency": {
"type": "string",
@@ -95658,12 +100378,12 @@
"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"
+ "description": "This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.\n\nPossible values:\n- `001`: Visa\n- `002`: Mastercard\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche\n- `007`: JCB\n- `008`: Optima\n- `009`: GE Private Label\n- `010`: Beneficial Private Label\n- `011`: Twinpay Credit Card\n- `012`: Twinpay Debit Card\n- `013`: Walmart\n- `014`: EnRoute\n- `015`: Lowe's Consumer\n- `016`: Home Depot Consumer\n- `017`: MBNA\n- `018`: Dick's Sportwear\n- `019`: Casual Corner\n- `020`: Sears\n- `021`: JAL\n- `023`: Disney Card\n- `024`: Switch/Solo\n- `025`: Sam's Club Consumer\n- `026`: Sam's Club Business\n- `027`: Nico's\n- `028`: Paymentech Bill Me Later\n- `029`: Bebe\n- `030`: Restoration Hardware\n- `031`: Delta Online\n- `032`: Solo\n- `033`: Visa Electron\n- `034`: Dankort\n- `035`: Laser\n- `036`: Cartes Bancaire\n- `037`: Carta Si\n- `040`: UATP\n- `041`: HOUSEHOLD\n- `042`: Maestro\n- `043`: GE MONEY\n- `044`: Korean Cards\n- `045`: Style Cards\n- `046`: J.Crew\n- `047`: Payeasecn eWallet\n- `048`: Payeasecn Bank Transfer\n- `049`: Meijer\n- `050`: Hipercard\n- `051`: Aura\n- `052`: Redecard\n- `053`: Orico Card\n- `054`: Elo\n- `055`: Capital One Private Label\n- `057`: Costco Private Label\n- `058`: Carnet\n- `059`: ValueLink\n- `060`: MADA\n- `061`: RuPay\n- `062`: China UnionPay\n- `063`: Falabella Private Label\n- `064`: Prompt Card\n- `065`: Korean Domestic\n- `066`: Banricompras\n- `067`: Meeza\n- `068`: PayPak\n- `070`: EFTPOS\n- `071`: Codensa\n- `072`: Olimpica\n- `073`: Colsubsidio\n- `074`: Tuya\n- `075`: Sodexo\n- `076`: Naranja\n- `077`: Cabal\n- `078`: DINELCO\n- `079`: PANAL\n- `080`: EPM\n- `081`: Jaywan\n"
},
"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"
+ "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n"
}
}
}
@@ -95701,7 +100421,7 @@
"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"
+ "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
},
"comboCard": {
"type": "string",
@@ -95710,11 +100430,51 @@
},
"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"
+ "description": "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
},
"healthCard": {
"type": "boolean",
- "description": "This field indicates if the entered card is a healthcare BIN. Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false` \n"
+ "description": "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "sharedBIN": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "posDomesticOnly": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "gamblingAllowed": {
+ "type": "boolean",
+ "description": "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel2": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "commercialCardLevel3": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "exemptBIN": {
+ "type": "boolean",
+ "description": "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "accountLevelManagement": {
+ "type": "boolean",
+ "description": "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "onlineGamblingBlock": {
+ "type": "boolean",
+ "description": "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "autoSubstantiation": {
+ "type": "boolean",
+ "description": "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
+ },
+ "flexCredential": {
+ "type": "boolean",
+ "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
}
}
},
@@ -96563,7 +101323,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -98712,7 +103472,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -99564,7 +104324,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -104048,7 +108808,656 @@
"400": {
"description": "Invalid request",
"schema": {
- "title": "reportingV3PurchaseRefundDetailsGet400Response",
+ "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",
@@ -104095,60 +109504,304 @@
"description": "HTTP status code for client application"
}
},
- "401": {
- "description": "Unauthorized",
+ "404": {
+ "description": "Conversion detail not found",
"schema": {
- "title": "reportingV3PurchaseRefundDetailsGet401Response",
+ "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",
- "required": [
- "submitTimeUtc",
- "reason",
- "message",
- "details"
- ],
"properties": {
- "submitTimeUtc": {
+ "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",
- "description": "Time of request in UTC. \n",
- "example": "2016-08-11T22:47:57Z"
+ "xml": {
+ "attribute": true
+ }
},
- "reason": {
+ "endTime": {
"type": "string",
- "description": "Documented reason code\n",
- "example": "INVALID_DATA"
+ "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
+ }
},
- "message": {
- "type": "string",
- "description": "Short descriptive message to the user.\n",
- "example": "One or more fields contains invalid data"
+ "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
+ }
},
- "details": {
+ "totalPurchases": {
"type": "array",
- "description": "Error field list\n",
+ "description": "List of total purchases currency wise",
"items": {
"type": "object",
+ "required": [
+ "currency",
+ "value"
+ ],
"properties": {
- "field": {
+ "currency": {
"type": "string",
- "description": "Field in request that caused an error\n"
+ "description": "Valid ISO 4217 ALPHA-3 currency code",
+ "example": "USD"
},
- "reason": {
+ "value": {
"type": "string",
- "description": "Documented reason code\n"
+ "example": "10.01"
}
},
- "description": "Provides failed validation input field detail\n"
+ "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
}
}
- },
- "description": "HTTP status code for client application"
+ }
}
},
- "404": {
- "description": "Report not found",
+ "400": {
+ "description": "Invalid request",
"schema": {
- "title": "reportingV3PurchaseRefundDetailsGet404Response",
+ "title": "reportingV3NetFundingsGet400Response",
"type": "object",
"required": [
"submitTimeUtc",
@@ -104195,10 +109848,28 @@
"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": "reportingV3PurchaseRefundDetailsGet500Response",
+ "title": "reportingV3NetFundingsGet500Response",
"type": "object",
"required": [
"submitTimeUtc",
@@ -104248,7 +109919,8 @@
"application/json": {
"code": "SERVER_ERROR",
"correlationId": null,
- "detail": "Internal Server Error. Please contact the customer support.",
+ "detail": null,
+ "fields": [],
"localizationKey": "cybsapi.server.error",
"message": "Error encountered while processing request"
}
@@ -104257,33 +109929,112 @@
}
}
},
- "/reporting/v3/payment-batch-summaries": {
+ "/reporting/v3/dtds/{reportDefinitionNameVersion}": {
"get": {
"tags": [
- "Payment Batch Summaries"
+ "Download DTD"
],
- "summary": "Get Payment Batch Summary Data",
- "description": "Scope can be either account/merchant or reseller.",
- "operationId": "getPaymentBatchSummary",
+ "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": [
- "text/csv",
- "application/xml",
- "application/hal+json"
+ "application/hal+json",
+ "application/xml"
]
}
},
"x-queryParameterDefaults": {
"organizationId": "testrest",
- "startTime": "2019-05-01T12:00:00Z",
- "endTime": "2019-08-30T12:00:00Z"
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
},
"produces": [
"application/hal+json",
- "text/csv",
"application/xml"
],
"parameters": [
@@ -104312,175 +110063,459 @@
"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": "rollUp",
+ "name": "startTime",
"in": "query",
- "description": "Conditional - RollUp for data for day/week/month. Required while getting breakdown data for a Merchant",
- "required": false,
- "type": "string"
+ "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": "breakdown",
+ "name": "endTime",
"in": "query",
- "description": "Conditional - Breakdown on account_rollup/all_merchant/selected_merchant. Required while getting breakdown data for a Merchant.",
- "required": false,
- "type": "string"
+ "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": "startDayOfWeek",
+ "name": "organizationId",
"in": "query",
- "description": "Optional - Start day of week to breakdown data for weeks in a month",
+ "description": "Valid Organization Id",
+ "pattern": "[a-zA-Z0-9-_]+",
"required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 1,
- "maximum": 7
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
- "title": "reportingV3PaymentBatchSummariesGet200Response",
+ "title": "reportingV3ChargebackDetailsGet200Response",
"type": "object",
"properties": {
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id",
+ "example": "testrest",
+ "xml": {
+ "name": "MerchantId",
+ "attribute": true
+ }
+ },
"startTime": {
"type": "string",
- "format": "date-time"
+ "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",
- "format": "date-time"
+ "description": "Report Start Date (ISO 8601 Extended)",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportEndDate",
+ "attribute": true
+ }
},
- "paymentBatchSummaries": {
+ "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"
},
- "paymentSubTypeDescription": {
+ "requestId": {
"type": "string",
- "example": "Diners Club"
+ "description": "Request Id",
+ "example": "5060113732046412501541"
},
- "startTime": {
+ "responseDueTime": {
"type": "string",
+ "description": "Response Due Date",
+ "example": "2017-10-01T10:10:10+05:00",
"format": "date-time"
},
- "endTime": {
+ "time": {
"type": "string",
+ "description": "Chargeback Date",
+ "example": "2017-10-01T10:10:10+05:00",
"format": "date-time"
},
- "salesCount": {
- "type": "integer",
- "example": 10,
- "format": "int32"
- },
- "salesAmount": {
+ "actionDescription": {
"type": "string",
- "example": "5000.01"
+ "description": "Chargeback Action Description",
+ "example": "Financial transaction"
},
- "creditCount": {
- "type": "integer",
- "example": 10,
- "format": "int32"
+ "customerId": {
+ "type": "string",
+ "description": "Customer Id",
+ "example": "937999JFK"
},
- "creditAmount": {
+ "reasonCode": {
"type": "string",
- "example": "5000.01"
+ "description": "Chargeback Reason Code",
+ "example": "1050"
},
- "accountName": {
+ "representmentCPTime": {
"type": "string",
- "example": "ubmerchant296"
+ "description": "Representment CP Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
},
- "accountId": {
+ "applications": {
"type": "string",
- "example": "ubmerchant296_acct"
+ "description": "ICS Request Applications",
+ "example": "ics_bill"
},
- "merchantId": {
+ "eventRequestedTime": {
"type": "string",
- "example": "ubmerchant296_3"
+ "description": "Event Request Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
},
- "merchantName": {
+ "preDisputeFlag": {
"type": "string",
- "example": "ubmerchant296_3"
+ "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"
},
- "400": {
- "description": "Invalid request",
+ {
+ "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": "reportingV3PaymentBatchSummariesGet200Response",
+ "title": "reportingV3RetrievalSummariesGet200Response",
"type": "object",
- "required": [
- "submitTimeUtc",
- "reason",
- "message",
- "details"
- ],
"properties": {
- "submitTimeUtc": {
+ "organizationId": {
"type": "string",
- "format": "date-time",
- "description": "Time of request in UTC. \n",
- "example": "2016-08-11T22:47:57Z"
+ "description": "Organization Id",
+ "example": "testrest",
+ "xml": {
+ "name": "MerchantId",
+ "attribute": true
+ }
},
- "reason": {
+ "startTime": {
"type": "string",
- "description": "Documented reason code\n",
- "example": "INVALID_DATA"
+ "description": "Report Start Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
+ "xml": {
+ "name": "ReportStartDate",
+ "attribute": true
+ }
},
- "message": {
+ "endTime": {
"type": "string",
- "description": "Short descriptive message to the user.\n",
- "example": "One or more fields contains invalid data"
+ "description": "Report Start Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "xml": {
+ "name": "ReportEndDate",
+ "attribute": true
+ }
},
- "details": {
+ "retrievalSummaries": {
"type": "array",
- "description": "Error field list\n",
+ "description": "List of Summary values",
"items": {
"type": "object",
"properties": {
- "field": {
+ "count": {
+ "type": "number",
+ "description": "Chargeback summary list count",
+ "example": "8"
+ },
+ "time": {
"type": "string",
- "description": "Field in request that caused an error\n"
+ "description": "Summary Date",
+ "example": "2018-01-04T11:33:06.000-0800",
+ "format": "date-time"
},
- "reason": {
+ "accountId": {
"type": "string",
- "description": "Documented reason code\n"
+ "description": "Account Id",
+ "example": "testrest_acct"
}
},
- "description": "Provides failed validation input field detail\n"
+ "xml": {
+ "name": "Request",
+ "wrapped": true
+ }
}
}
},
- "description": "HTTP status code for client application"
+ "xml": {
+ "name": "Report",
+ "wrapped": true
+ }
}
- },
- "404": {
- "description": "Payment Batch Summary not found"
}
}
}
},
- "/reporting/v3/conversion-details": {
+ "/reporting/v3/retrieval-details": {
"get": {
"tags": [
- "Conversion Details"
+ "Retrieval Details"
],
- "summary": "Get Conversion Detail Transactions",
- "description": "Get conversion detail of transactions for a merchant.",
- "operationId": "getConversionDetail",
+ "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",
@@ -104489,9 +110524,9 @@
}
},
"x-queryParameterDefaults": {
- "startTime": "2019-03-21T00:00:00Z",
- "endTime": "2019-03-21T23:00:00Z",
- "organizationId": "testrest"
+ "organizationId": "testrest",
+ "startTime": "2019-08-01T00:00:00Z",
+ "endTime": "2019-09-01T23:59:59Z"
},
"produces": [
"application/hal+json",
@@ -104527,24 +110562,25 @@
],
"responses": {
"200": {
- "description": "OK",
+ "description": "Ok",
"schema": {
- "title": "reportingV3ConversionDetailsGet200Response",
+ "title": "reportingV3RetrievalDetailsGet200Response",
"type": "object",
"properties": {
"organizationId": {
"type": "string",
- "description": "Merchant Id",
- "example": "testMerchantId",
+ "description": "Organization Id",
+ "example": "testrest",
"xml": {
- "name": "MerchantID",
+ "name": "MerchantId",
"attribute": true
}
},
"startTime": {
"type": "string",
- "format": "date-time",
+ "description": "Report Start Date (ISO 8601 Extended)",
"example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
"xml": {
"name": "ReportStartDate",
"attribute": true
@@ -104552,218 +110588,164 @@
},
"endTime": {
"type": "string",
- "format": "date-time",
+ "description": "Report Start Date (ISO 8601 Extended)",
"example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time",
"xml": {
"name": "ReportEndDate",
"attribute": true
}
},
- "conversionDetails": {
+ "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 of a merchant",
- "example": "1234567890",
- "xml": {
- "name": "MerchantReferenceNumber",
- "attribute": true
- }
+ "description": "Merchant Reference Number",
+ "example": "123"
},
- "conversionTime": {
+ "natureOfDispute": {
"type": "string",
- "format": "date-time",
- "description": "Date of conversion",
+ "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",
- "xml": {
- "name": "ConversionDate",
- "attribute": true
- }
+ "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": "Cybersource Transation request id",
- "example": "1234567890123456789012",
- "xml": {
- "name": "RequestID",
- "attribute": true
- }
+ "description": "Request Id",
+ "example": "5060113732046412501541"
},
- "originalDecision": {
+ "responseDueTime": {
"type": "string",
- "description": "Original decision",
- "example": "REVIEW",
- "xml": {
- "name": "OriginalDecision"
- }
+ "description": "Response Due Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
},
- "newDecision": {
+ "time": {
"type": "string",
- "description": "New decision",
- "example": "ACCEPT",
- "xml": {
- "name": "NewDecision"
- }
+ "description": "Retrieval Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
},
- "reviewer": {
+ "actionDescription": {
"type": "string",
- "description": "User name of the reviewer",
- "example": "testuserId",
- "xml": {
- "name": "Reviewer"
- }
+ "description": "Retrieval Action Description",
+ "example": "Financial transaction"
},
- "reviewerComments": {
+ "customerId": {
"type": "string",
- "description": "Comments of the reviewer",
- "example": "Verified order.",
- "xml": {
- "name": "ReviewerComments"
- }
+ "description": "Customer Id",
+ "example": "Customer Id"
+ },
+ "reasonCode": {
+ "type": "string",
+ "description": "Retrieval Reason Code",
+ "example": "1050"
},
- "queue": {
+ "representmentCPTime": {
"type": "string",
- "description": "Name of the queue",
- "example": "Review Queue",
- "xml": {
- "name": "Queue"
- }
+ "description": "Representment CP Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
},
- "profile": {
+ "applications": {
"type": "string",
- "description": "Name of the profile",
- "example": "Test Profile",
- "xml": {
- "name": "Profile"
- }
+ "description": "ICS Request Applications",
+ "example": "ics_auth"
},
- "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"
- }
+ "eventRequestedTime": {
+ "type": "string",
+ "description": "Event Request Date",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
}
},
"xml": {
- "name": "Conversion"
+ "name": "Request",
+ "wrapped": true
}
}
}
},
"xml": {
- "name": "Report"
+ "name": "Report",
+ "wrapped": true
}
}
- },
- "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": {
+ "/reporting/v3/interchange-clearing-level-details": {
"get": {
"tags": [
- "Net Fundings"
+ "Interchange Clearing Level Details"
],
- "summary": "Get Netfunding Information for an Account or a Merchant",
- "description": "Get Netfunding information for an account or a merchant.",
- "operationId": "getNetFundingDetails",
+ "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",
@@ -104806,628 +110788,751 @@
"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",
+ "title": "reportingV3InterchangeClearingLevelDetailsGet200Response",
"type": "object",
"properties": {
- "startTime": {
+ "startDate": {
"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",
+ "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",
- "xml": {
- "attribute": true
- }
+ "format": "date-time"
},
- "endTime": {
+ "endDate": {
"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
- }
+ "description": "Valid report Start Date in **ISO 8601 format**.\n",
+ "example": "2017-10-01T10:10:10+05:00",
+ "format": "date-time"
},
- "netFundingSummaries": {
+ "interchangeClearingLevelDetails": {
"type": "array",
- "description": "List of Netfunding summary objects",
+ "description": "List of InterchangeClearingLevelDetail",
"items": {
"type": "object",
"properties": {
- "type": {
+ "requestId": {
"type": "string",
- "description": "Valid values:\n- PURCHASES\n- REFUNDS\n- FEES\n- CHARGEBACKS\n",
- "example": "PURCHASES"
+ "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"
},
- "conveyedCount": {
- "type": "integer",
- "example": 10
+ "paymentSubTypeDescription": {
+ "type": "string",
+ "example": "Visa"
},
- "conveyedAmount": {
+ "transactionTime": {
"type": "string",
- "example": "100.50"
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
},
- "settledCount": {
- "type": "integer",
- "example": 10
+ "processedTime": {
+ "type": "string",
+ "format": "date-time",
+ "example": "2017-10-01T10:10:10+05:00"
},
- "fundedCount": {
- "type": "integer",
- "example": 10
+ "transactionType": {
+ "type": "string",
+ "example": "Sale"
},
- "fundedAmount": {
+ "amount": {
"type": "string",
- "example": "150.50"
+ "example": "90.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": {
+ },
+ "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"
},
- "value": {
+ "interchangeAmount": {
"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": {
+ "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"
},
- "value": {
+ "conversionRate": {
"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": {
+ "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"
},
- "value": {
+ "creditDeltaIndicator": {
"type": "string",
- "example": "10.01"
+ "example": "N"
+ },
+ "feeCategory": {
+ "type": "string",
+ "example": "A"
+ },
+ "applicationName": {
+ "type": "string",
+ "example": "ics_auth"
}
},
"xml": {
- "name": "Amount"
+ "name": "Request"
}
- },
- "xml": {
- "name": "totalFees",
- "wrapped": true
}
- },
- "totalChargebacks": {
+ }
+ },
+ "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",
- "description": "List of total chargebacks currency wise",
"items": {
"type": "object",
- "required": [
- "currency",
- "value"
- ],
"properties": {
- "currency": {
+ "fileId": {
"type": "string",
- "description": "Valid ISO 4217 ALPHA-3 currency code",
- "example": "USD"
+ "description": "Unique identifier of a file",
+ "example": "AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B"
},
- "value": {
+ "name": {
"type": "string",
- "example": "10.01"
+ "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"
+ }
}
},
- "xml": {
- "name": "Amount"
+ "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"
+ }
+ }
+ }
}
- },
- "xml": {
- "name": "totalChargebacks",
- "wrapped": true
}
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "title": "V1FilesGet400Response",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code"
},
- "netTotal": {
+ "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": "List of new total currency wise",
+ "description": "Error fields List",
"items": {
"type": "object",
- "required": [
- "currency",
- "value"
- ],
"properties": {
- "currency": {
+ "path": {
"type": "string",
- "description": "Valid ISO 4217 ALPHA-3 currency code",
- "example": "USD"
+ "description": "Path of the failed property"
},
- "value": {
+ "message": {
"type": "string",
- "example": "10.01"
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
}
},
- "xml": {
- "name": "Amount"
- }
- },
- "xml": {
- "name": "netTotal",
- "wrapped": true
+ "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"
}
}
},
- "400": {
- "description": "Invalid request",
+ "401": {
+ "description": "Ok",
"schema": {
- "title": "reportingV3NetFundingsGet400Response",
+ "title": "V1FileDetailsGet401Response",
"type": "object",
"required": [
- "submitTimeUtc",
- "reason",
- "message",
- "details"
+ "code",
+ "message"
],
"properties": {
- "submitTimeUtc": {
+ "code": {
"type": "string",
- "format": "date-time",
- "description": "Time of request in UTC. \n",
- "example": "2016-08-11T22:47:57Z"
+ "description": "Error code"
},
- "reason": {
+ "message": {
"type": "string",
- "description": "Documented reason code\n",
- "example": "INVALID_DATA"
+ "description": "Error message"
},
- "message": {
+ "localizationKey": {
"type": "string",
- "description": "Short descriptive message to the user.\n",
- "example": "One or more fields contains invalid data"
+ "description": "Localization Key Name"
},
- "details": {
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
"type": "array",
- "description": "Error field list\n",
+ "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "field": {
+ "path": {
"type": "string",
- "description": "Field in request that caused an error\n"
+ "description": "Path of the failed property"
},
- "reason": {
+ "message": {
"type": "string",
- "description": "Documented reason code\n"
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
}
},
- "description": "Provides failed validation input field detail\n"
+ "description": "Provide validation failed input field details"
}
}
},
- "description": "HTTP status code for client application"
- }
- },
- "401": {
- "description": "Unauthorized",
- "schema": {
- "title": "reportingV3NetFundingsGet401Response"
- }
- },
- "403": {
- "description": "Forbidden",
- "schema": {
- "title": "reportingV3NetFundingsGet403Response"
+ "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": "Report not found",
- "schema": {
- "title": "reportingV3NetFundingsGet404Response"
- }
- },
- "500": {
- "description": "Internal Server Error",
+ "description": "Files Info not found",
"schema": {
- "title": "reportingV3NetFundingsGet500Response",
+ "title": "V1FileDetailsGet404Response",
"type": "object",
"required": [
- "submitTimeUtc",
- "reason",
- "message",
- "details"
+ "code",
+ "message"
],
"properties": {
- "submitTimeUtc": {
+ "code": {
"type": "string",
- "format": "date-time",
- "description": "Time of request in UTC. \n",
- "example": "2016-08-11T22:47:57Z"
+ "description": "Error code"
},
- "reason": {
+ "message": {
"type": "string",
- "description": "Documented reason code\n",
- "example": "INVALID_DATA"
+ "description": "Error message"
},
- "message": {
+ "localizationKey": {
"type": "string",
- "description": "Short descriptive message to the user.\n",
- "example": "One or more fields contains invalid data"
+ "description": "Localization Key Name"
},
- "details": {
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
"type": "array",
- "description": "Error field list\n",
+ "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "field": {
+ "path": {
"type": "string",
- "description": "Field in request that caused an error\n"
+ "description": "Path of the failed property"
},
- "reason": {
+ "message": {
"type": "string",
- "description": "Documented reason code\n"
+ "description": "Error description about validation failed field"
+ },
+ "localizationKey": {
+ "type": "string",
+ "description": "Localized Key Name"
}
},
- "description": "Provides failed validation input field detail\n"
+ "description": "Provide validation failed input field details"
}
}
},
- "description": "HTTP status code for client application"
+ "description": "Error Bean"
},
"examples": {
"application/json": {
- "code": "SERVER_ERROR",
+ "code": "RESOURCE_NOTFOUND",
"correlationId": null,
- "detail": null,
- "fields": [],
- "localizationKey": "cybsapi.server.error",
- "message": "Error encountered while processing request"
+ "detail": "The requested resource is not found. Please try again later.",
+ "localizationKey": "cybsapi.resource.notfound",
+ "message": "Files Info not found for requested input values"
}
}
- }
- }
- }
- },
- "/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",
+ "description": "Internal Server Error",
"schema": {
- "title": "reportingV3ChargebackSummariesGet200Response",
+ "title": "V1FileDetailsGet500Response",
"type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
"properties": {
- "organizationId": {
+ "code": {
"type": "string",
- "description": "Organization Id",
- "example": "testrest",
- "xml": {
- "name": "MerchantId",
- "attribute": true
- }
+ "description": "Error code"
},
- "startTime": {
+ "message": {
"type": "string",
- "description": "Report Start Date",
- "example": "2017-10-01T10:10:10+05:00",
- "format": "date-time",
- "xml": {
- "name": "ReportStartDate",
- "attribute": true
- }
+ "description": "Error message"
},
- "endTime": {
+ "localizationKey": {
+ "type": "string",
+ "description": "Localization Key Name"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
"type": "string",
- "description": "Report Start Date",
- "example": "2017-10-01T10:10:10+05:00",
- "xml": {
- "name": "ReportEndDate",
- "attribute": true
- }
+ "description": "Error Detail"
},
- "chargebackSummaries": {
+ "fields": {
"type": "array",
- "description": "List of Summary values",
+ "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "count": {
- "type": "number",
- "description": "Chargeback summary list count",
- "example": "8"
+ "path": {
+ "type": "string",
+ "description": "Path of the failed property"
},
- "time": {
+ "message": {
"type": "string",
- "description": "Summary Date",
- "example": "2018-01-04T11:33:06.000-0800",
- "format": "date-time"
+ "description": "Error description about validation failed field"
},
- "accountId": {
+ "localizationKey": {
"type": "string",
- "description": "Account Id",
- "example": "testrest_acct"
+ "description": "Localized Key Name"
}
},
- "xml": {
- "name": "Request",
- "wrapped": true
- }
+ "description": "Provide validation failed input field details"
}
}
},
- "xml": {
- "name": "Report",
- "wrapped": true
+ "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"
}
}
}
}
}
},
- "/reporting/v3/chargeback-details": {
+ "/sfs/v1/files/{fileId}": {
"get": {
"tags": [
- "Chargeback Details"
+ "SecureFileShare"
],
- "summary": "Get Chargeback Details",
- "description": "Chargeback Detail Report Description",
- "operationId": "getChargebackDetails",
+ "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": "Reporting",
+ "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,
- "accessLevel": "code",
"x-custom-headers": {
"accept": [
- "application/hal+json",
- "application/xml"
+ "text/csv",
+ "application/xml",
+ "application/pdf"
]
}
},
"x-queryParameterDefaults": {
- "organizationId": "testrest",
- "startTime": "2019-08-01T00:00:00Z",
- "endTime": "2019-09-01T23:59:59Z"
+ "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/hal+json",
- "application/xml"
+ "application/xml",
+ "text/csv",
+ "application/pdf"
+ ],
+ "consumes": [
+ "*/*;charset=utf-8"
],
"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": "fileId",
+ "in": "path",
+ "description": "Unique identifier for each file",
"required": true,
- "type": "string",
- "format": "date-time"
+ "type": "string"
},
{
"name": "organizationId",
"in": "query",
- "description": "Valid Organization Id",
+ "description": "Valid Cybersource Organization Id",
"pattern": "[a-zA-Z0-9-_]+",
"required": false,
"type": "string",
@@ -105437,1422 +111542,2323 @@
],
"responses": {
"200": {
- "description": "Ok",
+ "description": "OK"
+ },
+ "400": {
+ "description": "Invalid Request",
"schema": {
- "title": "reportingV3ChargebackDetailsGet200Response",
"type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
"properties": {
- "organizationId": {
+ "code": {
"type": "string",
- "description": "Organization Id",
- "example": "testrest",
- "xml": {
- "name": "MerchantId",
- "attribute": true
- }
+ "description": "Error code"
},
- "startTime": {
+ "message": {
"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": "Error message"
},
- "endTime": {
+ "localizationKey": {
"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": "Localization Key Name"
},
- "chargebackDetails": {
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation Id"
+ },
+ "detail": {
+ "type": "string",
+ "description": "Error Detail"
+ },
+ "fields": {
"type": "array",
- "description": "List of Chargeback Details list.",
+ "description": "Error fields 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": {
+ "path": {
"type": "string",
- "description": "ICS Request Applications",
- "example": "ics_bill"
+ "description": "Path of the failed property"
},
- "eventRequestedTime": {
+ "message": {
"type": "string",
- "description": "Event Request Date",
- "example": "2017-10-01T10:10:10+05:00",
- "format": "date-time"
+ "description": "Error description about validation failed field"
},
- "preDisputeFlag": {
+ "localizationKey": {
"type": "string",
- "description": "Pre Dispute Flag",
- "example": "N"
+ "description": "Localized Key Name"
}
},
- "xml": {
- "name": "Request",
- "wrapped": true
- }
+ "description": "Provide validation failed input field details"
}
}
},
- "xml": {
- "name": "Report",
- "wrapped": true
- }
+ "description": "Error Bean"
}
+ },
+ "404": {
+ "description": "No Reports Found"
}
}
}
},
- "/reporting/v3/retrieval-summaries": {
- "get": {
+ "/invoicing/v2/invoices": {
+ "post": {
"tags": [
- "Retrieval Summaries"
+ "Invoices"
],
- "summary": "Get Retrieval Summaries",
- "description": "Retrieval Summary Report Description",
- "operationId": "getRetrievalSummary",
+ "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.\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.",
+ "operationId": "createInvoice",
"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": "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/xml"
+ "application/json;charset=utf-8",
+ "application/hal+json;charset=utf-8"
],
"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": "createInvoiceRequest",
+ "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",
+ "required": [
+ "invoiceInformation",
+ "orderInformation"
+ ],
+ "properties": {
+ "clientReferenceInformation": {
+ "type": "object",
+ "properties": {
+ "partner": {
+ "type": "object",
+ "properties": {
+ "developerId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n"
+ },
+ "solutionId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n"
+ }
+ }
+ }
+ }
+ },
+ "customerInformation": {
+ "type": "object",
+ "description": "Contains all of the customer-related fields for the invoice.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Payer name for the invoice."
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "merchantCustomerId": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n"
+ },
+ "company": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "required": [
+ "dueDate",
+ "description"
+ ],
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "sendImmediately": {
+ "type": "boolean",
+ "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.",
+ "default": false
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "deliveryMode": {
+ "type": "string",
+ "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "required": [
+ "amountDetails"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "required": [
+ "currency",
+ "totalAmount"
+ ],
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total discount amount applied to the order.\n"
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "2623.64",
+ "currency": "USD",
+ "discountAmount": "126.08",
+ "discountPercent": "5.0",
+ "subAmount": "2749.72",
+ "minimumPartialAmount": "20",
+ "taxDetails": {
+ "type": "State Tax",
+ "amount": "208.04",
+ "rate": "8.25"
+ },
+ "freight": {
+ "amount": "20.00",
+ "taxable": true,
+ "taxRate": "10"
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
}
],
"responses": {
- "200": {
- "description": "Ok",
+ "201": {
+ "description": "Created.",
"schema": {
- "title": "reportingV3RetrievalSummariesGet200Response",
+ "title": "invoicingV2InvoicesPost201Response",
"type": "object",
"properties": {
- "organizationId": {
+ "_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"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/98753",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/v2/invoices/98753",
+ "method": "PUT"
+ },
+ "deliver": {
+ "href": "/v2/invoices/98753/delivery",
+ "method": "POST"
+ },
+ "cancel": {
+ "href": "/v2/invoices/98753/cancelation",
+ "method": "POST"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "SENT",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "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": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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": "Organization Id",
- "example": "testrest",
- "xml": {
- "name": "MerchantId",
- "attribute": true
- }
+ "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n- PENDING\n"
},
- "startTime": {
+ "reason": {
"type": "string",
- "description": "Report Start Date",
- "example": "2017-10-01T10:10:10+05:00",
- "format": "date-time",
- "xml": {
- "name": "ReportStartDate",
- "attribute": true
- }
+ "description": "The reason of the status.\n\nPossible values:\n- ACCEPTED\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."
},
- "retrievalSummaries": {
+ "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
}
}
}
},
- "xml": {
- "name": "Report",
- "wrapped": true
+ "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."
}
}
- }
- }
- }
- },
- "/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",
+ "400": {
+ "description": "Invalid request.",
"schema": {
- "title": "reportingV3RetrievalDetailsGet200Response",
+ "title": "invoicingV2InvoicesPost400Response",
"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 (ISO 8601 Extended)",
- "example": "2017-10-01T10:10:10+05:00",
- "format": "date-time",
- "xml": {
- "name": "ReportStartDate",
- "attribute": true
- }
+ "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
},
- "endTime": {
+ "reason": {
"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 reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n"
},
- "retrievalDetails": {
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
"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": {
+ "field": {
"type": "string",
- "description": "ICS Request Applications",
- "example": "ics_auth"
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
},
- "eventRequestedTime": {
+ "reason": {
"type": "string",
- "description": "Event Request Date",
- "example": "2017-10-01T10:10:10+05:00",
- "format": "date-time"
+ "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
+ "example": {
+ "submitTimeUtc": "2019-07-01T21:40:10Z",
+ "status": "BADREQUEST",
+ "reason": "VALIDATION_ERROR",
+ "message": "Field validation errors.",
+ "details": [
+ {
+ "field": "customerInformation.email",
+ "reason": "Invalid email"
+ }
+ ]
}
}
- }
- }
- }
- },
- "/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",
+ "404": {
+ "description": "The specified resource is not found.",
"schema": {
- "title": "reportingV3InterchangeClearingLevelDetailsGet200Response",
+ "title": "invoicingV2InvoicesPost404Response",
"type": "object",
"properties": {
- "startDate": {
+ "submitTimeUtc": {
"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"
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
},
- "endDate": {
+ "status": {
"type": "string",
- "description": "Valid report Start Date in **ISO 8601 format**.\n",
- "example": "2017-10-01T10:10:10+05:00",
- "format": "date-time"
+ "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n"
},
- "interchangeClearingLevelDetails": {
+ "reason": {
+ "type": "string",
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
+ },
+ "message": {
+ "type": "string",
+ "description": "The detail message related to the status and reason listed above."
+ },
+ "details": {
"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": {
+ "field": {
"type": "string",
- "example": "A"
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
},
- "applicationName": {
+ "reason": {
"type": "string",
- "example": "ics_auth"
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
}
- },
- "xml": {
- "name": "Request"
}
}
}
},
- "xml": {
- "name": "Report"
+ "example": {
+ "submitTimeUtc": "2019-07-01T21:36:29Z",
+ "status": "NOTFOUND",
+ "reason": "NOT_FOUND",
+ "message": "Invoice does not exist."
+ }
+ }
+ },
+ "502": {
+ "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 itemized invoice",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-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,
+ "taxRate": "10"
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create and send simple invoice immediately",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world"
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "2623.64",
+ "currency": "USD",
+ "discountAmount": "126.08",
+ "discountPercent": "5.0",
+ "subAmount": "2749.72",
+ "minimumPartialAmount": "20.00",
+ "taxDetails": {
+ "type": "State Tax",
+ "amount": "208.04",
+ "rate": "8.25"
+ },
+ "freight": {
+ "amount": "20.00",
+ "taxable": false
+ }
+ }
+ }
+ }
+ },
+ "example2": {
+ "summary": "Create an invoice and assign it a specific invoice number",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world"
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "123",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "2623.64",
+ "currency": "USD",
+ "discountAmount": "126.08",
+ "discountPercent": "5.0",
+ "subAmount": "2749.72",
+ "minimumPartialAmount": "20.00",
+ "taxDetails": {
+ "type": "State Tax",
+ "amount": "208.04",
+ "rate": "8.25"
+ },
+ "freight": {
+ "amount": "20.00",
+ "taxable": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create an invoice without sending it",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world"
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
+ "allowPartialPayments": true,
+ "deliveryMode": "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": false
+ }
+ }
}
}
}
}
- }
- },
- "/sfs/v1/file-details": {
+ },
"get": {
"tags": [
- "SecureFileShare"
+ "Invoices"
],
- "summary": "Get List of Files",
- "description": "Get list of files and it's information of them available inside the report directory",
- "operationId": "getFileDetail",
+ "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": "Secure_File_Share",
- "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html"
+ "categoryTag": "Invoicing",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html"
},
"x-queryParameterDefaults": {
- "organizationId": "testrest",
- "startDate": "2020-10-20",
- "endDate": "2030-01-01",
- "name": ""
+ "offset": "0",
+ "limit": "5"
},
- "produces": [
- "application/hal+json"
- ],
"consumes": [
- "*/*;charset=utf-8"
+ "application/json;charset=utf-8"
+ ],
+ "produces": [
+ "application/json",
+ "application/hal+json",
+ "application/json;charset=utf-8",
+ "application/hal+json;charset=utf-8"
],
"parameters": [
{
- "name": "startDate",
+ "name": "offset",
"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",
+ "type": "integer",
"required": true,
- "type": "string",
- "format": "date"
+ "description": "Page offset number."
},
{
- "name": "endDate",
+ "name": "limit",
"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",
+ "type": "integer",
"required": true,
- "type": "string",
- "format": "date"
+ "description": "Maximum number of items you would like returned.",
+ "maximum": 1000
},
{
- "name": "organizationId",
+ "name": "status",
"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"
+ "description": "The status of the invoice.\n\nPossible values:\n - DRAFT\n - CREATED\n - SENT\n - PARTIAL\n - PAID\n - CANCELED\n"
}
],
"responses": {
"200": {
- "description": "Ok",
+ "description": "OK.",
"schema": {
- "title": "V1FileDetailsGet200Response",
+ "title": "invoicingV2InvoicesAllGet200Response",
"type": "object",
"properties": {
- "fileDetails": {
+ "_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."
+ }
+ }
+ }
+ }
+ },
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10: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": {
- "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"
+ "_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."
+ }
+ }
+ }
+ }
},
- "lastModifiedTime": {
+ "id": {
"type": "string",
- "format": "date-time",
- "description": "Date and time for the file in PST",
- "example": "2017-10-01T00:00:00+05:00"
+ "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"
},
- "date": {
+ "status": {
"type": "string",
- "format": "date",
- "description": "Date and time for the file in PST",
- "example": "2017-10-05"
+ "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n- PENDING\n"
},
- "mimeType": {
+ "createdDate": {
"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"
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
},
- "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": {
+ "customerInformation": {
"type": "object",
"properties": {
- "fileId": {
+ "name": {
"type": "string",
- "description": "Unique identifier for each file",
- "example": "AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B"
+ "maxLength": 100,
+ "description": "Payer name for the invoice."
},
- "href": {
+ "merchantCustomerId": {
"type": "string",
- "example": "/sfs/v1/files/AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B"
+ "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"
},
- "method": {
+ "expirationDate": {
"type": "string",
- "example": "GET"
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ }
+ }
}
}
}
}
}
}
+ },
+ "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"
+ }
+ },
+ "id": "98772",
+ "status": "DRAFT",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "merchantCustomerId": "1234"
+ },
+ "invoiceInformation": {
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "14249.56",
+ "currency": "USD"
+ }
+ }
+ },
+ {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/98771",
+ "method": "GET"
+ },
+ "deliver": {
+ "href": "/v2/invoices/A123/delivery",
+ "method": "POST"
+ },
+ "update": {
+ "href": "/v2/invoices/A123",
+ "method": "PUT"
+ },
+ "cancel": {
+ "href": "/v2/invoices/A123/cancelation",
+ "method": "POST"
+ }
+ },
+ "id": "98771",
+ "status": "DRAFT",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "invoiceInformation": {
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "14249.56",
+ "currency": "USD"
+ }
+ }
+ }
+ ]
}
}
},
"400": {
- "description": "Invalid request",
+ "description": "Invalid invoice status. The status should be one of: `DRAFT`, `CREATED`, `SENT`, `PARTIAL`, `PAID`, or `CANCELED`.",
"schema": {
- "title": "V1FilesGet400Response",
+ "title": "invoicingV2InvoicesAllGet400Response",
"type": "object",
- "required": [
- "code",
- "message"
- ],
"properties": {
- "code": {
- "type": "string",
- "description": "Error code"
- },
- "message": {
+ "submitTimeUtc": {
"type": "string",
- "description": "Error message"
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
},
- "localizationKey": {
+ "status": {
"type": "string",
- "description": "Localization Key Name"
+ "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
},
- "correlationId": {
+ "reason": {
"type": "string",
- "description": "Correlation Id"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n"
},
- "detail": {
+ "message": {
"type": "string",
- "description": "Error Detail"
+ "description": "The detail message related to the status and reason listed above."
},
- "fields": {
+ "details": {
"type": "array",
- "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "path": {
- "type": "string",
- "description": "Path of the failed property"
- },
- "message": {
+ "field": {
"type": "string",
- "description": "Error description about validation failed field"
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
},
- "localizationKey": {
+ "reason": {
"type": "string",
- "description": "Localized Key Name"
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
}
- },
- "description": "Provide validation failed input field details"
+ }
}
}
},
- "description": "Error Bean"
- },
- "examples": {
- "application/json": {
- "code": "VALIDATION_ERROR",
- "correlationId": null,
- "detail": null,
- "fields": [
+ "example": {
+ "submitTimeUtc": "2019-07-01T21:40:10Z",
+ "status": "BADREQUEST",
+ "reason": "VALIDATION_ERROR",
+ "message": "Field validation errors.",
+ "details": [
{
- "path": "startTime",
- "message": "Start date should not precede 18 months from current time in GMT",
- "localizationKey": null
+ "field": "customerInformation.email",
+ "reason": "Invalid email"
}
- ],
- "localizationKey": "cybsapi.validation.errors",
- "message": "Field validation errors"
+ ]
}
}
},
- "401": {
- "description": "Ok",
+ "404": {
+ "description": "No invoices found.",
"schema": {
- "title": "V1FileDetailsGet401Response",
+ "title": "invoicingV2InvoicesAllGet404Response",
"type": "object",
- "required": [
- "code",
- "message"
- ],
"properties": {
- "code": {
- "type": "string",
- "description": "Error code"
- },
- "message": {
+ "submitTimeUtc": {
"type": "string",
- "description": "Error message"
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
},
- "localizationKey": {
+ "status": {
"type": "string",
- "description": "Localization Key Name"
+ "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n"
},
- "correlationId": {
+ "reason": {
"type": "string",
- "description": "Correlation Id"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
- "detail": {
+ "message": {
"type": "string",
- "description": "Error Detail"
+ "description": "The detail message related to the status and reason listed above."
},
- "fields": {
+ "details": {
"type": "array",
- "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "path": {
- "type": "string",
- "description": "Path of the failed property"
- },
- "message": {
+ "field": {
"type": "string",
- "description": "Error description about validation failed field"
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
},
- "localizationKey": {
+ "reason": {
"type": "string",
- "description": "Localized Key Name"
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
}
- },
- "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"
+ "example": {
+ "submitTimeUtc": "2019-07-01T21:36:29Z",
+ "status": "NOTFOUND",
+ "reason": "NOT_FOUND",
+ "message": "Invoice does not exist."
}
}
},
- "404": {
- "description": "Files Info not found",
+ "502": {
+ "description": "Unexpected error.",
"schema": {
- "title": "V1FileDetailsGet404Response",
+ "title": "invoicingV2InvoicesAllGet502Response",
"type": "object",
- "required": [
- "code",
- "message"
- ],
"properties": {
- "code": {
+ "submitTimeUtc": {
"type": "string",
- "description": "Error code"
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` 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": "Error message"
+ "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": "/v2/invoices/A123",
+ "method": "GET"
+ },
+ "deliver": {
+ "href": "/v2/invoices/A123/delivery",
+ "method": "POST"
+ },
+ "update": {
+ "href": "/v2/invoices/A123",
+ "method": "PUT"
+ },
+ "cancel": {
+ "href": "/v2/invoices/A123/cancelation",
+ "method": "POST"
+ }
},
- "localizationKey": {
+ "id": "A123",
+ "submitTimeUtc": "2019-07-01T22:37:14Z",
+ "status": "PAID",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "23412",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "allowPartialPayments": true,
+ "paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc",
+ "deliveryMode": "email"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "11955.45",
+ "currency": "USD",
+ "balanceAmount": "0",
+ "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,
+ "taxRate": "10"
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ },
+ "invoiceHistory": [
+ {
+ "event": "PAYMENT",
+ "date": "2019-06-18T21:57:31.09Z",
+ "transactionDetails": {
+ "transactionId": "2155897958",
+ "amount": "11843.71"
+ }
+ },
+ {
+ "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",
- "description": "Localization Key Name"
+ "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"
},
- "correlationId": {
+ "submitTimeUtc": {
"type": "string",
- "description": "Correlation Id"
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
},
- "detail": {
+ "status": {
"type": "string",
- "description": "Error Detail"
+ "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n- PENDING\n"
},
- "fields": {
+ "customerInformation": {
+ "type": "object",
+ "description": "Contains all of the customer-related fields for the invoice.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Payer name for the invoice."
+ },
+ "email": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n"
+ },
+ "merchantCustomerId": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n"
+ },
+ "company": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 60,
+ "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "discountAmount": {
+ "example": "10.00",
+ "type": "string",
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
+ }
+ }
+ }
+ }
+ }
+ },
+ "invoiceHistory": {
"type": "array",
- "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "path": {
+ "event": {
"type": "string",
- "description": "Path of the failed property"
+ "description": "The event triggered for the invoice.\n\nPossible values:\n - `UNKNOWN`\n - `DRAFT`\n - `CREATE`\n - `UPDATE`\n - `SEND`\n - `RESEND`\n - `REMINDER`\n - `PAYMENT`\n - `CANCEL`\n - `PENDING`\n - `REJECTED`\n"
},
- "message": {
+ "date": {
"type": "string",
- "description": "Error description about validation failed field"
+ "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"
},
- "localizationKey": {
- "type": "string",
- "description": "Localized Key Name"
+ "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 / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ }
+ }
}
- },
- "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",
+ "400": {
+ "description": "Invoicing service is not enabled.",
"schema": {
- "title": "V1FileDetailsGet500Response",
+ "title": "invoicingV2InvoicesGet400Response",
"type": "object",
- "required": [
- "code",
- "message"
- ],
"properties": {
- "code": {
- "type": "string",
- "description": "Error code"
- },
- "message": {
+ "submitTimeUtc": {
"type": "string",
- "description": "Error message"
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
},
- "localizationKey": {
+ "status": {
"type": "string",
- "description": "Localization Key Name"
+ "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
},
- "correlationId": {
+ "reason": {
"type": "string",
- "description": "Correlation Id"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n"
},
- "detail": {
+ "message": {
"type": "string",
- "description": "Error Detail"
+ "description": "The detail message related to the status and reason listed above."
},
- "fields": {
+ "details": {
"type": "array",
- "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "path": {
- "type": "string",
- "description": "Path of the failed property"
- },
- "message": {
+ "field": {
"type": "string",
- "description": "Error description about validation failed field"
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
},
- "localizationKey": {
+ "reason": {
"type": "string",
- "description": "Localized Key Name"
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
}
- },
- "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"
+ "example": {
+ "submitTimeUtc": "2019-07-01T21:40:10Z",
+ "status": "BADREQUEST",
+ "reason": "VALIDATION_ERROR",
+ "message": "Field validation errors.",
+ "details": [
+ {
+ "field": "customerInformation.email",
+ "reason": "Invalid email"
+ }
+ ]
}
}
- }
- }
- }
- },
- "/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",
+ "404": {
+ "description": "Invoice does not exist.",
"schema": {
+ "title": "invoicingV2InvoicesGet404Response",
"type": "object",
- "required": [
- "code",
- "message"
- ],
"properties": {
- "code": {
- "type": "string",
- "description": "Error code"
- },
- "message": {
+ "submitTimeUtc": {
"type": "string",
- "description": "Error message"
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n"
},
- "localizationKey": {
+ "status": {
"type": "string",
- "description": "Localization Key Name"
+ "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n"
},
- "correlationId": {
+ "reason": {
"type": "string",
- "description": "Correlation Id"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
- "detail": {
+ "message": {
"type": "string",
- "description": "Error Detail"
+ "description": "The detail message related to the status and reason listed above."
},
- "fields": {
+ "details": {
"type": "array",
- "description": "Error fields List",
"items": {
"type": "object",
"properties": {
- "path": {
- "type": "string",
- "description": "Path of the failed property"
- },
- "message": {
+ "field": {
"type": "string",
- "description": "Error description about validation failed field"
+ "description": "This is the flattened JSON object field name/path that is either missing or invalid."
},
- "localizationKey": {
+ "reason": {
"type": "string",
- "description": "Localized Key Name"
+ "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
}
- },
- "description": "Provide validation failed input field details"
+ }
}
}
},
- "description": "Error Bean"
+ "example": {
+ "submitTimeUtc": "2019-07-01T21:36:29Z",
+ "status": "NOTFOUND",
+ "reason": "NOT_FOUND",
+ "message": "Invoice does not exist."
+ }
}
},
- "404": {
- "description": "No Reports Found"
+ "502": {
+ "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."
+ }
+ }
}
}
- }
- },
- "/invoicing/v2/invoices": {
- "post": {
+ },
+ "put": {
"tags": [
- "invoices"
+ "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",
+ "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"
@@ -106868,10 +113874,22 @@
],
"parameters": [
{
- "name": "createInvoiceRequest",
+ "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": {
+ "required": [
+ "invoiceInformation",
+ "orderInformation"
+ ],
"type": "object",
"properties": {
"customerInformation": {
@@ -106905,14 +113923,30 @@
}
}
},
- "invoiceInformation": {
+ "processingInformation": {
"type": "object",
- "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "description": "Contains processing information, such as collection details.",
"properties": {
- "invoiceNumber": {
- "type": "string",
- "description": "Invoice Number."
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
},
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "required": [
+ "dueDate",
+ "description"
+ ],
+ "description": "Contains the updatable invoice information.",
+ "properties": {
"description": {
"type": "string",
"maxLength": 2000,
@@ -106924,32 +113958,47 @@
"format": "date",
"description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
},
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
"sendImmediately": {
"type": "boolean",
- "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode."
+ "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode.",
+ "default": false
},
"allowPartialPayments": {
"type": "boolean",
- "description": "If set to `true`, the payer can make a partial invoice payment."
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
},
"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"
+ "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
}
}
},
"orderInformation": {
"type": "object",
- "description": "Contains all of the order-related fields for the invoice, such as the amount and line item details.",
+ "required": [
+ "amountDetails"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
"properties": {
"amountDetails": {
"type": "object",
- "description": "Contains all of the amount-related fields in the invoice.",
+ "required": [
+ "currency",
+ "totalAmount"
+ ],
+ "description": "Contains all of the amount-related fields.",
"properties": {
"totalAmount": {
"type": "string",
"maxLength": 19,
- "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -106957,27 +114006,29 @@
"description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
},
"discountAmount": {
+ "example": "10.00",
"type": "string",
"maxLength": 15,
"description": "Total discount amount applied to the order.\n"
},
"discountPercent": {
- "type": "number",
+ "example": "10",
+ "type": "string",
"maxLength": 7,
- "description": "The total discount percentage applied to the invoice."
+ "description": "The total discount percentage applied to the order."
},
"subAmount": {
- "type": "number",
+ "type": "string",
"maxLength": 25,
- "description": "Sub-amount of the invoice."
+ "description": "Sub-amount of the order."
},
"minimumPartialAmount": {
- "type": "number",
+ "type": "string",
"description": "The minimum partial amount required to pay the invoice."
},
"taxDetails": {
"type": "object",
- "description": "Contains all of the tax-related fields for the invoice.",
+ "description": "Contains all of the tax-related fields for the order.",
"properties": {
"type": {
"type": "string",
@@ -106997,7 +114048,7 @@
},
"freight": {
"type": "object",
- "description": "Contains all of the shipping-related fields for the invoice.",
+ "description": "Contains all of the shipping-related fields for the order.",
"properties": {
"amount": {
"type": "string",
@@ -107019,10 +114070,11 @@
},
"lineItems": {
"type": "array",
+ "description": "List of the line items from the order.",
"maxItems": 30,
"items": {
"type": "object",
- "description": "List of the line items from the order, which are included in an invoice.",
+ "description": "Line item from the order.",
"properties": {
"productSku": {
"type": "string",
@@ -107047,11 +114099,13 @@
"description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
},
"discountAmount": {
+ "example": "10.00",
"type": "string",
"maxLength": 13,
"description": "Discount applied to the item."
},
- "discountRate": {
+ "discountPercent": {
+ "example": "10",
"type": "string",
"maxLength": 6,
"description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
@@ -107064,7 +114118,7 @@
"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"
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
},
"totalAmount": {
"type": "string",
@@ -107080,15 +114134,22 @@
"example": {
"customerInformation": {
"name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
"email": "tanya.lee@my-email.world",
"merchantCustomerId": "1234",
"company": {
"name": "ABC"
}
},
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
"invoiceInformation": {
"description": "This is a test invoice",
"dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
"sendImmediately": true,
"allowPartialPayments": true,
"deliveryMode": "email"
@@ -107100,7 +114161,7 @@
"discountAmount": "126.08",
"discountPercent": "5.0",
"subAmount": "2749.72",
- "minimumPartialAmount": "20",
+ "minimumPartialAmount": "20.00",
"taxDetails": {
"type": "State Tax",
"amount": "208.04",
@@ -107108,7 +114169,7 @@
},
"freight": {
"amount": "20.00",
- "taxable": true
+ "taxable": false
}
},
"lineItems": [
@@ -107130,10 +114191,10 @@
}
],
"responses": {
- "201": {
- "description": "Created.",
+ "200": {
+ "description": "OK.",
"schema": {
- "title": "invoicingV2InvoicesPost201Response",
+ "title": "invoicingV2InvoicesPut200Response",
"type": "object",
"properties": {
"_links": {
@@ -107237,6 +114298,22 @@
}
}
},
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
"invoiceInformation": {
"type": "object",
"description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
@@ -107256,9 +114333,16 @@
"format": "date",
"description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
},
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
"allowPartialPayments": {
"type": "boolean",
- "description": "If set to `true`, the payer can make a partial invoice payment."
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
},
"paymentLink": {
"type": "string",
@@ -107266,22 +114350,22 @@
},
"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"
+ "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
}
}
},
"orderInformation": {
"type": "object",
- "description": "Contains all of the order-related fields for the invoice.",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
"properties": {
"amountDetails": {
"type": "object",
- "description": "Contains all of the amount-related fields in the invoice.",
+ "description": "Contains all of the amount-related fields.",
"properties": {
"totalAmount": {
"type": "string",
"maxLength": 19,
- "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -107299,22 +114383,22 @@
"description": "Total discount amount applied to the order.\n"
},
"discountPercent": {
- "type": "number",
+ "type": "string",
"maxLength": 7,
- "description": "The total discount percentage applied to the invoice."
+ "description": "The total discount percentage applied to the order."
},
"subAmount": {
- "type": "number",
+ "type": "string",
"maxLength": 25,
- "description": "Sub-amount of the invoice."
+ "description": "Sub-amount of the order."
},
"minimumPartialAmount": {
- "type": "number",
+ "type": "string",
"description": "The minimum partial amount required to pay the invoice."
},
"taxDetails": {
"type": "object",
- "description": "Contains all of the tax-related fields for the invoice.",
+ "description": "Contains all of the tax-related fields for the order.",
"properties": {
"type": {
"type": "string",
@@ -107334,7 +114418,7 @@
},
"freight": {
"type": "object",
- "description": "Contains all of the shipping-related fields for the invoice.",
+ "description": "Contains all of the shipping-related fields for the order.",
"properties": {
"amount": {
"type": "string",
@@ -107356,10 +114440,11 @@
},
"lineItems": {
"type": "array",
+ "description": "List of the line items from the order.",
"maxItems": 30,
"items": {
"type": "object",
- "description": "List of the line items from the order, which are included in an invoice.",
+ "description": "Line item from the order.",
"properties": {
"productSku": {
"type": "string",
@@ -107384,11 +114469,13 @@
"description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
},
"discountAmount": {
+ "example": "10.00",
"type": "string",
"maxLength": 13,
"description": "Discount applied to the item."
},
- "discountRate": {
+ "discountPercent": {
+ "example": "10",
"type": "string",
"maxLength": 6,
"description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
@@ -107401,7 +114488,7 @@
"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"
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
},
"totalAmount": {
"type": "string",
@@ -107417,37 +114504,51 @@
"example": {
"_links": {
"self": {
- "href": "/rest/v2/invoices/98753",
+ "href": "/v2/invoices/98753",
"method": "GET"
},
+ "deliver": {
+ "href": "/v2/invoices/A123/delivery",
+ "method": "POST"
+ },
"update": {
- "href": "/rest/v2/invoices/98753",
+ "href": "/v2/invoices/A123",
"method": "PUT"
},
- "send": {
- "href": "/rest/v2/invoices/98753/delivery",
- "method": "POST"
- },
"cancel": {
- "href": "/rest/v2/invoices/98753/cancelation",
+ "href": "/v2/invoices/A123/cancelation",
"method": "POST"
}
},
"id": "98753",
"submitTimeUtc": "2019-06-28T19:48:06Z",
"status": "SENT",
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
"customerInformation": {
"name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
"email": "tanya.lee@my-email.world",
"merchantCustomerId": "1234",
"company": {
"name": "ABC"
}
},
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
"invoiceInformation": {
- "invoiceNumber": "98753",
+ "invoiceNumber": "23412",
"description": "This is a test invoice",
"dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "sendImmediately": true,
"allowPartialPayments": true,
"paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc",
"deliveryMode": "email"
@@ -107468,7 +114569,7 @@
},
"freight": {
"amount": "20.00",
- "taxable": true
+ "taxable": false
}
},
"lineItems": [
@@ -107488,57 +114589,10 @@
}
}
},
- "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.",
+ "description": "Field validation errors.",
"schema": {
- "title": "invoicingV2InvoicesPost400Response",
+ "title": "invoicingV2InvoicesPut400Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -107551,7 +114605,7 @@
},
"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"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n"
},
"message": {
"type": "string",
@@ -107589,9 +114643,9 @@
}
},
"404": {
- "description": "The specified resource is not found.",
+ "description": "Invoice does not exist.",
"schema": {
- "title": "invoicingV2InvoicesPost404Response",
+ "title": "invoicingV2InvoicesPut404Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -107604,7 +114658,7 @@
},
"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"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
"message": {
"type": "string",
@@ -107635,10 +114689,10 @@
}
}
},
- "default": {
+ "502": {
"description": "Unexpected error.",
"schema": {
- "title": "invoicingV2InvoicesPost502Response",
+ "title": "invoicingV2InvoicesPut502Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -107669,20 +114723,26 @@
},
"x-example": {
"example0": {
- "summary": "Create a draft invoice",
+ "summary": "Update an invoice",
"value": {
"customerInformation": {
"name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
"email": "tanya.lee@my-email.world",
"merchantCustomerId": "1234",
"company": {
"name": "ABC"
}
},
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
"invoiceInformation": {
- "description": "This is a test invoice",
- "dueDate": "2019-07-11",
- "sendImmediately": false,
+ "description": "This is an updated test invoice",
+ "dueDate": "2019-07-15",
+ "expirationDate": "2028-08-11",
"allowPartialPayments": true,
"deliveryMode": "none"
},
@@ -107693,7 +114753,7 @@
"discountAmount": "126.08",
"discountPercent": "5.0",
"subAmount": "2749.72",
- "minimumPartialAmount": "20.00",
+ "minimumPartialAmount": "200.00",
"taxDetails": {
"type": "State Tax",
"amount": "208.00",
@@ -107721,125 +114781,20 @@
}
},
"example1": {
- "summary": "Create and send the invoice immediately",
+ "summary": "Update a simple invoice",
"value": {
"customerInformation": {
"name": "Tanya Lee",
- "email": "tanya.lee@my-email.world",
- "merchantCustomerId": "1234",
- "company": {
- "name": "ABC"
- }
+ "email": "tanya.lee@my-email.world"
},
- "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"
- }
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
},
"invoiceInformation": {
- "invoiceNumber": "A123",
"description": "This is a test invoice",
"dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
"sendImmediately": true,
"allowPartialPayments": true,
"deliveryMode": "none"
@@ -107859,42 +114814,27 @@
},
"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"
+ "taxable": false
}
- ]
+ }
}
}
}
}
- },
- "get": {
+ }
+ },
+ "/invoicing/v2/invoices/{id}/delivery": {
+ "post": {
"tags": [
- "invoices"
+ "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",
+ "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"
},
- "x-queryParameterDefaults": {
- "offset": "0",
- "limit": "5"
- },
"consumes": [
"application/json;charset=utf-8"
],
@@ -107906,32 +114846,32 @@
],
"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",
+ "name": "id",
+ "in": "path",
"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"
+ "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": "invoicingV2InvoicesAllGet200Response",
+ "title": "invoicingV2InvoicesSend200Response",
"type": "object",
"properties": {
"_links": {
@@ -107950,7 +114890,7 @@
}
}
},
- "next": {
+ "update": {
"type": "object",
"properties": {
"href": {
@@ -107963,7 +114903,7 @@
}
}
},
- "previous": {
+ "deliver": {
"type": "object",
"properties": {
"href": {
@@ -107975,132 +114915,262 @@
"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": {
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "invoiceInformation": {
+ "type": "object",
+ "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "properties": {
+ "invoiceNumber": {
+ "type": "string",
+ "description": "Invoice Number."
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The description included in the invoice."
+ },
+ "dueDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
+ "allowPartialPayments": {
+ "type": "boolean",
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
+ },
+ "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 this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "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": "string",
+ "maxLength": 7,
+ "description": "The total discount percentage applied to the order."
+ },
+ "subAmount": {
+ "type": "string",
+ "maxLength": 25,
+ "description": "Sub-amount of the order."
+ },
+ "minimumPartialAmount": {
+ "type": "string",
+ "description": "The minimum partial amount required to pay the invoice."
+ },
+ "taxDetails": {
+ "type": "object",
+ "description": "Contains all of the tax-related fields for the order.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n"
+ },
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n"
+ },
+ "rate": {
+ "type": "string",
+ "maxLength": 6,
+ "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n"
+ }
+ }
+ },
+ "freight": {
+ "type": "object",
+ "description": "Contains all of the shipping-related fields for the order.",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n"
+ },
+ "taxable": {
+ "type": "boolean",
+ "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nPossible values:\n - **true**\n - **false**\n"
+ },
+ "taxRate": {
+ "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n",
+ "type": "string",
+ "maxLength": 7
+ }
+ }
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
"type": "object",
+ "description": "Line item from the order.",
"properties": {
- "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."
- }
- }
+ "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"
},
- "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."
- }
- }
+ "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"
},
- "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."
- }
- }
+ "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"
},
- "cancel": {
- "type": "object",
- "properties": {
- "href": {
- "type": "string",
- "description": "This is the endpoint of the resource that was created by the successful request."
- },
- "method": {
- "type": "string",
- "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource."
- }
- }
- }
- }
- },
- "id": {
- "type": "string",
- "maxLength": 26,
- "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n"
- },
- "status": {
- "type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n- PENDING\n"
- },
- "customerInformation": {
- "type": "object",
- "properties": {
- "name": {
+ "unitPrice": {
"type": "string",
- "maxLength": 100,
- "description": "Payer name for the invoice."
+ "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"
},
- "merchantCustomerId": {
+ "discountAmount": {
+ "example": "10.00",
"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": {
+ "maxLength": 13,
+ "description": "Discount applied to the item."
+ },
+ "discountPercent": {
+ "example": "10",
"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"
- }
- }
+ "maxLength": 6,
+ "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
+ },
+ "taxAmount": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n"
+ },
+ "taxRate": {
+ "type": "string",
+ "maxLength": 7,
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
+ },
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 13,
+ "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n"
}
}
}
@@ -108111,109 +115181,88 @@
"example": {
"_links": {
"self": {
- "href": "/v2/invoices/?offset=1&limit=2&status=draft",
+ "href": "/v2/invoices/51",
"method": "GET"
},
- "next": {
- "href": "/v2/invoices/?offset=3&limit=2&status=draft",
- "method": "GET"
+ "update": {
+ "href": "/v2/invoices/51",
+ "method": "PUT"
},
- "previous": {
- "href": "/v2/invoices/?offset=0&limit=2&status=draft",
- "method": "GET"
+ "deliver": {
+ "href": "/v2/invoices/51/delivery",
+ "method": "POST"
+ },
+ "cancel": {
+ "href": "/v2/invoices/51/cancelation",
+ "method": "POST"
}
},
- "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"
+ "id": "51",
+ "submitTimeUtc": "2020-03-12T21:15:07Z",
+ "status": "SENT",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "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"
},
- "orderInformation": {
- "amountDetails": {
- "totalAmount": "14249.56",
- "currency": "USD"
- }
+ "freight": {
+ "amount": "20.00",
+ "taxable": false
}
},
- {
- "_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"
- }
+ "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": "Invalid invoice status. The status should be one of: `DRAFT`, `CREATED`, `SENT`, `PARTIAL`, `PAID`, `CANCELED` or `PENDING`.",
+ "description": "Requested action is not allowed.",
"schema": {
- "title": "invoicingV2InvoicesAllGet400Response",
+ "title": "invoicingV2InvoicesSend400Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -108226,7 +115275,7 @@
},
"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"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n"
},
"message": {
"type": "string",
@@ -108264,9 +115313,9 @@
}
},
"404": {
- "description": "No invoices found.",
+ "description": "Invoice does not exist.",
"schema": {
- "title": "invoicingV2InvoicesAllGet404Response",
+ "title": "invoicingV2InvoicesSend404Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -108279,7 +115328,7 @@
},
"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"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
"message": {
"type": "string",
@@ -108310,10 +115359,10 @@
}
}
},
- "default": {
+ "502": {
"description": "Unexpected error.",
"schema": {
- "title": "invoicingV2InvoicesAllGet502Response",
+ "title": "invoicingV2InvoicesSend502Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -108344,14 +115393,14 @@
}
}
},
- "/invoicing/v2/invoices/{id}": {
- "get": {
+ "/invoicing/v2/invoices/{id}/cancelation": {
+ "post": {
"tags": [
- "invoices"
+ "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",
+ "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"
@@ -108374,107 +115423,25 @@
"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": "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"
- }
- ]
- },
+ "title": "invoicingV2InvoicesCancel200Response",
"type": "object",
"properties": {
"_links": {
@@ -108578,6 +115545,22 @@
}
}
},
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as collection details.",
+ "properties": {
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
+ },
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
"invoiceInformation": {
"type": "object",
"description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
@@ -108597,9 +115580,16 @@
"format": "date",
"description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
},
+ "expirationDate": {
+ "type": "string",
+ "maxLength": 10,
+ "format": "date",
+ "description": "Define an expiration date for the link.\n\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n"
+ },
"allowPartialPayments": {
"type": "boolean",
- "description": "If set to `true`, the payer can make a partial invoice payment."
+ "description": "If set to `true`, the payer can make a partial invoice payment.",
+ "default": false
},
"paymentLink": {
"type": "string",
@@ -108607,22 +115597,22 @@
},
"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"
+ "description": "If this field is set to 'None', an invoice will be generated with the status 'CREATED', but no email will be dispatched. \n\nPossible values: \n - `None` \n - `Email` \n \n"
}
}
},
"orderInformation": {
"type": "object",
- "description": "Contains all of the order-related fields for the invoice.",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
"properties": {
"amountDetails": {
"type": "object",
- "description": "Contains all of the amount-related fields in the invoice.",
+ "description": "Contains all of the amount-related fields.",
"properties": {
"totalAmount": {
"type": "string",
"maxLength": 19,
- "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -108640,22 +115630,22 @@
"description": "Total discount amount applied to the order.\n"
},
"discountPercent": {
- "type": "number",
+ "type": "string",
"maxLength": 7,
- "description": "The total discount percentage applied to the invoice."
+ "description": "The total discount percentage applied to the order."
},
"subAmount": {
- "type": "number",
+ "type": "string",
"maxLength": 25,
- "description": "Sub-amount of the invoice."
+ "description": "Sub-amount of the order."
},
"minimumPartialAmount": {
- "type": "number",
+ "type": "string",
"description": "The minimum partial amount required to pay the invoice."
},
"taxDetails": {
"type": "object",
- "description": "Contains all of the tax-related fields for the invoice.",
+ "description": "Contains all of the tax-related fields for the order.",
"properties": {
"type": {
"type": "string",
@@ -108675,7 +115665,7 @@
},
"freight": {
"type": "object",
- "description": "Contains all of the shipping-related fields for the invoice.",
+ "description": "Contains all of the shipping-related fields for the order.",
"properties": {
"amount": {
"type": "string",
@@ -108697,10 +115687,11 @@
},
"lineItems": {
"type": "array",
+ "description": "List of the line items from the order.",
"maxItems": 30,
"items": {
"type": "object",
- "description": "List of the line items from the order, which are included in an invoice.",
+ "description": "Line item from the order.",
"properties": {
"productSku": {
"type": "string",
@@ -108725,11 +115716,13 @@
"description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
},
"discountAmount": {
+ "example": "10.00",
"type": "string",
"maxLength": 13,
"description": "Discount applied to the item."
},
- "discountRate": {
+ "discountPercent": {
+ "example": "10",
"type": "string",
"maxLength": 6,
"description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n"
@@ -108742,7 +115735,7 @@
"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"
+ "description": "Valid range: 1% to 99%, with only whole percentage values accepted; values with additional\n\ndecimal places will be truncated\n\nFor processor-specific details, see the alternate_tax_amount, vat_rate, vat_tax_rate, local_tax, national_tax, vat_tax_amount or other_tax#_rate field descriptions in the Level II and Level III Processing Using the SCMP API Guide.\n"
},
"totalAmount": {
"type": "string",
@@ -108753,36 +115746,716 @@
}
}
}
+ }
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/v2/invoices/51",
+ "method": "GET"
+ }
+ },
+ "id": "51",
+ "submitTimeUtc": "2020-03-12T21:15:07Z",
+ "status": "CANCELED",
+ "customerInformation": {
+ "name": "Tanya Lee",
+ "firstName": "Tanya",
+ "lastName": "Lee",
+ "email": "tanya.lee@my-email.world",
+ "merchantCustomerId": "1234",
+ "company": {
+ "name": "ABC"
+ }
+ },
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "invoiceInformation": {
+ "invoiceNumber": "98753",
+ "description": "This is a test invoice",
+ "dueDate": "2019-07-11",
+ "expirationDate": "2028-08-11",
+ "allowPartialPayments": true,
+ "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": false
+ }
+ },
+ "lineItems": [
+ {
+ "productSku": "P653727383",
+ "productName": "First line item's name",
+ "unitPrice": "12.05",
+ "quantity": "20",
+ "discountAmount": "13.04",
+ "discountPercent": "5.0",
+ "taxAmount": "0.0",
+ "taxRate": "0.0",
+ "totalAmount": "247.86"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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- NOTFOUND\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."
+ }
+ }
+ },
+ "502": {
+ "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": [
+ "Invoice Settings"
+ ],
+ "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"
+ },
+ "shipTo": {
+ "description": "Collect the payers shipping address.",
+ "type": "boolean",
+ "default": false
+ },
+ "phoneNumber": {
+ "description": "Collect the payers phone number.",
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.",
+ "type": "boolean",
+ "default": false
+ },
+ "enableMerchantEmailNotifications": {
+ "description": "Whether you would like to receive payment notification for successful transaction",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ }
+ },
+ "example": {
+ "invoiceSettingsInformation": {
+ "merchantLogo": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2",
+ "merchantDisplayName": "string",
+ "customEmailMessage": "string",
+ "enableReminders": true,
+ "headerStyle": {
+ "fontColor": "#000001",
+ "backgroundColor": "#FFFFFF"
+ },
+ "deliveryLanguage": "fr-FR",
+ "defaultCurrencyCode": "USD",
+ "payerAuthenticationInInvoicing": "enable",
+ "showVatNumber": false,
+ "vatRegistrationNumber": "Inv1234",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ }
+ }
+ }
+ ],
+ "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",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ },
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10: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"
+ },
+ "shipTo": {
+ "description": "Collect the payers shipping address.",
+ "type": "boolean",
+ "default": false
+ },
+ "phoneNumber": {
+ "description": "Collect the payers phone number.",
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.",
+ "type": "boolean",
+ "default": false
+ },
+ "enableMerchantEmailNotifications": {
+ "description": "Whether you would like to receive payment notification for successful transaction",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ }
+ }
+ }
+ },
+ "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- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\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",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Invoice Settings"
+ ],
+ "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",
+ "shipTo": false,
+ "phoneNumber": false,
+ "email": false
+ }
+ },
+ "type": "object",
+ "properties": {
+ "submitTimeUtc": {
+ "type": "string",
+ "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\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"
- }
+ "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"
+ },
+ "shipTo": {
+ "description": "Collect the payers shipping address.",
+ "type": "boolean",
+ "default": false
+ },
+ "phoneNumber": {
+ "description": "Collect the payers phone number.",
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.",
+ "type": "boolean",
+ "default": false
+ },
+ "enableMerchantEmailNotifications": {
+ "description": "Whether you would like to receive payment notification for successful transaction",
+ "type": "boolean",
+ "default": false
}
}
}
@@ -108790,9 +116463,9 @@
}
},
"400": {
- "description": "Invoicing service is not enabled.",
+ "description": "Could not get the invoice settings for this merchant.",
"schema": {
- "title": "invoicingV2InvoicesGet400Response",
+ "title": "invoicingV2InvoiceSettingsGet400Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -108805,7 +116478,7 @@
},
"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"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n"
},
"message": {
"type": "string",
@@ -108842,57 +116515,10 @@
}
}
},
- "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",
+ "title": "invoicingV2InvoiceSettingsGet502Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -108921,17 +116547,19 @@
}
}
}
- },
- "put": {
+ }
+ },
+ "/ipl/v2/payment-links": {
+ "post": {
"tags": [
- "invoices"
+ "Payment Links"
],
- "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",
+ "summary": "Create a Payment Link",
+ "description": "Create a new payment link.",
+ "operationId": "createPaymentLink",
"x-devcenter-metaData": {
- "categoryTag": "Invoicing",
- "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html"
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.html"
},
"consumes": [
"application/json;charset=utf-8"
@@ -108944,161 +116572,119 @@
],
"parameters": [
{
- "name": "id",
- "in": "path",
- "type": "string",
- "description": "The invoice number.",
- "required": true
- },
- {
- "name": "updateInvoiceRequest",
+ "name": "createPaymentLinkRequest",
"in": "body",
- "description": "Updating the invoice does not resend the invoice automatically. You must resend the invoice separately.",
"required": true,
"schema": {
"type": "object",
+ "required": [
+ "processingInformation",
+ "purchaseInformation",
+ "orderInformation"
+ ],
"properties": {
- "customerInformation": {
+ "clientReferenceInformation": {
"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": {
+ "partner": {
"type": "object",
"properties": {
- "name": {
+ "developerId": {
"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"
+ "maxLength": 8,
+ "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n"
+ },
+ "solutionId": {
+ "type": "string",
+ "maxLength": 8,
+ "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n"
}
}
}
}
},
- "invoiceInformation": {
+ "processingInformation": {
"type": "object",
- "description": "Contains the updatable invoice information.",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
"properties": {
- "description": {
- "type": "string",
- "maxLength": 2000,
- "description": "The description included in the invoice."
- },
- "dueDate": {
+ "linkType": {
"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": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
},
- "allowPartialPayments": {
+ "requestPhone": {
"type": "boolean",
- "description": "If set to `true`, the payer can make a partial invoice payment."
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
},
- "deliveryMode": {
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "required": [
+ "purchaseNumber"
+ ],
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
"type": "string",
- "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": 50,
+ "description": "The purchase number"
}
}
},
"orderInformation": {
"type": "object",
- "description": "Contains all of the order-related fields for the invoice, such as the amount and line item details.",
+ "required": [
+ "amountDetails",
+ "lineItems"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
"properties": {
"amountDetails": {
"type": "object",
- "description": "Contains all of the amount-related fields in the invoice.",
+ "required": [
+ "currency"
+ ],
+ "description": "Contains all of the amount-related fields.",
"properties": {
"totalAmount": {
"type": "string",
"maxLength": 19,
- "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
"maxLength": 3,
"description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
},
- "discountAmount": {
+ "maxAmount": {
"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."
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
},
- "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
- }
- }
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
}
}
},
"lineItems": {
"type": "array",
+ "description": "List of the line items from the order.",
"maxItems": 30,
"items": {
"type": "object",
- "description": "List of the line items from the order, which are included in an invoice.",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
"properties": {
"productSku": {
"type": "string",
@@ -109122,30 +116708,10 @@
"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": {
+ "productDescription": {
+ "maxLength": 2000,
"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"
+ "description": "Brief description of item."
}
}
}
@@ -109154,49 +116720,32 @@
}
},
"example": {
- "customerInformation": {
- "name": "Tanya Lee",
- "email": "tanya.lee@my-email.world",
- "merchantCustomerId": "1234",
- "company": {
- "name": "ABC"
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
}
},
- "invoiceInformation": {
- "description": "This is a test invoice",
- "dueDate": "2019-07-11",
- "allowPartialPayments": true,
- "deliveryMode": "email"
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
},
"orderInformation": {
"amountDetails": {
- "totalAmount": "2623.64",
+ "totalAmount": "12.05",
"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
- }
+ "minAmount": "1"
},
"lineItems": [
{
- "productSku": "P653727383",
"productName": "First line item's name",
+ "productDescription": "First line item's description",
"unitPrice": "12.05",
- "quantity": "20",
- "discountAmount": "13.04",
- "discountPercent": "5.0",
- "taxAmount": "0.0",
- "taxRate": "0.0",
- "totalAmount": "247.86"
+ "quantity": "10"
}
]
}
@@ -109205,10 +116754,10 @@
}
],
"responses": {
- "200": {
- "description": "OK.",
+ "201": {
+ "description": "Created.",
"schema": {
- "title": "invoicingV2InvoicesPut200Response",
+ "title": "pblPaymentLinksPost201Response",
"type": "object",
"properties": {
"_links": {
@@ -109239,32 +116788,6 @@
"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."
- }
- }
}
}
},
@@ -109279,162 +116802,89 @@
},
"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"
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
},
- "customerInformation": {
+ "processingInformation": {
"type": "object",
- "description": "Contains all of the customer-related fields for the invoice.",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
"properties": {
- "name": {
- "type": "string",
- "maxLength": 100,
- "description": "Payer name for the invoice."
- },
- "email": {
+ "linkType": {
"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"
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\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"
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
},
- "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"
- }
- }
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
}
}
},
- "invoiceInformation": {
+ "purchaseInformation": {
"type": "object",
- "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "description": "Contains link specific detail.",
"properties": {
- "invoiceNumber": {
+ "purchaseNumber": {
"type": "string",
- "description": "Invoice Number."
- },
- "description": {
- "type": "string",
- "maxLength": 2000,
- "description": "The description included in the invoice."
+ "maxLength": 50,
+ "description": "The purchase number"
},
- "dueDate": {
+ "createdDate": {
"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."
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
},
"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"
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
}
}
},
"orderInformation": {
"type": "object",
- "description": "Contains all of the order-related fields for the invoice.",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
"properties": {
"amountDetails": {
"type": "object",
- "description": "Contains all of the amount-related fields in the invoice.",
+ "description": "Contains all of the amount-related fields.",
"properties": {
"totalAmount": {
"type": "string",
"maxLength": 19,
- "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
"maxLength": 3,
"description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
},
- "balanceAmount": {
+ "maxAmount": {
"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"
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
},
- "discountAmount": {
+ "minAmount": {
"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
- }
- }
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
}
}
},
"lineItems": {
"type": "array",
+ "description": "List of the line items from the order.",
"maxItems": 30,
"items": {
"type": "object",
- "description": "List of the line items from the order, which are included in an invoice.",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
"properties": {
"productSku": {
"type": "string",
@@ -109458,30 +116908,10 @@
"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": {
+ "productDescription": {
+ "maxLength": 2000,
"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"
+ "description": "Brief description of item."
}
}
}
@@ -109492,71 +116922,39 @@
"example": {
"_links": {
"self": {
- "href": "/rest/v2/invoices/98753",
+ "href": "/ipl/v2/payment-links/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"
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
}
},
"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"
- }
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
},
- "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"
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
},
"orderInformation": {
"amountDetails": {
- "totalAmount": "2623.64",
+ "totalAmount": "12.05",
"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
- }
+ "minAmount": "1"
},
"lineItems": [
{
- "productSku": "P653727383",
"productName": "First line item's name",
+ "productDescription": "First line item's description",
"unitPrice": "12.05",
- "quantity": "20",
- "discountAmount": "13.04",
- "discountPercent": "5.0",
- "taxAmount": "0.0",
- "taxRate": "0.0",
- "totalAmount": "247.86"
+ "quantity": "10"
}
]
}
@@ -109564,9 +116962,9 @@
}
},
"400": {
- "description": "Field validation errors.",
+ "description": "Invalid request.",
"schema": {
- "title": "invoicingV2InvoicesPut400Response",
+ "title": "pblPaymentLinksPost400Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -109575,11 +116973,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\n"
},
"message": {
"type": "string",
@@ -109609,17 +117007,17 @@
"message": "Field validation errors.",
"details": [
{
- "field": "customerInformation.email",
- "reason": "Invalid email"
+ "field": "processingInformation.linkType",
+ "reason": "Invalid linkType"
}
]
}
}
},
"404": {
- "description": "Invoice does not exist.",
+ "description": "The specified resource is not found.",
"schema": {
- "title": "invoicingV2InvoicesPut404Response",
+ "title": "pblPaymentLinksPost404Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -109628,11 +117026,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
"message": {
"type": "string",
@@ -109659,14 +117057,14 @@
"submitTimeUtc": "2019-07-01T21:36:29Z",
"status": "NOTFOUND",
"reason": "NOT_FOUND",
- "message": "Invoice does not exist."
+ "message": "Purchase or donation link does not exist."
}
}
},
- "default": {
+ "502": {
"description": "Unexpected error.",
"schema": {
- "title": "invoicingV2InvoicesPut502Response",
+ "title": "pblPaymentLinksPost502Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -109697,70 +117095,87 @@
},
"x-example": {
"example0": {
- "summary": "Update an invoice",
+ "summary": "Create a purchase link",
"value": {
- "customerInformation": {
- "name": "Tanya Lee",
- "email": "tanya.lee@my-email.world",
- "merchantCustomerId": "1234",
- "company": {
- "name": "ABC"
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
}
},
- "invoiceInformation": {
- "description": "This is an updated test invoice",
- "dueDate": "2019-07-15",
- "allowPartialPayments": true,
- "deliveryMode": "none"
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
},
"orderInformation": {
"amountDetails": {
- "totalAmount": "2623.64",
+ "totalAmount": "12.05",
"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
- }
+ "minAmount": "1"
},
"lineItems": [
{
- "productSku": "P653727383",
"productName": "First line item's name",
+ "productDescription": "First line item's description",
"unitPrice": "12.05",
- "quantity": "20",
- "discountAmount": "13.04",
- "discountPercent": "5.0",
- "taxAmount": "0.0",
- "taxRate": "0.0",
- "totalAmount": "247.86"
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create a donation link",
+ "value": {
+ "clientReferenceInformation": {
+ "partner": {
+ "developerId": "3435",
+ "solutionId": "83745"
+ }
+ },
+ "processingInformation": {
+ "linkType": "DONATION",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "currency": "USD",
+ "maxAmount": "500",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
}
]
}
}
}
}
- }
- },
- "/invoicing/v2/invoices/{id}/delivery": {
- "post": {
+ },
+ "get": {
"tags": [
- "invoices"
+ "Payment Links"
],
- "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",
+ "summary": "Get a List of Payment Links",
+ "description": "Provides a (filtered) list of payment links that have been created in your account.\nYou can filter the list based on the following status types:\n - ACTIVE\n - INACTIVE\n",
+ "operationId": "getAllPaymentLinks",
"x-devcenter-metaData": {
- "categoryTag": "Invoicing",
- "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html"
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.html"
+ },
+ "x-queryParameterDefaults": {
+ "offset": "0",
+ "limit": "5"
},
"consumes": [
"application/json;charset=utf-8"
@@ -109773,32 +117188,33 @@
],
"parameters": [
{
- "name": "id",
- "in": "path",
+ "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. \n\nMaximum limit: 1000\n",
+ "maximum": 1000
+ },
+ {
+ "name": "status",
+ "in": "query",
"type": "string",
- "description": "The invoice number.",
- "required": true
+ "required": false,
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n - ACTIVE\n - INACTIVE\n"
}
],
- "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",
+ "title": "pblPaymentLinksAllGet200Response",
"type": "object",
"properties": {
"_links": {
@@ -109817,20 +117233,7 @@
}
}
},
- "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": {
+ "next": {
"type": "object",
"properties": {
"href": {
@@ -109843,7 +117246,7 @@
}
}
},
- "cancel": {
+ "previous": {
"type": "object",
"properties": {
"href": {
@@ -109858,220 +117261,155 @@
}
}
},
- "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"
- }
- }
+ "totalLinks": {
+ "type": "integer"
},
- "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"
+ "links": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "A list of purchase or donation links.",
+ "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."
+ }
}
- }
- },
- "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
+ },
+ "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."
+ }
}
}
}
- }
- },
- "lineItems": {
- "type": "array",
- "maxItems": 30,
- "items": {
+ },
+ "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 purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "createdDate": {
+ "type": "string",
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
+ },
+ "processingInformation": {
"type": "object",
- "description": "List of the line items from the order, which are included in an invoice.",
+ "description": "Contains processing information, such as the type and collection details.",
"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": {
+ "linkType": {
"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": {
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
"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"
+ "maxLength": 50,
+ "description": "The purchase number"
},
- "taxRate": {
+ "paymentLink": {
"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"
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
},
- "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"
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "description": "Line item from the order.",
+ "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"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
}
}
}
@@ -110082,81 +117420,100 @@
"example": {
"_links": {
"self": {
- "href": "/rest/v2/invoices/98753",
+ "href": "/ipl/v2/payment-links/?offset=1&limit=2&status=active",
"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"
+ "next": {
+ "href": "/ipl/v2/payment-links/?offset=3&limit=2&status=active",
+ "method": "GET"
+ },
+ "previous": {
+ "href": "/ipl/v2/payment-links/?offset=0&limit=2&status=active",
+ "method": "GET"
+ }
},
- "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"
+ "submitTimeUtc": "2019-07-03T19:22:26Z",
+ "totalLinks": 123,
+ "links": [
+ {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98772",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
},
- "freight": {
- "amount": "20.00",
- "taxable": true
+ "id": "98772",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE"
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05"
+ }
+ ]
}
},
- "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"
+ {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98771",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98771",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "DONATION"
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
+ }
+ ]
}
- ]
- }
+ }
+ ]
}
}
},
"400": {
- "description": "Requested action is not allowed.",
+ "description": "Invalid purchase or donation link status. The status should be one of: `ACTIVE` or `INACTIVE`.",
"schema": {
- "title": "invoicingV2InvoicesSend400Response",
+ "title": "pblPaymentLinksAllGet400Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -110165,11 +117522,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\n"
},
"message": {
"type": "string",
@@ -110199,17 +117556,17 @@
"message": "Field validation errors.",
"details": [
{
- "field": "customerInformation.email",
- "reason": "Invalid email"
+ "field": "processingInformation.linkType",
+ "reason": "Invalid linkType"
}
]
}
}
},
"404": {
- "description": "Invoice does not exist.",
+ "description": "No purchase or donation link found.",
"schema": {
- "title": "invoicingV2InvoicesSend404Response",
+ "title": "pblPaymentLinksAllGet404Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -110218,11 +117575,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
"message": {
"type": "string",
@@ -110249,14 +117606,14 @@
"submitTimeUtc": "2019-07-01T21:36:29Z",
"status": "NOTFOUND",
"reason": "NOT_FOUND",
- "message": "Invoice does not exist."
+ "message": "Purchase or donation link does not exist."
}
}
},
- "default": {
+ "502": {
"description": "Unexpected error.",
"schema": {
- "title": "invoicingV2InvoicesSend502Response",
+ "title": "pblPaymentLinksAllGet502Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -110287,17 +117644,17 @@
}
}
},
- "/invoicing/v2/invoices/{id}/cancelation": {
- "post": {
+ "/ipl/v2/payment-links/{id}": {
+ "get": {
"tags": [
- "invoices"
+ "Payment Links"
],
- "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",
+ "summary": "Get Payment Link Details",
+ "description": "You can retrieve details of a specific payment link. For each payment transaction you can use the Transaction Details API to get more details on the payment transaction.",
+ "operationId": "getPaymentLink",
"x-devcenter-metaData": {
- "categoryTag": "Invoicing",
- "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html"
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.html"
},
"consumes": [
"application/json;charset=utf-8"
@@ -110313,29 +117670,55 @@
"name": "id",
"in": "path",
"type": "string",
- "description": "The invoice number.",
+ "description": "The purchase 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",
+ "title": "pblPaymentLinksGet200Response",
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "120.50",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ },
"type": "object",
"properties": {
"_links": {
@@ -110366,32 +117749,6 @@
"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."
- }
- }
}
}
},
@@ -110406,162 +117763,89 @@
},
"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"
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
},
- "customerInformation": {
+ "processingInformation": {
"type": "object",
- "description": "Contains all of the customer-related fields for the invoice.",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
"properties": {
- "name": {
+ "linkType": {
"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"
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\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"
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
},
- "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"
- }
- }
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
}
}
},
- "invoiceInformation": {
+ "purchaseInformation": {
"type": "object",
- "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.",
+ "description": "Contains link specific detail.",
"properties": {
- "invoiceNumber": {
- "type": "string",
- "description": "Invoice Number."
- },
- "description": {
+ "purchaseNumber": {
"type": "string",
- "maxLength": 2000,
- "description": "The description included in the invoice."
+ "maxLength": 50,
+ "description": "The purchase number"
},
- "dueDate": {
+ "createdDate": {
"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."
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
},
"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"
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
}
}
},
"orderInformation": {
"type": "object",
- "description": "Contains all of the order-related fields for the invoice.",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
"properties": {
"amountDetails": {
"type": "object",
- "description": "Contains all of the amount-related fields in the invoice.",
+ "description": "Contains all of the amount-related fields.",
"properties": {
"totalAmount": {
"type": "string",
"maxLength": 19,
- "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
"maxLength": 3,
"description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
},
- "balanceAmount": {
+ "maxAmount": {
"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"
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
},
- "discountAmount": {
+ "minAmount": {
"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
- }
- }
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
}
}
},
"lineItems": {
"type": "array",
+ "description": "List of the line items from the order.",
"maxItems": 30,
"items": {
"type": "object",
- "description": "List of the line items from the order, which are included in an invoice.",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
"properties": {
"productSku": {
"type": "string",
@@ -110585,115 +117869,23 @@
"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": {
+ "productDescription": {
+ "maxLength": 2000,
"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"
+ "description": "Brief description of item."
}
}
}
}
}
}
- },
- "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": "Pay-by-link service is not enabled.",
"schema": {
- "title": "invoicingV2InvoicesCancel400Response",
+ "title": "pblPaymentLinksGet400Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -110702,11 +117894,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\n"
},
"message": {
"type": "string",
@@ -110736,17 +117928,17 @@
"message": "Field validation errors.",
"details": [
{
- "field": "customerInformation.email",
- "reason": "Invalid email"
+ "field": "processingInformation.linkType",
+ "reason": "Invalid linkType"
}
]
}
}
},
"404": {
- "description": "Invoice does not exist.",
+ "description": "PaymentLink does not exist.",
"schema": {
- "title": "invoicingV2InvoicesCancel404Response",
+ "title": "pblPaymentLinksGet404Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -110755,11 +117947,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
"message": {
"type": "string",
@@ -110786,14 +117978,14 @@
"submitTimeUtc": "2019-07-01T21:36:29Z",
"status": "NOTFOUND",
"reason": "NOT_FOUND",
- "message": "Invoice does not exist."
+ "message": "Purchase or donation link does not exist."
}
}
},
- "default": {
+ "502": {
"description": "Unexpected error.",
"schema": {
- "title": "invoicingV2InvoicesCancel502Response",
+ "title": "pblPaymentLinksGet502Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -110822,19 +118014,17 @@
}
}
}
- }
- },
- "/invoicing/v2/invoiceSettings": {
- "put": {
+ },
+ "patch": {
"tags": [
- "invoiceSettings"
+ "Payment Links"
],
- "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",
+ "summary": "Update a Payment Link",
+ "description": "You can update all information except the payment link number until any payment is received for a payment link.",
+ "operationId": "updatePaymentLink",
"x-devcenter-metaData": {
- "categoryTag": "Invoicing",
- "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html"
+ "categoryTag": "Pay_By_Link",
+ "developerGuides": "https://developer.cybersource.com/api/developer-guides.html"
},
"consumes": [
"application/json;charset=utf-8"
@@ -110847,94 +118037,171 @@
],
"parameters": [
{
- "name": "invoiceSettingsRequest",
+ "name": "id",
+ "in": "path",
+ "type": "string",
+ "description": "The purchase number.",
+ "required": true
+ },
+ {
+ "name": "updatePaymentLinkRequest",
"in": "body",
+ "description": "Updating the purchase or donation link does not resend the link automatically. You must resend the purchase or donation link separately.",
"required": true,
"schema": {
"type": "object",
"properties": {
- "invoiceSettingsInformation": {
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "clientReferenceInformation": {
"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": {
+ "partner": {
"type": "object",
"properties": {
- "fontColor": {
- "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.",
+ "developerId": {
"type": "string",
- "maxLength": 7,
- "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
+ "maxLength": 8,
+ "description": "Identifier for the developer that integrated a partner solution with Cybersource. Send this value with all requests that are sent through a partner solution built by that developer. Cybersource assigns the ID to the developer.\n\n**Note** A developerId set to 999 means the submitted developer ID is incorrect.\n"
},
- "backgroundColor": {
- "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.",
+ "solutionId": {
"type": "string",
- "maxLength": 7,
- "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
+ "maxLength": 8,
+ "description": "Identifier for the partner that integrated with Cybersource. Send this value with all requests sent through the partner solution. Cybersource assigns the ID to the partner.\n\n**Note** A solutionId set to 999 means the submitted solutionId is incorrect.\n"
}
}
- },
- "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",
+ }
+ }
+ },
+ "processingInformation": {
+ "type": "object",
+ "description": "Contains processing information, such as the type and collection details.",
+ "properties": {
+ "linkType": {
"type": "string",
- "maxLength": 7
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
},
- "showVatNumber": {
- "description": "Display VAT number on Invoice.",
+ "requestPhone": {
"type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
"default": false
},
- "vatRegistrationNumber": {
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
"type": "string",
- "maxLength": 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": 50,
+ "description": "The purchase number"
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "required": [
+ "lineItems"
+ ],
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
+ "type": "object",
+ "description": "Contains all of the amount-related fields.",
+ "properties": {
+ "totalAmount": {
+ "type": "string",
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
+ },
+ "currency": {
+ "type": "string",
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
+ }
+ }
+ },
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
}
}
}
},
"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"
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
},
- "deliveryLanguage": "fr-FR",
- "defaultCurrencyCode": "USD",
- "payerAuthenticationInInvoicing": "enable",
- "showVatNumber": false,
- "vatRegistrationNumber": "Inv1234"
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "20"
+ }
+ ]
}
}
}
@@ -110944,104 +118211,214 @@
"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"
- }
- },
+ "title": "pblPaymentLinksPut200Response",
"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."
+ }
+ }
+ }
+ }
+ },
+ "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"
},
- "invoiceSettingsInformation": {
+ "status": {
+ "type": "string",
+ "description": "The status of the purchase or donation link.\n\nPossible values:\n- ACTIVE\n- INACTIVE\n"
+ },
+ "processingInformation": {
"type": "object",
+ "required": [
+ "linkType"
+ ],
+ "description": "Contains processing information, such as the type and collection details.",
"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.",
+ "linkType": {
"type": "string",
- "maxLength": 10000000
+ "description": "linkType defines what type of link you want to create.\n\nPossible Values:\n - `PURCHASE`\n - `DONATION`\n"
},
- "merchantDisplayName": {
- "description": "The merchant's display name shown on the invoice.",
- "type": "string",
- "maxLength": 100
+ "requestPhone": {
+ "type": "boolean",
+ "description": "Collect the payers phone number during the payment.",
+ "default": false
},
- "customEmailMessage": {
- "description": "The content of the email message that we send to your customers.",
+ "requestShipping": {
+ "type": "boolean",
+ "description": "Collect the payers shipping address during the payment.",
+ "default": false
+ }
+ }
+ },
+ "purchaseInformation": {
+ "type": "object",
+ "description": "Contains link specific detail.",
+ "properties": {
+ "purchaseNumber": {
"type": "string",
- "maxLength": 2000
+ "maxLength": 50,
+ "description": "The purchase number"
},
- "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"
+ "createdDate": {
+ "type": "string",
+ "x-example": "2018-08-11T22:47:57Z",
+ "description": "Date and time (UTC) the invoice was created.\n\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"
},
- "headerStyle": {
+ "paymentLink": {
+ "type": "string",
+ "description": "Returns the link to a purchase or donation link when the status is `ACTIVE`."
+ }
+ }
+ },
+ "orderInformation": {
+ "type": "object",
+ "description": "Contains all of the order-related fields, such as the amount and line item details.",
+ "properties": {
+ "amountDetails": {
"type": "object",
+ "description": "Contains all of the amount-related fields.",
"properties": {
- "fontColor": {
- "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.",
+ "totalAmount": {
"type": "string",
- "maxLength": 7,
- "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
+ "maxLength": 19,
+ "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
- "backgroundColor": {
- "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.",
+ "currency": {
"type": "string",
- "maxLength": 7,
- "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
+ "maxLength": 3,
+ "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n"
+ },
+ "maxAmount": {
+ "type": "string",
+ "description": "Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page."
+ },
+ "minAmount": {
+ "type": "string",
+ "description": "Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links."
}
}
},
- "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"
+ "lineItems": {
+ "type": "array",
+ "description": "List of the line items from the order.",
+ "maxItems": 30,
+ "items": {
+ "type": "object",
+ "required": [
+ "productName"
+ ],
+ "description": "Line item from the order.",
+ "properties": {
+ "productSku": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n"
+ },
+ "productName": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "quantity": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 999999999,
+ "default": 1,
+ "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n"
+ },
+ "unitPrice": {
+ "type": "string",
+ "maxLength": 15,
+ "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n"
+ },
+ "productDescription": {
+ "maxLength": 2000,
+ "type": "string",
+ "description": "Brief description of item."
+ }
+ }
+ }
}
}
}
+ },
+ "example": {
+ "_links": {
+ "self": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "GET"
+ },
+ "update": {
+ "href": "/ipl/v2/payment-links/98753",
+ "method": "PATCH"
+ }
+ },
+ "id": "98753",
+ "submitTimeUtc": "2019-06-28T19:48:06Z",
+ "status": "ACTIVE",
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412",
+ "createdDate": "2018-08-11T22:47:57Z",
+ "paymentLink": "https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
}
}
},
"400": {
- "description": "Could not update the invoice settings for this merchant.",
+ "description": "Field validation errors.",
"schema": {
- "title": "invoicingV2InvoiceSettingsPut400Response",
+ "title": "pblPaymentLinksPut400Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -111050,11 +118427,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_TRANSIENT_TOKEN\n"
},
"message": {
"type": "string",
@@ -111084,190 +118461,17 @@
"message": "Field validation errors.",
"details": [
{
- "field": "customerInformation.email",
- "reason": "Invalid email"
+ "field": "processingInformation.linkType",
+ "reason": "Invalid linkType"
}
]
}
}
},
- "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.",
+ "404": {
+ "description": "Purchase or donation link does not exist.",
"schema": {
- "title": "invoicingV2InvoiceSettingsGet400Response",
+ "title": "pblPaymentLinksPut404Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -111276,11 +118480,11 @@
},
"status": {
"type": "string",
- "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n"
+ "description": "The status of the purchase or donation link.\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"
+ "description": "The reason of the status.\n\nPossible values:\n- NOTFOUND\n"
},
"message": {
"type": "string",
@@ -111304,23 +118508,17 @@
}
},
"example": {
- "submitTimeUtc": "2019-07-01T21:40:10Z",
- "status": "BADREQUEST",
- "reason": "VALIDATION_ERROR",
- "message": "Field validation errors.",
- "details": [
- {
- "field": "customerInformation.email",
- "reason": "Invalid email"
- }
- ]
+ "submitTimeUtc": "2019-07-01T21:36:29Z",
+ "status": "NOTFOUND",
+ "reason": "NOT_FOUND",
+ "message": "Purchase or donation link does not exist."
}
}
},
- "default": {
+ "502": {
"description": "Unexpected error.",
"schema": {
- "title": "invoicingV2InvoiceSettingsGet502Response",
+ "title": "pblPaymentLinksPut502Response",
"type": "object",
"properties": {
"submitTimeUtc": {
@@ -111348,6 +118546,116 @@
}
}
}
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Update a purchase link",
+ "value": {
+ "status": "ACTIVE",
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ },
+ "example1": {
+ "summary": "Update a donation link",
+ "value": {
+ "status": "ACTIVE",
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "currency": "USD",
+ "maxAmount": "500",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
+ }
+ ]
+ }
+ }
+ },
+ "example2": {
+ "summary": "Change a donation link to inactive state",
+ "value": {
+ "status": "INACTIVE",
+ "processingInformation": {
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "currency": "USD",
+ "maxAmount": "500",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description"
+ }
+ ]
+ }
+ }
+ },
+ "example3": {
+ "summary": "Change a donation link to a purchase link",
+ "value": {
+ "processingInformation": {
+ "linkType": "PURCHASE",
+ "requestPhone": false,
+ "requestShipping": false
+ },
+ "purchaseInformation": {
+ "purchaseNumber": "23412"
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "12.05",
+ "currency": "USD",
+ "minAmount": "1"
+ },
+ "lineItems": [
+ {
+ "productName": "First line item's name",
+ "productDescription": "First line item's description",
+ "unitPrice": "12.05",
+ "quantity": "10"
+ }
+ ]
+ }
+ }
+ }
}
}
},
@@ -111791,7 +119099,7 @@
"/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",
+ "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).\nThe availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\n",
"operationId": "calculateTax",
"x-devcenter-metaData": {
"categoryTag": "Value_Added_Service",
@@ -112409,7 +119717,7 @@
"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": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
},
"currency": {
"type": "string",
@@ -112949,7 +120257,7 @@
"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",
+ "description": "Boarding Product is specifically for resellers who onboard merchants to resell their services to merchants and help integrate REST API into their systems.\n\nThe Boarding API is designed to simplify and streamline the onboarding process of merchants by enabling administrators and developers to:\n1. Enable and Configure Products: The API helps in adding new products to an existing organization and configuring them to suit specific needs.\n2. Update Merchant Information: The API allows for updating an organization's information efficiently.\n3. Manage Payment Integration: It provides templates for secure payment integration and management.\n",
"operationId": "postRegistration",
"consumes": [
"application/json"
@@ -128663,11 +135971,1351 @@
},
"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
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/notification-subscriptions/v2/products/{organizationId}": {
+ "get": {
+ "tags": [
+ "Create New Webhooks"
+ ],
+ "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": "tms.networktoken.updated",
+ "payloadEncryption": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found"
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-queryParameterDefaults": {
+ "organizationId": "testrest"
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/notification-subscriptions/v2/webhooks": {
+ "post": {
+ "tags": [
+ "Create New Webhooks"
+ ],
+ "summary": "Create a New Webhook Subscription",
+ "description": "Create a new webhook subscription. Before creating a webhook, ensure that a signature key has been created.\n\nFor the example \"Create Webhook using oAuth with Client Credentials\" - for clients who have more than one oAuth Provider and have different client secrets that they would like to config for a given webhook, they may do so by overriding the keyId inside security config of webhook subscription.\nSee the Developer Center examples section titled \"Webhook Security - Create or Store Egress Symmetric Key - Store oAuth Credentials For Symmetric Key\" to store these oAuth credentials that CYBS will need for oAuth.\n\nFor JWT authentication, attach your oAuth details to the webhook subscription. See the example \"Create Webhook using oAuth with JWT\"\n",
+ "parameters": [
+ {
+ "name": "createWebhook",
+ "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)."
+ },
+ "products": {
+ "type": "array",
+ "description": "To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Array of the different events for a given product id."
+ }
+ }
+ }
+ }
+ },
+ "webhookUrl": {
+ "type": "string",
+ "description": "The client's endpoint (URL) to receive webhooks."
+ },
+ "healthCheckUrl": {
+ "type": "string",
+ "description": "The client's health check endpoint (URL). 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"
+ },
+ "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. \nPossible values:\n- key\n- oAuth\n- oAuth_JWT"
+ },
+ "config": {
+ "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.",
+ "type": "object",
+ "properties": {
+ "oAuthTokenExpiry": {
+ "type": "string",
+ "description": "Token expiration for the oAuth server."
+ },
+ "oAuthURL": {
+ "type": "string",
+ "description": "Client direct endpoint to the oAuth server."
+ },
+ "oAuthTokenType": {
+ "type": "string",
+ "description": "Token type for the oAuth config."
+ },
+ "additionalConfig": {
+ "description": "Additional, free form configuration data.",
+ "type": "object",
+ "properties": {
+ "aud": {
+ "type": "string"
+ },
+ "client_id": {
+ "type": "string"
+ },
+ "keyId": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookId": {
+ "type": "string",
+ "description": "Webhook Id. This is generated by the server."
+ },
+ "organizationId": {
+ "type": "string",
+ "description": "Organization ID."
+ },
+ "products": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Event types within the product that you would like subscriptions for."
+ }
+ }
+ },
+ "example": {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "example": {
+ "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ },
+ {
+ "productId": "invoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://example.com:443/cybs",
+ "healthCheckUrl": "https://example.com:443/cybs/healthcheck",
+ "status": "INACTIVE",
+ "name": "My Webhook Subscription",
+ "description": "Webhook Subscription",
+ "retryPolicy": {
+ "algorithm": "Geometric",
+ "firstRetry": 3,
+ "interval": 5,
+ "numberOfRetries": 4,
+ "deactivateFlag": true
+ },
+ "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": "2021-02-25T23:25:11.000Z"
+ }
+ }
+ },
+ "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": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ ],
+ "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient",
+ "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example1": {
+ "summary": "Create Recurring Billing Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example2": {
+ "summary": "Create Invoicing Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "customerInvoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.partialpayment",
+ "invoicing.customer.invoice.cancel",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient",
+ "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example3": {
+ "summary": "Create Fraud Management Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example4": {
+ "summary": "Create Decision Manager Webhook",
+ "value": {
+ "name": "My Custom Webhook",
+ "description": "Sample Webhook from Developer Center",
+ "organizationId": "",
+ "products": [
+ {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "KEY"
+ }
+ }
+ },
+ "example5": {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "oAuth",
+ "config": {
+ "oAuthTokenExpiry": 365,
+ "oAuthURL": "https://MyWebhookServer.com:8443/oAuthToken",
+ "oAuthTokenType": "Bearer"
+ }
+ }
+ }
+ },
+ "example6": {
+ "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",
+ "retryPolicy": {
+ "algorithm": "ARITHMETIC",
+ "firstRetry": 1,
+ "interval": 1,
+ "numberOfRetries": 3,
+ "deactivateFlag": "false",
+ "repeatSequenceCount": 0,
+ "repeatSequenceWaitTime": 0
+ },
+ "securityPolicy": {
+ "securityType": "oAuth_JWT",
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ },
+ "get": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "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": false
+ },
+ {
+ "name": "eventType",
+ "in": "query",
+ "description": "The Event Type.",
+ "type": "string",
+ "required": false
+ }
+ ],
+ "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": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "example": {
+ "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ },
+ {
+ "productId": "invoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://example.com:443/cybs",
+ "healthCheckUrl": "https://example.com:443/cybs/healthcheck",
+ "status": "INACTIVE",
+ "name": "My Webhook Subscription",
+ "description": "Webhook Subscription",
+ "retryPolicy": {
+ "algorithm": "Geometric",
+ "firstRetry": 3,
+ "interval": 5,
+ "numberOfRetries": 4,
+ "deactivateFlag": true
+ },
+ "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": "2021-02-25T23:25:11.000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
+ "/notification-subscriptions/v2/webhooks/{webhookId}": {
+ "get": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "summary": "Get Details On a Single Webhook",
+ "description": "Retrieve the details of a specific webhook by supplying the webhook ID in the path.",
+ "operationId": "getWebhookSubscriptionById",
+ "parameters": [
+ {
+ "name": "webhookId",
+ "in": "path",
+ "type": "string",
+ "description": "The webhook Identifier",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookId": {
+ "type": "string",
+ "description": "Webhook Id. This is generated by the server."
+ },
+ "organizationId": {
+ "type": "string",
+ "description": "Organization ID."
+ },
+ "products": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Event types within the product that you would like subscriptions for."
+ }
+ }
+ },
+ "example": {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "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."
+ }
+ },
+ "example": {
+ "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ },
+ {
+ "productId": "invoicing",
+ "eventTypes": [
+ "invoicing.customer.invoice.paid",
+ "invoicing.customer.invoice.send"
+ ]
+ }
+ ],
+ "webhookUrl": "https://example.com:443/cybs",
+ "healthCheckUrl": "https://example.com:443/cybs/healthcheck",
+ "status": "INACTIVE",
+ "name": "My Webhook Subscription",
+ "description": "Webhook Subscription",
+ "retryPolicy": {
+ "algorithm": "Geometric",
+ "firstRetry": 3,
+ "interval": 5,
+ "numberOfRetries": 4,
+ "deactivateFlag": true
+ },
+ "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": "2021-02-25T23:25:11.000Z"
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found"
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "summary": "Update a Webhook Subscription",
+ "description": "Update a Webhook Subscription.",
+ "parameters": [
+ {
+ "name": "webhookId",
+ "in": "path",
+ "type": "string",
+ "description": "The Webhook Identifier.",
+ "required": true
+ },
+ {
+ "name": "updateWebhook",
+ "in": "body",
+ "description": "The webhook payload or changes to apply.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Client friendly webhook name."
+ },
+ "organizationId": {
+ "type": "string",
+ "description": "Organization Id."
+ },
+ "description": {
+ "type": "string",
+ "description": "Client friendly webhook description."
+ },
+ "products": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "productId": {
+ "type": "string",
+ "description": "Product ID."
+ },
+ "eventTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Event types within the product that you would like subscriptions for."
+ }
+ }
+ },
+ "example": {
+ "productId": "tokenManagement",
+ "eventTypes": [
+ "tms.networktoken.provisioned",
+ "tms.networktoken.updated"
+ ]
+ }
+ }
+ },
+ "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."
+ },
+ "securityPolicy": {
+ "type": "object",
+ "properties": {
+ "securityType": {
+ "type": "string",
+ "description": "Security Policy of the client server."
+ },
+ "config": {
+ "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.",
+ "type": "object",
+ "properties": {
+ "oAuthTokenExpiry": {
+ "type": "string",
+ "description": "Token expiration for the oAuth server."
+ },
+ "oAuthURL": {
+ "type": "string",
+ "description": "Client direct endpoint to the oAuth server."
+ },
+ "oAuthTokenType": {
+ "type": "string",
+ "description": "Token type for the oAuth config."
+ }
+ }
+ }
+ },
+ "description": "The security option to authenticate with your API or client server."
+ },
+ "additionalAttributes": {
+ "description": "Additional, free form configuration data.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "example": {
+ "name": "Updated Billing Subscription",
+ "webhookUrl": "https://newwebhooks.com"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated"
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Update Webhook",
+ "value": {
+ "name": "My Sample Webhook",
+ "description": "Sample decision manager webhook reject event.",
+ "organizationId": "",
+ "products": [
+ {
+ "productId": "decisionManager",
+ "eventTypes": [
+ "risk.profile.decision.reject"
+ ]
+ }
+ ],
+ "webhookUrl": "https://MyWebhookServer.com:8443:/simulateClient",
+ "healthCheckUrl": "https://MyWebhookServer.com:8443:/simulateClientHealthCheck",
+ "securityPolicy": {
+ "securityType": "oAuth",
+ "config": {
+ "oAuthTokenExpiry": 300,
+ "oAuthUrl": "https://MyWebhookServer.com:8443:/oAuthToken",
+ "oAuthTokenType": "Bearer"
+ }
+ }
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ },
+ "delete": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "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"
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
}
}
},
@@ -128689,11 +137337,7 @@
],
"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
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
},
"responses": {
"201": {
@@ -128754,6 +137398,93 @@
}
}
},
+ "/notification-subscriptions/v2/webhooks/{webhookId}/status": {
+ "put": {
+ "tags": [
+ "Manage Webhooks"
+ ],
+ "summary": "Update a Webhook Status",
+ "description": "Users can update the status of a webhook subscription by calling this endpoint. \n\nThe webhookId parameter in the URL path identifies the specific webhook subscription to be updated. The request body accepts the values ACTIVE or INACTIVE. If the subscription is set to INACTIVE, webhooks will not be delivered until the subscription is activated again.\n",
+ "parameters": [
+ {
+ "name": "webhookId",
+ "in": "path",
+ "type": "string",
+ "description": "The Webhook Identifier.",
+ "required": true
+ },
+ {
+ "name": "updateStatus",
+ "in": "body",
+ "description": "The status that the subscription should be updated to.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status the user intends to update the subscription to. The supported values are ACTIVE & INACTIVE. If the subscription status is INACTIVE, webhook notifications will not be sent. Webhooks will resume being sent once the subscription is ACTIVE again. \nPossible values:\n- ACTIVE\n- INACTIVE",
+ "default": "INACTIVE"
+ }
+ },
+ "example": {
+ "status": "ACTIVE"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated"
+ },
+ "401": {
+ "description": "Unauthorized"
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "field": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Server error"
+ }
+ },
+ "x-example": {
+ "example0": {
+ "summary": "Update Webhook Status",
+ "value": {
+ "status": "ACTIVE"
+ }
+ }
+ },
+ "x-devcenter-metaData": {
+ "categoryTag": "Webhooks",
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
+ }
+ }
+ },
"/kms/egress/v2/keys-asym": {
"post": {
"tags": [
@@ -128904,11 +137635,7 @@
},
"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
+ "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html"
}
}
},
@@ -128938,7 +137665,7 @@
"properties": {
"clientVersion": {
"type": "string",
- "example": "0.24",
+ "example": "0.25",
"maxLength": 60,
"description": "Specify the version of Unified Checkout that you want to use."
},
@@ -129021,6 +137748,26 @@
"comboCard": {
"type": "boolean",
"description": "Configure Unified Checkout to display combo card at checkout.
\n\nA combo debit/credit card is a single card that functions both as a Debit/Credit card. \nUnified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card.\n**Important:** This is applicable to Visa cards only.\n\nPossible values:\n- True \n- False
\n\n**Use Cases:**\n\n**Offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to true.\n- When set to true, Combo Card selection is shown at checkout
\n\n**Do not offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- The Combo Card selection is not shown at checkout.\n"
+ },
+ "CPF": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False
\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.
\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.\n"
+ }
+ }
+ },
+ "completeMandate": {
+ "type": "object",
+ "description": "The completeMandate object is designed to provide instructions for orchestrating payment services. Unified Checkout is capable of orchestrating a number of services on your behalf.
\nBy providing this field in the capture context Unified Checkout will initiate services on your behalf from the browser, simplifying your integration.\n",
+ "properties": {
+ "type": {
+ "type": "string",
+ "example": "AUTH",
+ "maxLength": 25,
+ "description": "This field is used to indicate how a payment should be processed.\n\nPossible values:\n- AUTH: Use this value when you want to authorize a payment without capturing it immediately. Payment types that initiate an immediate transfer of funds are not allowed. If a capture context request includes a payment type incompatible with this mode, a 400 error will be returned.
\n- CAPTURE: Use this value when you want to capture the payment immediately during the transaction. Note: Some payment types may return a PENDING status, requiring an additional status check call to determine the final outcome of the payment.
\n"
+ },
+ "decisionManager": {
+ "type": "boolean",
+ "description": "Configure Unified Checkout to determine whether Decision Manager is invoked during service orchestration.\n\nPossible values:\n - True\n - False
\n\nSetting this value to True indicates that device fingerprinting will be executed to add additional information for risk service\nSetting this value to False indicates that you do not wish to run device fingerprinting and skip decision manager services.\n"
}
}
},
@@ -129318,7 +138065,7 @@
"example0": {
"summary": "Generate Unified Checkout Capture Context",
"value": {
- "clientVersion": "0.24",
+ "clientVersion": "0.26",
"targetOrigins": [
"https://yourCheckoutPage.com"
],
@@ -129369,9 +138116,54 @@
}
},
"example1": {
+ "summary": "Generate Unified Checkout Capture Context with Service Orchestration",
+ "value": {
+ "clientVersion": "0.26",
+ "targetOrigins": [
+ "https://yourCheckoutPage.com"
+ ],
+ "allowedCardNetworks": [
+ "VISA",
+ "MASTERCARD",
+ "AMEX"
+ ],
+ "allowedPaymentTypes": [
+ "APPLEPAY",
+ "CHECK",
+ "CLICKTOPAY",
+ "GOOGLEPAY",
+ "PANENTRY",
+ "PAZE"
+ ],
+ "country": "US",
+ "locale": "en_US",
+ "captureMandate": {
+ "billingType": "FULL",
+ "requestEmail": true,
+ "requestPhone": true,
+ "requestShipping": true,
+ "shipToCountries": [
+ "US",
+ "GB"
+ ],
+ "showAcceptedNetworkIcons": true
+ },
+ "completeMandate": {
+ "type": "AUTH",
+ "decisionManager": true
+ },
+ "orderInformation": {
+ "amountDetails": {
+ "totalAmount": "21.00",
+ "currency": "USD"
+ }
+ }
+ }
+ },
+ "example2": {
"summary": "Generate Unified Checkout Capture Context With Custom Payment Options",
"value": {
- "clientVersion": "0.24",
+ "clientVersion": "0.26",
"targetOrigins": [
"https://yourCheckoutPage.com"
],
@@ -129429,10 +138221,10 @@
}
}
},
- "example2": {
+ "example3": {
"summary": "Generate Unified Checkout Capture Context (Opt-out of receiving card number prefix)",
"value": {
- "clientVersion": "0.24",
+ "clientVersion": "0.26",
"targetOrigins": [
"https://yourCheckoutPage.com"
],
@@ -129485,10 +138277,10 @@
}
}
},
- "example3": {
+ "example4": {
"summary": "Generate Unified Checkout Capture Context passing Billing & Shipping",
"value": {
- "clientVersion": "0.24",
+ "clientVersion": "0.26",
"targetOrigins": [
"https://yourCheckoutPage.com"
],
@@ -129585,10 +138377,10 @@
}
}
},
- "example4": {
+ "example5": {
"summary": "Generate Capture Context For Click To Pay Drop-In UI",
"value": {
- "clientVersion": "0.24",
+ "clientVersion": "0.26",
"targetOrigins": [
"https://yourCheckoutPage.com"
],
@@ -129771,7 +138563,7 @@
"Transient Token Data"
],
"produces": [
- "application/json"
+ "application/jwt"
],
"operationId": "getPaymentCredentialsForTransientToken",
"x-devcenter-metaData": {
@@ -129795,7 +138587,7 @@
"type": "string"
},
"examples": {
- "application/jwe": "eyJhdWQiOiJwc3AiLCJzdWIiOiJwc19ocGEiLCJraWQiOiIyMDIzMDUxNC1kcmFmdC1wc3AtZW5jcnlwdCIsImN0eSI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJleHAiOjE2ODU0MzI2ODMsImFsZyI6IlJTQS1PQUVQLTI1NiIsImp0aSI6ImMxZWRkMzVmLTRiYmUtNGRmNS04YTg0LTdjNmFlNzU0YWU1MCJ9.Zu5EW2WFuFwAaMI3N9x1-KYdARpcRQSvZSEmKXhHgwTMghOyhCaxmbsDPryIRxcqAFuWH3ojytGIpttHQ-tL35pc1G_lXcd9pA7Wyvv9hh3DdYv2pM3whDLaV6t7ZkP2P_goxiJ3HLwmTPRV0YO97YbvIRSLTEBk25b8DxNL2p9ufvLcEBcwOW7rZj-7boMBWDR3SupyoHUF1WIGfstbgHNo_7qcgOWuKeoITTJlvwFVdmZFeaFDvN2tfrtsanTBFP7v6WSWjWbaKql_z-tqLBfQkaw0nSDjBtxB70pdSw2U5ASmFoYr7Q3H60bNld-3UcAI_mpYXHRJpLleU2IiDg.llfdZVDcZgqBVKYz.BoFsW2K80UGjfczcqGtMqHq7VH-90fcMOtyl-weBc6PAhzg9Ze6MvlMpxmZi4QPKX1i3-HYnqkI514CpriOChPJ-2AR6VenR7MXfG5fGOIRseuDQ1d6WPtfpisabxW1qg9jOSoCWwAG6SrdnMdbpysBJmR_OV2Gfmo4noO5B01u02hv8AM3yY627bYOSTSAHeHovn9KKYWLdYpoJVeqkMIJwHnBtz-dqosgi3AuJNfi8LcT5_3vW6sJ-q044sM6TQ9z57Ui95EqIm4w_s0_BgF6QRIuPJNHD17i-5QgxVDD5OGYPWHwAwMC-poWp3wlG_MTkaIiLkvnAwB44tC_uvAQWJt0BvAbDMbsd9LPcqhqaIS3WDqiCFTawxM-BVotG-mAZDTEuq0f4Ctc9r6KDZyPxJj9IO0KwJDBpk86eX_RXm1ByO3bmDmMcIzsAcaJzbXdO11QRLLtmfYtQSUjZ-NZvEXEoSShJt1F-fTYx05tgoMWrQDwrQ-UMBzN77JqWKzuOpgQSTH6t3YpJ0v8g0-FXu7UHRtRVMWm9vt2HAOTHqXd5ITtqmeYpnKVKv3J_oUJerxy03rN8mPGzrWHRQn6rXOp_xKZEBf7UCK5ugr9oNcVUnbO9GnIr6RH5do3kSfGR0qBA4M8qvpm43amNfHtVcdb2bUwsoaWF15sshcVzss22JU8i94GHrTS_quR8PwktxFVNQyMYHCph_idffTrsPR2mjMoZSR2tPEGPW4V2RTKwhrpqKE_hCyOPLHSSEk3KYkQhteicRvqsqshhm7YADcEXiwRW5Ej2GADDxNop9UZojYRBtRfcQsVoA34ZM4gQvsEza5dF307NJkclwV6e2e5AdDBbm9IGsfY0ePwMOSK7dxWnVEn1gNaJMFyhWCL6o3XI4_4Pu0GWEHN3UphrH9TSHj4BxXLbFHnTDpYWw30pHrzLwLbK-eeovOsWUfID730QXbWa56OSPSqfvWG0tKNuTVmVCBJqZE_25FCoMkR0zevMgJZC9ujK5ksHB3lTFYuOXLNbXujw4y9K3QKImhEigGhWN5glXGEAWqExdWpb9aJ4vuAnT48hQREaiRc1DQueUnmzMQFjY9e-Q9iMOFHiCJ56NU7kMK9qZdBPmf7Emoe87Xx7YINsOXngQZZ2ve8nVC-sE0IDHoSh9YeqoNFAcdOHbCLDB6fi1WVWztCG6Gum0N9kauKHeM8XsSRjL-m_1yPI20da_VvszLW2D0jqbIgppFt-qiPSz4-YNTX6IgL60TEUaOcHynqkIg24_KNvbzXUl4DvlUR0I6XoUAs0XtxLiWy7Qai6Zgtih9Uvm8bZ14O4IAhigz6O09NsmucYzAgTtHi__npwHjV5kW3f-ya4dT9XYq__jGTNnV-vrokK7lj3CbNX9YJtKrM4q2PCl3dggeQXNlU46GYF36jTdLIIByFPhy6Pk5eiM1qXxn7-xZcA5k5YcOvXPyfLPHi1TiB1aNpZQuhdKRseKRqwzw.oTxqDKWidj_qi20IH0YeUA"
+ "application/jwt": "eyJhdWQiOiJwc3AiLCJzdWIiOiJwc19ocGEiLCJraWQiOiIyMDIzMDUxNC1kcmFmdC1wc3AtZW5jcnlwdCIsImN0eSI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJleHAiOjE2ODU0MzI2ODMsImFsZyI6IlJTQS1PQUVQLTI1NiIsImp0aSI6ImMxZWRkMzVmLTRiYmUtNGRmNS04YTg0LTdjNmFlNzU0YWU1MCJ9.Zu5EW2WFuFwAaMI3N9x1-KYdARpcRQSvZSEmKXhHgwTMghOyhCaxmbsDPryIRxcqAFuWH3ojytGIpttHQ-tL35pc1G_lXcd9pA7Wyvv9hh3DdYv2pM3whDLaV6t7ZkP2P_goxiJ3HLwmTPRV0YO97YbvIRSLTEBk25b8DxNL2p9ufvLcEBcwOW7rZj-7boMBWDR3SupyoHUF1WIGfstbgHNo_7qcgOWuKeoITTJlvwFVdmZFeaFDvN2tfrtsanTBFP7v6WSWjWbaKql_z-tqLBfQkaw0nSDjBtxB70pdSw2U5ASmFoYr7Q3H60bNld-3UcAI_mpYXHRJpLleU2IiDg.llfdZVDcZgqBVKYz.BoFsW2K80UGjfczcqGtMqHq7VH-90fcMOtyl-weBc6PAhzg9Ze6MvlMpxmZi4QPKX1i3-HYnqkI514CpriOChPJ-2AR6VenR7MXfG5fGOIRseuDQ1d6WPtfpisabxW1qg9jOSoCWwAG6SrdnMdbpysBJmR_OV2Gfmo4noO5B01u02hv8AM3yY627bYOSTSAHeHovn9KKYWLdYpoJVeqkMIJwHnBtz-dqosgi3AuJNfi8LcT5_3vW6sJ-q044sM6TQ9z57Ui95EqIm4w_s0_BgF6QRIuPJNHD17i-5QgxVDD5OGYPWHwAwMC-poWp3wlG_MTkaIiLkvnAwB44tC_uvAQWJt0BvAbDMbsd9LPcqhqaIS3WDqiCFTawxM-BVotG-mAZDTEuq0f4Ctc9r6KDZyPxJj9IO0KwJDBpk86eX_RXm1ByO3bmDmMcIzsAcaJzbXdO11QRLLtmfYtQSUjZ-NZvEXEoSShJt1F-fTYx05tgoMWrQDwrQ-UMBzN77JqWKzuOpgQSTH6t3YpJ0v8g0-FXu7UHRtRVMWm9vt2HAOTHqXd5ITtqmeYpnKVKv3J_oUJerxy03rN8mPGzrWHRQn6rXOp_xKZEBf7UCK5ugr9oNcVUnbO9GnIr6RH5do3kSfGR0qBA4M8qvpm43amNfHtVcdb2bUwsoaWF15sshcVzss22JU8i94GHrTS_quR8PwktxFVNQyMYHCph_idffTrsPR2mjMoZSR2tPEGPW4V2RTKwhrpqKE_hCyOPLHSSEk3KYkQhteicRvqsqshhm7YADcEXiwRW5Ej2GADDxNop9UZojYRBtRfcQsVoA34ZM4gQvsEza5dF307NJkclwV6e2e5AdDBbm9IGsfY0ePwMOSK7dxWnVEn1gNaJMFyhWCL6o3XI4_4Pu0GWEHN3UphrH9TSHj4BxXLbFHnTDpYWw30pHrzLwLbK-eeovOsWUfID730QXbWa56OSPSqfvWG0tKNuTVmVCBJqZE_25FCoMkR0zevMgJZC9ujK5ksHB3lTFYuOXLNbXujw4y9K3QKImhEigGhWN5glXGEAWqExdWpb9aJ4vuAnT48hQREaiRc1DQueUnmzMQFjY9e-Q9iMOFHiCJ56NU7kMK9qZdBPmf7Emoe87Xx7YINsOXngQZZ2ve8nVC-sE0IDHoSh9YeqoNFAcdOHbCLDB6fi1WVWztCG6Gum0N9kauKHeM8XsSRjL-m_1yPI20da_VvszLW2D0jqbIgppFt-qiPSz4-YNTX6IgL60TEUaOcHynqkIg24_KNvbzXUl4DvlUR0I6XoUAs0XtxLiWy7Qai6Zgtih9Uvm8bZ14O4IAhigz6O09NsmucYzAgTtHi__npwHjV5kW3f-ya4dT9XYq__jGTNnV-vrokK7lj3CbNX9YJtKrM4q2PCl3dggeQXNlU46GYF36jTdLIIByFPhy6Pk5eiM1qXxn7-xZcA5k5YcOvXPyfLPHi1TiB1aNpZQuhdKRseKRqwzw.oTxqDKWidj_qi20IH0YeUA"
}
},
"404": {
@@ -129810,7 +138602,7 @@
"/accountupdater/v1/batches": {
"post": {
"summary": "Create a Batch",
- "description": "**Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted:\n- **oneOff** batch containing tokens id for Visa or MasterCard card numbers.\n- **amexRegistration** batch containing tokens id for Amex card numbers.\n\nA batch id will be returned on a successful response which can be used to get the batch status and the batch report.\n",
+ "description": "**Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted:\n- **oneOff** batch containing tokens id for Visa or MasterCard card numbers.\n- **amexRegistration** batch containing tokens id for Amex card numbers.\n\nA batch id will be returned on a successful response which can be used to get the batch status and the batch report.\nThe availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.\n",
"parameters": [
{
"name": "Body",
diff --git a/generator/cybersource_python_sdk_gen.bat b/generator/cybersource_python_sdk_gen.bat
index 7f734c5d..4a6b701a 100644
--- a/generator/cybersource_python_sdk_gen.bat
+++ b/generator/cybersource_python_sdk_gen.bat
@@ -12,7 +12,7 @@ rd /s /q ..\test
REM Command to generate SDK
-java -jar swagger-codegen-cli-2.4.38.jar generate -t cybersource-python-template -i cybersource-rest-spec.json -l python -o ../ -c cybersource-python-config.json
+java -jar swagger-codegen-cli-2.4.38.jar generate -t cybersource-python-template -i cybersource-rest-spec-python.json -l python -o ../ -c cybersource-python-config.json
REM Fixing file names
powershell -Command "(Get-Content ..\CyberSource\__init__.py) | ForEach-Object { $_ -replace 'from .models.error__links import ErrorLinks', 'from .models.error_links import ErrorLinks'} | Set-Content ..\CyberSource\__init__.py"
diff --git a/test/test_create_new_webhooks_api.py b/test/test_create_new_webhooks_api.py
index d364ade3..afc16b46 100644
--- a/test/test_create_new_webhooks_api.py
+++ b/test/test_create_new_webhooks_api.py
@@ -30,6 +30,22 @@ def setUp(self):
def tearDown(self):
pass
+ def test_find_products_to_subscribe(self):
+ """
+ Test case for find_products_to_subscribe
+
+ Find Products You Can Subscribe To
+ """
+ pass
+
+ def test_notification_subscriptions_v2_webhooks_post(self):
+ """
+ Test case for notification_subscriptions_v2_webhooks_post
+
+ Create a New Webhook Subscription
+ """
+ pass
+
def test_save_sym_egress_key(self):
"""
Test case for save_sym_egress_key
diff --git a/test/test_inline_response2004_records.py b/test/test_create_payment_link_request.py
similarity index 64%
rename from test/test_inline_response2004_records.py
rename to test/test_create_payment_link_request.py
index 0900482a..ac9813d0 100644
--- a/test/test_inline_response2004_records.py
+++ b/test/test_create_payment_link_request.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2004_records import InlineResponse2004Records
+from CyberSource.models.create_payment_link_request import CreatePaymentLinkRequest
-class TestInlineResponse2004Records(unittest.TestCase):
- """ InlineResponse2004Records unit test stubs """
+class TestCreatePaymentLinkRequest(unittest.TestCase):
+ """ CreatePaymentLinkRequest unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2004Records(self):
+ def testCreatePaymentLinkRequest(self):
"""
- Test InlineResponse2004Records
+ Test CreatePaymentLinkRequest
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2004_records.InlineResponse2004Records()
+ #model = CyberSource.models.create_payment_link_request.CreatePaymentLinkRequest()
pass
diff --git a/test/test_inline_response2002_embedded.py b/test/test_create_subscription_request1.py
similarity index 64%
rename from test/test_inline_response2002_embedded.py
rename to test/test_create_subscription_request1.py
index 9d7fc4c8..8b4ff438 100644
--- a/test/test_inline_response2002_embedded.py
+++ b/test/test_create_subscription_request1.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2002_embedded import InlineResponse2002Embedded
+from CyberSource.models.create_subscription_request1 import CreateSubscriptionRequest1
-class TestInlineResponse2002Embedded(unittest.TestCase):
- """ InlineResponse2002Embedded unit test stubs """
+class TestCreateSubscriptionRequest1(unittest.TestCase):
+ """ CreateSubscriptionRequest1 unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2002Embedded(self):
+ def testCreateSubscriptionRequest1(self):
"""
- Test InlineResponse2002Embedded
+ Test CreateSubscriptionRequest1
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2002_embedded.InlineResponse2002Embedded()
+ #model = CyberSource.models.create_subscription_request1.CreateSubscriptionRequest1()
pass
diff --git a/test/test_inline_response2003_links.py b/test/test_create_webhook.py
similarity index 65%
rename from test/test_inline_response2003_links.py
rename to test/test_create_webhook.py
index b4d6dca5..fbee399b 100644
--- a/test/test_inline_response2003_links.py
+++ b/test/test_create_webhook.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2003_links import InlineResponse2003Links
+from CyberSource.models.create_webhook import CreateWebhook
-class TestInlineResponse2003Links(unittest.TestCase):
- """ InlineResponse2003Links unit test stubs """
+class TestCreateWebhook(unittest.TestCase):
+ """ CreateWebhook unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2003Links(self):
+ def testCreateWebhook(self):
"""
- Test InlineResponse2003Links
+ Test CreateWebhook
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2003_links.InlineResponse2003Links()
+ #model = CyberSource.models.create_webhook.CreateWebhook()
pass
diff --git a/test/test_inline_response4005_fields.py b/test/test_get_subscription_response1.py
similarity index 65%
rename from test/test_inline_response4005_fields.py
rename to test/test_get_subscription_response1.py
index 00f683ab..c81a621e 100644
--- a/test/test_inline_response4005_fields.py
+++ b/test/test_get_subscription_response1.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response4005_fields import InlineResponse4005Fields
+from CyberSource.models.get_subscription_response1 import GetSubscriptionResponse1
-class TestInlineResponse4005Fields(unittest.TestCase):
- """ InlineResponse4005Fields unit test stubs """
+class TestGetSubscriptionResponse1(unittest.TestCase):
+ """ GetSubscriptionResponse1 unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse4005Fields(self):
+ def testGetSubscriptionResponse1(self):
"""
- Test InlineResponse4005Fields
+ Test GetSubscriptionResponse1
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response4005_fields.InlineResponse4005Fields()
+ #model = CyberSource.models.get_subscription_response1.GetSubscriptionResponse1()
pass
diff --git a/test/test_get_subscription_response1_buyer_information.py b/test/test_get_subscription_response1_buyer_information.py
new file mode 100644
index 00000000..694bbc49
--- /dev/null
+++ b/test/test_get_subscription_response1_buyer_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.get_subscription_response1_buyer_information import GetSubscriptionResponse1BuyerInformation
+
+
+class TestGetSubscriptionResponse1BuyerInformation(unittest.TestCase):
+ """ GetSubscriptionResponse1BuyerInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testGetSubscriptionResponse1BuyerInformation(self):
+ """
+ Test GetSubscriptionResponse1BuyerInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.get_subscription_response1_buyer_information.GetSubscriptionResponse1BuyerInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_get_subscription_response1_links.py b/test/test_get_subscription_response1_links.py
new file mode 100644
index 00000000..48960ccf
--- /dev/null
+++ b/test/test_get_subscription_response1_links.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.get_subscription_response1_links import GetSubscriptionResponse1Links
+
+
+class TestGetSubscriptionResponse1Links(unittest.TestCase):
+ """ GetSubscriptionResponse1Links unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testGetSubscriptionResponse1Links(self):
+ """
+ Test GetSubscriptionResponse1Links
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.get_subscription_response1_links.GetSubscriptionResponse1Links()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response200_embedded_capture_links_self.py b/test/test_get_subscription_response1_payment_instrument.py
similarity index 58%
rename from test/test_inline_response200_embedded_capture_links_self.py
rename to test/test_get_subscription_response1_payment_instrument.py
index f8d4aacc..aef96448 100644
--- a/test/test_inline_response200_embedded_capture_links_self.py
+++ b/test/test_get_subscription_response1_payment_instrument.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response200_embedded_capture_links_self import InlineResponse200EmbeddedCaptureLinksSelf
+from CyberSource.models.get_subscription_response1_payment_instrument import GetSubscriptionResponse1PaymentInstrument
-class TestInlineResponse200EmbeddedCaptureLinksSelf(unittest.TestCase):
- """ InlineResponse200EmbeddedCaptureLinksSelf unit test stubs """
+class TestGetSubscriptionResponse1PaymentInstrument(unittest.TestCase):
+ """ GetSubscriptionResponse1PaymentInstrument unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse200EmbeddedCaptureLinksSelf(self):
+ def testGetSubscriptionResponse1PaymentInstrument(self):
"""
- Test InlineResponse200EmbeddedCaptureLinksSelf
+ Test GetSubscriptionResponse1PaymentInstrument
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response200_embedded_capture_links_self.InlineResponse200EmbeddedCaptureLinksSelf()
+ #model = CyberSource.models.get_subscription_response1_payment_instrument.GetSubscriptionResponse1PaymentInstrument()
pass
diff --git a/test/test_get_subscription_response1_payment_instrument_bank_account.py b/test/test_get_subscription_response1_payment_instrument_bank_account.py
new file mode 100644
index 00000000..1d2fa037
--- /dev/null
+++ b/test/test_get_subscription_response1_payment_instrument_bank_account.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.get_subscription_response1_payment_instrument_bank_account import GetSubscriptionResponse1PaymentInstrumentBankAccount
+
+
+class TestGetSubscriptionResponse1PaymentInstrumentBankAccount(unittest.TestCase):
+ """ GetSubscriptionResponse1PaymentInstrumentBankAccount unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testGetSubscriptionResponse1PaymentInstrumentBankAccount(self):
+ """
+ Test GetSubscriptionResponse1PaymentInstrumentBankAccount
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.get_subscription_response1_payment_instrument_bank_account.GetSubscriptionResponse1PaymentInstrumentBankAccount()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_get_subscription_response1_payment_instrument_buyer_information.py b/test/test_get_subscription_response1_payment_instrument_buyer_information.py
new file mode 100644
index 00000000..4b3fea46
--- /dev/null
+++ b/test/test_get_subscription_response1_payment_instrument_buyer_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.get_subscription_response1_payment_instrument_buyer_information import GetSubscriptionResponse1PaymentInstrumentBuyerInformation
+
+
+class TestGetSubscriptionResponse1PaymentInstrumentBuyerInformation(unittest.TestCase):
+ """ GetSubscriptionResponse1PaymentInstrumentBuyerInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testGetSubscriptionResponse1PaymentInstrumentBuyerInformation(self):
+ """
+ Test GetSubscriptionResponse1PaymentInstrumentBuyerInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.get_subscription_response1_payment_instrument_buyer_information.GetSubscriptionResponse1PaymentInstrumentBuyerInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_get_subscription_response1_payment_instrument_card.py b/test/test_get_subscription_response1_payment_instrument_card.py
new file mode 100644
index 00000000..6b936c52
--- /dev/null
+++ b/test/test_get_subscription_response1_payment_instrument_card.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.get_subscription_response1_payment_instrument_card import GetSubscriptionResponse1PaymentInstrumentCard
+
+
+class TestGetSubscriptionResponse1PaymentInstrumentCard(unittest.TestCase):
+ """ GetSubscriptionResponse1PaymentInstrumentCard unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testGetSubscriptionResponse1PaymentInstrumentCard(self):
+ """
+ Test GetSubscriptionResponse1PaymentInstrumentCard
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.get_subscription_response1_payment_instrument_card.GetSubscriptionResponse1PaymentInstrumentCard()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_get_subscription_response1_shipping_address.py b/test/test_get_subscription_response1_shipping_address.py
new file mode 100644
index 00000000..549734ba
--- /dev/null
+++ b/test/test_get_subscription_response1_shipping_address.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.get_subscription_response1_shipping_address import GetSubscriptionResponse1ShippingAddress
+
+
+class TestGetSubscriptionResponse1ShippingAddress(unittest.TestCase):
+ """ GetSubscriptionResponse1ShippingAddress unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testGetSubscriptionResponse1ShippingAddress(self):
+ """
+ Test GetSubscriptionResponse1ShippingAddress
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.get_subscription_response1_shipping_address.GetSubscriptionResponse1ShippingAddress()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2001_embedded.py b/test/test_inline_response2001_embedded.py
new file mode 100644
index 00000000..e0af95ab
--- /dev/null
+++ b/test/test_inline_response2001_embedded.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2001_embedded import InlineResponse2001Embedded
+
+
+class TestInlineResponse2001Embedded(unittest.TestCase):
+ """ InlineResponse2001Embedded unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2001Embedded(self):
+ """
+ Test InlineResponse2001Embedded
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2001_embedded.InlineResponse2001Embedded()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2002_embedded_batches.py b/test/test_inline_response2001_embedded_capture.py
similarity index 60%
rename from test/test_inline_response2002_embedded_batches.py
rename to test/test_inline_response2001_embedded_capture.py
index 20fb9e66..cd5b23cd 100644
--- a/test/test_inline_response2002_embedded_batches.py
+++ b/test/test_inline_response2001_embedded_capture.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2002_embedded_batches import InlineResponse2002EmbeddedBatches
+from CyberSource.models.inline_response2001_embedded_capture import InlineResponse2001EmbeddedCapture
-class TestInlineResponse2002EmbeddedBatches(unittest.TestCase):
- """ InlineResponse2002EmbeddedBatches unit test stubs """
+class TestInlineResponse2001EmbeddedCapture(unittest.TestCase):
+ """ InlineResponse2001EmbeddedCapture unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2002EmbeddedBatches(self):
+ def testInlineResponse2001EmbeddedCapture(self):
"""
- Test InlineResponse2002EmbeddedBatches
+ Test InlineResponse2001EmbeddedCapture
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2002_embedded_batches.InlineResponse2002EmbeddedBatches()
+ #model = CyberSource.models.inline_response2001_embedded_capture.InlineResponse2001EmbeddedCapture()
pass
diff --git a/test/test_inline_response2002_embedded_links_reports.py b/test/test_inline_response2001_embedded_capture_links.py
similarity index 59%
rename from test/test_inline_response2002_embedded_links_reports.py
rename to test/test_inline_response2001_embedded_capture_links.py
index c6f26311..dbb333fa 100644
--- a/test/test_inline_response2002_embedded_links_reports.py
+++ b/test/test_inline_response2001_embedded_capture_links.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2002_embedded_links_reports import InlineResponse2002EmbeddedLinksReports
+from CyberSource.models.inline_response2001_embedded_capture_links import InlineResponse2001EmbeddedCaptureLinks
-class TestInlineResponse2002EmbeddedLinksReports(unittest.TestCase):
- """ InlineResponse2002EmbeddedLinksReports unit test stubs """
+class TestInlineResponse2001EmbeddedCaptureLinks(unittest.TestCase):
+ """ InlineResponse2001EmbeddedCaptureLinks unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2002EmbeddedLinksReports(self):
+ def testInlineResponse2001EmbeddedCaptureLinks(self):
"""
- Test InlineResponse2002EmbeddedLinksReports
+ Test InlineResponse2001EmbeddedCaptureLinks
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2002_embedded_links_reports.InlineResponse2002EmbeddedLinksReports()
+ #model = CyberSource.models.inline_response2001_embedded_capture_links.InlineResponse2001EmbeddedCaptureLinks()
pass
diff --git a/test/test_inline_response200_embedded_reversal_links_self.py b/test/test_inline_response2001_embedded_capture_links_self.py
similarity index 58%
rename from test/test_inline_response200_embedded_reversal_links_self.py
rename to test/test_inline_response2001_embedded_capture_links_self.py
index 1dcb7112..82124f7c 100644
--- a/test/test_inline_response200_embedded_reversal_links_self.py
+++ b/test/test_inline_response2001_embedded_capture_links_self.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response200_embedded_reversal_links_self import InlineResponse200EmbeddedReversalLinksSelf
+from CyberSource.models.inline_response2001_embedded_capture_links_self import InlineResponse2001EmbeddedCaptureLinksSelf
-class TestInlineResponse200EmbeddedReversalLinksSelf(unittest.TestCase):
- """ InlineResponse200EmbeddedReversalLinksSelf unit test stubs """
+class TestInlineResponse2001EmbeddedCaptureLinksSelf(unittest.TestCase):
+ """ InlineResponse2001EmbeddedCaptureLinksSelf unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse200EmbeddedReversalLinksSelf(self):
+ def testInlineResponse2001EmbeddedCaptureLinksSelf(self):
"""
- Test InlineResponse200EmbeddedReversalLinksSelf
+ Test InlineResponse2001EmbeddedCaptureLinksSelf
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response200_embedded_reversal_links_self.InlineResponse200EmbeddedReversalLinksSelf()
+ #model = CyberSource.models.inline_response2001_embedded_capture_links_self.InlineResponse2001EmbeddedCaptureLinksSelf()
pass
diff --git a/test/test_inline_response2001_embedded_reversal.py b/test/test_inline_response2001_embedded_reversal.py
new file mode 100644
index 00000000..1702ac71
--- /dev/null
+++ b/test/test_inline_response2001_embedded_reversal.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2001_embedded_reversal import InlineResponse2001EmbeddedReversal
+
+
+class TestInlineResponse2001EmbeddedReversal(unittest.TestCase):
+ """ InlineResponse2001EmbeddedReversal unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2001EmbeddedReversal(self):
+ """
+ Test InlineResponse2001EmbeddedReversal
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2001_embedded_reversal.InlineResponse2001EmbeddedReversal()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2001_embedded_reversal_links.py b/test/test_inline_response2001_embedded_reversal_links.py
new file mode 100644
index 00000000..60df2e90
--- /dev/null
+++ b/test/test_inline_response2001_embedded_reversal_links.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2001_embedded_reversal_links import InlineResponse2001EmbeddedReversalLinks
+
+
+class TestInlineResponse2001EmbeddedReversalLinks(unittest.TestCase):
+ """ InlineResponse2001EmbeddedReversalLinks unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2001EmbeddedReversalLinks(self):
+ """
+ Test InlineResponse2001EmbeddedReversalLinks
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2001_embedded_reversal_links.InlineResponse2001EmbeddedReversalLinks()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2001_embedded_reversal_links_self.py b/test/test_inline_response2001_embedded_reversal_links_self.py
new file mode 100644
index 00000000..98433691
--- /dev/null
+++ b/test/test_inline_response2001_embedded_reversal_links_self.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2001_embedded_reversal_links_self import InlineResponse2001EmbeddedReversalLinksSelf
+
+
+class TestInlineResponse2001EmbeddedReversalLinksSelf(unittest.TestCase):
+ """ InlineResponse2001EmbeddedReversalLinksSelf unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2001EmbeddedReversalLinksSelf(self):
+ """
+ Test InlineResponse2001EmbeddedReversalLinksSelf
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2001_embedded_reversal_links_self.InlineResponse2001EmbeddedReversalLinksSelf()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2001_integration_information.py b/test/test_inline_response2002_integration_information.py
similarity index 58%
rename from test/test_inline_response2001_integration_information.py
rename to test/test_inline_response2002_integration_information.py
index fd790b6e..9c0d42c0 100644
--- a/test/test_inline_response2001_integration_information.py
+++ b/test/test_inline_response2002_integration_information.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2001_integration_information import InlineResponse2001IntegrationInformation
+from CyberSource.models.inline_response2002_integration_information import InlineResponse2002IntegrationInformation
-class TestInlineResponse2001IntegrationInformation(unittest.TestCase):
- """ InlineResponse2001IntegrationInformation unit test stubs """
+class TestInlineResponse2002IntegrationInformation(unittest.TestCase):
+ """ InlineResponse2002IntegrationInformation unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2001IntegrationInformation(self):
+ def testInlineResponse2002IntegrationInformation(self):
"""
- Test InlineResponse2001IntegrationInformation
+ Test InlineResponse2002IntegrationInformation
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2001_integration_information.InlineResponse2001IntegrationInformation()
+ #model = CyberSource.models.inline_response2002_integration_information.InlineResponse2002IntegrationInformation()
pass
diff --git a/test/test_inline_response2001_integration_information_tenant_configurations.py b/test/test_inline_response2002_integration_information_tenant_configurations.py
similarity index 61%
rename from test/test_inline_response2001_integration_information_tenant_configurations.py
rename to test/test_inline_response2002_integration_information_tenant_configurations.py
index bf561fa4..6cdcfdcb 100644
--- a/test/test_inline_response2001_integration_information_tenant_configurations.py
+++ b/test/test_inline_response2002_integration_information_tenant_configurations.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2001_integration_information_tenant_configurations import InlineResponse2001IntegrationInformationTenantConfigurations
+from CyberSource.models.inline_response2002_integration_information_tenant_configurations import InlineResponse2002IntegrationInformationTenantConfigurations
-class TestInlineResponse2001IntegrationInformationTenantConfigurations(unittest.TestCase):
- """ InlineResponse2001IntegrationInformationTenantConfigurations unit test stubs """
+class TestInlineResponse2002IntegrationInformationTenantConfigurations(unittest.TestCase):
+ """ InlineResponse2002IntegrationInformationTenantConfigurations unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2001IntegrationInformationTenantConfigurations(self):
+ def testInlineResponse2002IntegrationInformationTenantConfigurations(self):
"""
- Test InlineResponse2001IntegrationInformationTenantConfigurations
+ Test InlineResponse2002IntegrationInformationTenantConfigurations
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2001_integration_information_tenant_configurations.InlineResponse2001IntegrationInformationTenantConfigurations()
+ #model = CyberSource.models.inline_response2002_integration_information_tenant_configurations.InlineResponse2002IntegrationInformationTenantConfigurations()
pass
diff --git a/test/test_inline_response2003_links_report.py b/test/test_inline_response2003_links_report.py
deleted file mode 100644
index ba4d07c0..00000000
--- a/test/test_inline_response2003_links_report.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2003_links_report import InlineResponse2003LinksReport
-
-
-class TestInlineResponse2003LinksReport(unittest.TestCase):
- """ InlineResponse2003LinksReport unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse2003LinksReport(self):
- """
- Test InlineResponse2003LinksReport
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2003_links_report.InlineResponse2003LinksReport()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response2004_response_record.py b/test/test_inline_response2004_response_record.py
deleted file mode 100644
index 52264766..00000000
--- a/test/test_inline_response2004_response_record.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2004_response_record import InlineResponse2004ResponseRecord
-
-
-class TestInlineResponse2004ResponseRecord(unittest.TestCase):
- """ InlineResponse2004ResponseRecord unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse2004ResponseRecord(self):
- """
- Test InlineResponse2004ResponseRecord
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2004_response_record.InlineResponse2004ResponseRecord()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response2004_source_record.py b/test/test_inline_response2004_source_record.py
deleted file mode 100644
index 4f5dd42f..00000000
--- a/test/test_inline_response2004_source_record.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2004_source_record import InlineResponse2004SourceRecord
-
-
-class TestInlineResponse2004SourceRecord(unittest.TestCase):
- """ InlineResponse2004SourceRecord unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse2004SourceRecord(self):
- """
- Test InlineResponse2004SourceRecord
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2004_source_record.InlineResponse2004SourceRecord()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response2002_links.py b/test/test_inline_response2005.py
similarity index 65%
rename from test/test_inline_response2002_links.py
rename to test/test_inline_response2005.py
index f7d0d9c3..e7e477a9 100644
--- a/test/test_inline_response2002_links.py
+++ b/test/test_inline_response2005.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2002_links import InlineResponse2002Links
+from CyberSource.models.inline_response2005 import InlineResponse2005
-class TestInlineResponse2002Links(unittest.TestCase):
- """ InlineResponse2002Links unit test stubs """
+class TestInlineResponse2005(unittest.TestCase):
+ """ InlineResponse2005 unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2002Links(self):
+ def testInlineResponse2005(self):
"""
- Test InlineResponse2002Links
+ Test InlineResponse2005
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2002_links.InlineResponse2002Links()
+ #model = CyberSource.models.inline_response2005.InlineResponse2005()
pass
diff --git a/test/test_inline_response2005_embedded.py b/test/test_inline_response2005_embedded.py
new file mode 100644
index 00000000..d27047cb
--- /dev/null
+++ b/test/test_inline_response2005_embedded.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2005_embedded import InlineResponse2005Embedded
+
+
+class TestInlineResponse2005Embedded(unittest.TestCase):
+ """ InlineResponse2005Embedded unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2005Embedded(self):
+ """
+ Test InlineResponse2005Embedded
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2005_embedded.InlineResponse2005Embedded()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2005_embedded_batches.py b/test/test_inline_response2005_embedded_batches.py
new file mode 100644
index 00000000..e073ef18
--- /dev/null
+++ b/test/test_inline_response2005_embedded_batches.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2005_embedded_batches import InlineResponse2005EmbeddedBatches
+
+
+class TestInlineResponse2005EmbeddedBatches(unittest.TestCase):
+ """ InlineResponse2005EmbeddedBatches unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2005EmbeddedBatches(self):
+ """
+ Test InlineResponse2005EmbeddedBatches
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2005_embedded_batches.InlineResponse2005EmbeddedBatches()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2002_embedded_links.py b/test/test_inline_response2005_embedded_links.py
similarity index 61%
rename from test/test_inline_response2002_embedded_links.py
rename to test/test_inline_response2005_embedded_links.py
index 9af69703..85470c26 100644
--- a/test/test_inline_response2002_embedded_links.py
+++ b/test/test_inline_response2005_embedded_links.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2002_embedded_links import InlineResponse2002EmbeddedLinks
+from CyberSource.models.inline_response2005_embedded_links import InlineResponse2005EmbeddedLinks
-class TestInlineResponse2002EmbeddedLinks(unittest.TestCase):
- """ InlineResponse2002EmbeddedLinks unit test stubs """
+class TestInlineResponse2005EmbeddedLinks(unittest.TestCase):
+ """ InlineResponse2005EmbeddedLinks unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2002EmbeddedLinks(self):
+ def testInlineResponse2005EmbeddedLinks(self):
"""
- Test InlineResponse2002EmbeddedLinks
+ Test InlineResponse2005EmbeddedLinks
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2002_embedded_links.InlineResponse2002EmbeddedLinks()
+ #model = CyberSource.models.inline_response2005_embedded_links.InlineResponse2005EmbeddedLinks()
pass
diff --git a/test/test_inline_response200_embedded_reversal_links.py b/test/test_inline_response2005_embedded_links_reports.py
similarity index 59%
rename from test/test_inline_response200_embedded_reversal_links.py
rename to test/test_inline_response2005_embedded_links_reports.py
index b90e7433..b2f731a9 100644
--- a/test/test_inline_response200_embedded_reversal_links.py
+++ b/test/test_inline_response2005_embedded_links_reports.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response200_embedded_reversal_links import InlineResponse200EmbeddedReversalLinks
+from CyberSource.models.inline_response2005_embedded_links_reports import InlineResponse2005EmbeddedLinksReports
-class TestInlineResponse200EmbeddedReversalLinks(unittest.TestCase):
- """ InlineResponse200EmbeddedReversalLinks unit test stubs """
+class TestInlineResponse2005EmbeddedLinksReports(unittest.TestCase):
+ """ InlineResponse2005EmbeddedLinksReports unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse200EmbeddedReversalLinks(self):
+ def testInlineResponse2005EmbeddedLinksReports(self):
"""
- Test InlineResponse200EmbeddedReversalLinks
+ Test InlineResponse2005EmbeddedLinksReports
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response200_embedded_reversal_links.InlineResponse200EmbeddedReversalLinks()
+ #model = CyberSource.models.inline_response2005_embedded_links_reports.InlineResponse2005EmbeddedLinksReports()
pass
diff --git a/test/test_inline_response2002_embedded_totals.py b/test/test_inline_response2005_embedded_totals.py
similarity index 61%
rename from test/test_inline_response2002_embedded_totals.py
rename to test/test_inline_response2005_embedded_totals.py
index b53e5388..9bb05fe0 100644
--- a/test/test_inline_response2002_embedded_totals.py
+++ b/test/test_inline_response2005_embedded_totals.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2002_embedded_totals import InlineResponse2002EmbeddedTotals
+from CyberSource.models.inline_response2005_embedded_totals import InlineResponse2005EmbeddedTotals
-class TestInlineResponse2002EmbeddedTotals(unittest.TestCase):
- """ InlineResponse2002EmbeddedTotals unit test stubs """
+class TestInlineResponse2005EmbeddedTotals(unittest.TestCase):
+ """ InlineResponse2005EmbeddedTotals unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2002EmbeddedTotals(self):
+ def testInlineResponse2005EmbeddedTotals(self):
"""
- Test InlineResponse2002EmbeddedTotals
+ Test InlineResponse2005EmbeddedTotals
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2002_embedded_totals.InlineResponse2002EmbeddedTotals()
+ #model = CyberSource.models.inline_response2005_embedded_totals.InlineResponse2005EmbeddedTotals()
pass
diff --git a/test/test_inline_response2005_links.py b/test/test_inline_response2005_links.py
new file mode 100644
index 00000000..a5602db9
--- /dev/null
+++ b/test/test_inline_response2005_links.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2005_links import InlineResponse2005Links
+
+
+class TestInlineResponse2005Links(unittest.TestCase):
+ """ InlineResponse2005Links unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2005Links(self):
+ """
+ Test InlineResponse2005Links
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2005_links.InlineResponse2005Links()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2006.py b/test/test_inline_response2006.py
new file mode 100644
index 00000000..2275223f
--- /dev/null
+++ b/test/test_inline_response2006.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2006 import InlineResponse2006
+
+
+class TestInlineResponse2006(unittest.TestCase):
+ """ InlineResponse2006 unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2006(self):
+ """
+ Test InlineResponse2006
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2006.InlineResponse2006()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2003_billing.py b/test/test_inline_response2006_billing.py
similarity index 64%
rename from test/test_inline_response2003_billing.py
rename to test/test_inline_response2006_billing.py
index 2216c92a..d6e4b3f6 100644
--- a/test/test_inline_response2003_billing.py
+++ b/test/test_inline_response2006_billing.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2003_billing import InlineResponse2003Billing
+from CyberSource.models.inline_response2006_billing import InlineResponse2006Billing
-class TestInlineResponse2003Billing(unittest.TestCase):
- """ InlineResponse2003Billing unit test stubs """
+class TestInlineResponse2006Billing(unittest.TestCase):
+ """ InlineResponse2006Billing unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2003Billing(self):
+ def testInlineResponse2006Billing(self):
"""
- Test InlineResponse2003Billing
+ Test InlineResponse2006Billing
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2003_billing.InlineResponse2003Billing()
+ #model = CyberSource.models.inline_response2006_billing.InlineResponse2006Billing()
pass
diff --git a/test/test_inline_response2006_links.py b/test/test_inline_response2006_links.py
new file mode 100644
index 00000000..47c4b364
--- /dev/null
+++ b/test/test_inline_response2006_links.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2006_links import InlineResponse2006Links
+
+
+class TestInlineResponse2006Links(unittest.TestCase):
+ """ InlineResponse2006Links unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2006Links(self):
+ """
+ Test InlineResponse2006Links
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2006_links.InlineResponse2006Links()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2006_links_report.py b/test/test_inline_response2006_links_report.py
new file mode 100644
index 00000000..ff3ae52f
--- /dev/null
+++ b/test/test_inline_response2006_links_report.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2006_links_report import InlineResponse2006LinksReport
+
+
+class TestInlineResponse2006LinksReport(unittest.TestCase):
+ """ InlineResponse2006LinksReport unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2006LinksReport(self):
+ """
+ Test InlineResponse2006LinksReport
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2006_links_report.InlineResponse2006LinksReport()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2007.py b/test/test_inline_response2007.py
new file mode 100644
index 00000000..b11a3b6a
--- /dev/null
+++ b/test/test_inline_response2007.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2007 import InlineResponse2007
+
+
+class TestInlineResponse2007(unittest.TestCase):
+ """ InlineResponse2007 unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2007(self):
+ """
+ Test InlineResponse2007
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2007.InlineResponse2007()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2007_records.py b/test/test_inline_response2007_records.py
new file mode 100644
index 00000000..16150343
--- /dev/null
+++ b/test/test_inline_response2007_records.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2007_records import InlineResponse2007Records
+
+
+class TestInlineResponse2007Records(unittest.TestCase):
+ """ InlineResponse2007Records unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2007Records(self):
+ """
+ Test InlineResponse2007Records
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2007_records.InlineResponse2007Records()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2007_response_record.py b/test/test_inline_response2007_response_record.py
new file mode 100644
index 00000000..5ac7e35c
--- /dev/null
+++ b/test/test_inline_response2007_response_record.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2007_response_record import InlineResponse2007ResponseRecord
+
+
+class TestInlineResponse2007ResponseRecord(unittest.TestCase):
+ """ InlineResponse2007ResponseRecord unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2007ResponseRecord(self):
+ """
+ Test InlineResponse2007ResponseRecord
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2007_response_record.InlineResponse2007ResponseRecord()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response2004_response_record_additional_updates.py b/test/test_inline_response2007_response_record_additional_updates.py
similarity index 59%
rename from test/test_inline_response2004_response_record_additional_updates.py
rename to test/test_inline_response2007_response_record_additional_updates.py
index 7bc7c745..f11018fd 100644
--- a/test/test_inline_response2004_response_record_additional_updates.py
+++ b/test/test_inline_response2007_response_record_additional_updates.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2004_response_record_additional_updates import InlineResponse2004ResponseRecordAdditionalUpdates
+from CyberSource.models.inline_response2007_response_record_additional_updates import InlineResponse2007ResponseRecordAdditionalUpdates
-class TestInlineResponse2004ResponseRecordAdditionalUpdates(unittest.TestCase):
- """ InlineResponse2004ResponseRecordAdditionalUpdates unit test stubs """
+class TestInlineResponse2007ResponseRecordAdditionalUpdates(unittest.TestCase):
+ """ InlineResponse2007ResponseRecordAdditionalUpdates unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse2004ResponseRecordAdditionalUpdates(self):
+ def testInlineResponse2007ResponseRecordAdditionalUpdates(self):
"""
- Test InlineResponse2004ResponseRecordAdditionalUpdates
+ Test InlineResponse2007ResponseRecordAdditionalUpdates
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2004_response_record_additional_updates.InlineResponse2004ResponseRecordAdditionalUpdates()
+ #model = CyberSource.models.inline_response2007_response_record_additional_updates.InlineResponse2007ResponseRecordAdditionalUpdates()
pass
diff --git a/test/test_inline_response2007_source_record.py b/test/test_inline_response2007_source_record.py
new file mode 100644
index 00000000..b61ea443
--- /dev/null
+++ b/test/test_inline_response2007_source_record.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2007_source_record import InlineResponse2007SourceRecord
+
+
+class TestInlineResponse2007SourceRecord(unittest.TestCase):
+ """ InlineResponse2007SourceRecord unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2007SourceRecord(self):
+ """
+ Test InlineResponse2007SourceRecord
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2007_source_record.InlineResponse2007SourceRecord()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response200_content.py b/test/test_inline_response200_content.py
new file mode 100644
index 00000000..ccf5cd8b
--- /dev/null
+++ b/test/test_inline_response200_content.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response200_content import InlineResponse200Content
+
+
+class TestInlineResponse200Content(unittest.TestCase):
+ """ InlineResponse200Content unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse200Content(self):
+ """
+ Test InlineResponse200Content
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response200_content.InlineResponse200Content()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response200_embedded.py b/test/test_inline_response200_embedded.py
deleted file mode 100644
index 91c165fe..00000000
--- a/test/test_inline_response200_embedded.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response200_embedded import InlineResponse200Embedded
-
-
-class TestInlineResponse200Embedded(unittest.TestCase):
- """ InlineResponse200Embedded unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse200Embedded(self):
- """
- Test InlineResponse200Embedded
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response200_embedded.InlineResponse200Embedded()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response200_embedded_capture.py b/test/test_inline_response200_embedded_capture.py
deleted file mode 100644
index 369b0731..00000000
--- a/test/test_inline_response200_embedded_capture.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response200_embedded_capture import InlineResponse200EmbeddedCapture
-
-
-class TestInlineResponse200EmbeddedCapture(unittest.TestCase):
- """ InlineResponse200EmbeddedCapture unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse200EmbeddedCapture(self):
- """
- Test InlineResponse200EmbeddedCapture
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response200_embedded_capture.InlineResponse200EmbeddedCapture()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response200_embedded_reversal.py b/test/test_inline_response200_embedded_reversal.py
deleted file mode 100644
index dc61bf89..00000000
--- a/test/test_inline_response200_embedded_reversal.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response200_embedded_reversal import InlineResponse200EmbeddedReversal
-
-
-class TestInlineResponse200EmbeddedReversal(unittest.TestCase):
- """ InlineResponse200EmbeddedReversal unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse200EmbeddedReversal(self):
- """
- Test InlineResponse200EmbeddedReversal
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response200_embedded_reversal.InlineResponse200EmbeddedReversal()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response2014_payloads.py b/test/test_inline_response2014_payloads.py
deleted file mode 100644
index fa72051f..00000000
--- a/test/test_inline_response2014_payloads.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2014_payloads import InlineResponse2014Payloads
-
-
-class TestInlineResponse2014Payloads(unittest.TestCase):
- """ InlineResponse2014Payloads unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse2014Payloads(self):
- """
- Test InlineResponse2014Payloads
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2014_payloads.InlineResponse2014Payloads()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response2014_payloads_test_payload.py b/test/test_inline_response2014_payloads_test_payload.py
deleted file mode 100644
index 7b4b8366..00000000
--- a/test/test_inline_response2014_payloads_test_payload.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response2014_payloads_test_payload import InlineResponse2014PayloadsTestPayload
-
-
-class TestInlineResponse2014PayloadsTestPayload(unittest.TestCase):
- """ InlineResponse2014PayloadsTestPayload unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse2014PayloadsTestPayload(self):
- """
- Test InlineResponse2014PayloadsTestPayload
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response2014_payloads_test_payload.InlineResponse2014PayloadsTestPayload()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response2015_payloads.py b/test/test_inline_response2015_payloads.py
new file mode 100644
index 00000000..be42a2bb
--- /dev/null
+++ b/test/test_inline_response2015_payloads.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2015_payloads import InlineResponse2015Payloads
+
+
+class TestInlineResponse2015Payloads(unittest.TestCase):
+ """ InlineResponse2015Payloads unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2015Payloads(self):
+ """
+ Test InlineResponse2015Payloads
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2015_payloads.InlineResponse2015Payloads()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response200_embedded_capture_links.py b/test/test_inline_response2015_payloads_test_payload.py
similarity index 59%
rename from test/test_inline_response200_embedded_capture_links.py
rename to test/test_inline_response2015_payloads_test_payload.py
index 8851d2e0..6943cbfb 100644
--- a/test/test_inline_response200_embedded_capture_links.py
+++ b/test/test_inline_response2015_payloads_test_payload.py
@@ -18,11 +18,11 @@
import CyberSource
from CyberSource.rest import ApiException
-from CyberSource.models.inline_response200_embedded_capture_links import InlineResponse200EmbeddedCaptureLinks
+from CyberSource.models.inline_response2015_payloads_test_payload import InlineResponse2015PayloadsTestPayload
-class TestInlineResponse200EmbeddedCaptureLinks(unittest.TestCase):
- """ InlineResponse200EmbeddedCaptureLinks unit test stubs """
+class TestInlineResponse2015PayloadsTestPayload(unittest.TestCase):
+ """ InlineResponse2015PayloadsTestPayload unit test stubs """
def setUp(self):
pass
@@ -30,12 +30,12 @@ def setUp(self):
def tearDown(self):
pass
- def testInlineResponse200EmbeddedCaptureLinks(self):
+ def testInlineResponse2015PayloadsTestPayload(self):
"""
- Test InlineResponse200EmbeddedCaptureLinks
+ Test InlineResponse2015PayloadsTestPayload
"""
# FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response200_embedded_capture_links.InlineResponse200EmbeddedCaptureLinks()
+ #model = CyberSource.models.inline_response2015_payloads_test_payload.InlineResponse2015PayloadsTestPayload()
pass
diff --git a/test/test_inline_response2016.py b/test/test_inline_response2016.py
new file mode 100644
index 00000000..4aebddfd
--- /dev/null
+++ b/test/test_inline_response2016.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response2016 import InlineResponse2016
+
+
+class TestInlineResponse2016(unittest.TestCase):
+ """ InlineResponse2016 unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse2016(self):
+ """
+ Test InlineResponse2016
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response2016.InlineResponse2016()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response4006_details.py b/test/test_inline_response4006_details.py
deleted file mode 100644
index 43aa05e5..00000000
--- a/test/test_inline_response4006_details.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-
-"""
- 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
-
- Generated by: https://github.com/swagger-api/swagger-codegen.git
-"""
-
-from __future__ import absolute_import
-
-import os
-import sys
-import unittest
-
-import CyberSource
-from CyberSource.rest import ApiException
-from CyberSource.models.inline_response4006_details import InlineResponse4006Details
-
-
-class TestInlineResponse4006Details(unittest.TestCase):
- """ InlineResponse4006Details unit test stubs """
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testInlineResponse4006Details(self):
- """
- Test InlineResponse4006Details
- """
- # FIXME: construct object with mandatory attributes with example values
- #model = CyberSource.models.inline_response4006_details.InlineResponse4006Details()
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/test_inline_response4006_fields.py b/test/test_inline_response4006_fields.py
new file mode 100644
index 00000000..5a0d7307
--- /dev/null
+++ b/test/test_inline_response4006_fields.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response4006_fields import InlineResponse4006Fields
+
+
+class TestInlineResponse4006Fields(unittest.TestCase):
+ """ InlineResponse4006Fields unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse4006Fields(self):
+ """
+ Test InlineResponse4006Fields
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response4006_fields.InlineResponse4006Fields()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response4007.py b/test/test_inline_response4007.py
new file mode 100644
index 00000000..2c515c7b
--- /dev/null
+++ b/test/test_inline_response4007.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response4007 import InlineResponse4007
+
+
+class TestInlineResponse4007(unittest.TestCase):
+ """ InlineResponse4007 unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse4007(self):
+ """
+ Test InlineResponse4007
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response4007.InlineResponse4007()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response4007_details.py b/test/test_inline_response4007_details.py
new file mode 100644
index 00000000..2af722da
--- /dev/null
+++ b/test/test_inline_response4007_details.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response4007_details import InlineResponse4007Details
+
+
+class TestInlineResponse4007Details(unittest.TestCase):
+ """ InlineResponse4007Details unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse4007Details(self):
+ """
+ Test InlineResponse4007Details
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response4007_details.InlineResponse4007Details()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response4042.py b/test/test_inline_response4042.py
new file mode 100644
index 00000000..9e6d771e
--- /dev/null
+++ b/test/test_inline_response4042.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response4042 import InlineResponse4042
+
+
+class TestInlineResponse4042(unittest.TestCase):
+ """ InlineResponse4042 unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse4042(self):
+ """
+ Test InlineResponse4042
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response4042.InlineResponse4042()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_inline_response4042_details.py b/test/test_inline_response4042_details.py
new file mode 100644
index 00000000..80420701
--- /dev/null
+++ b/test/test_inline_response4042_details.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.inline_response4042_details import InlineResponse4042Details
+
+
+class TestInlineResponse4042Details(unittest.TestCase):
+ """ InlineResponse4042Details unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInlineResponse4042Details(self):
+ """
+ Test InlineResponse4042Details
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.inline_response4042_details.InlineResponse4042Details()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_invoicing_v2_invoices_cancel200_response.py b/test/test_invoicing_v2_invoices_cancel200_response.py
new file mode 100644
index 00000000..2f816c16
--- /dev/null
+++ b/test/test_invoicing_v2_invoices_cancel200_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.invoicing_v2_invoices_cancel200_response import InvoicingV2InvoicesCancel200Response
+
+
+class TestInvoicingV2InvoicesCancel200Response(unittest.TestCase):
+ """ InvoicingV2InvoicesCancel200Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInvoicingV2InvoicesCancel200Response(self):
+ """
+ Test InvoicingV2InvoicesCancel200Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.invoicing_v2_invoices_cancel200_response.InvoicingV2InvoicesCancel200Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_invoicing_v2_invoices_put200_response.py b/test/test_invoicing_v2_invoices_put200_response.py
new file mode 100644
index 00000000..d5480d7b
--- /dev/null
+++ b/test/test_invoicing_v2_invoices_put200_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.invoicing_v2_invoices_put200_response import InvoicingV2InvoicesPut200Response
+
+
+class TestInvoicingV2InvoicesPut200Response(unittest.TestCase):
+ """ InvoicingV2InvoicesPut200Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInvoicingV2InvoicesPut200Response(self):
+ """
+ Test InvoicingV2InvoicesPut200Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.invoicing_v2_invoices_put200_response.InvoicingV2InvoicesPut200Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_invoicing_v2_invoices_send200_response.py b/test/test_invoicing_v2_invoices_send200_response.py
new file mode 100644
index 00000000..e64ba339
--- /dev/null
+++ b/test/test_invoicing_v2_invoices_send200_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.invoicing_v2_invoices_send200_response import InvoicingV2InvoicesSend200Response
+
+
+class TestInvoicingV2InvoicesSend200Response(unittest.TestCase):
+ """ InvoicingV2InvoicesSend200Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInvoicingV2InvoicesSend200Response(self):
+ """
+ Test InvoicingV2InvoicesSend200Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.invoicing_v2_invoices_send200_response.InvoicingV2InvoicesSend200Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_invoicingv2invoices_client_reference_information.py b/test/test_invoicingv2invoices_client_reference_information.py
new file mode 100644
index 00000000..9a5a6c48
--- /dev/null
+++ b/test/test_invoicingv2invoices_client_reference_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.invoicingv2invoices_client_reference_information import Invoicingv2invoicesClientReferenceInformation
+
+
+class TestInvoicingv2invoicesClientReferenceInformation(unittest.TestCase):
+ """ Invoicingv2invoicesClientReferenceInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInvoicingv2invoicesClientReferenceInformation(self):
+ """
+ Test Invoicingv2invoicesClientReferenceInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.invoicingv2invoices_client_reference_information.Invoicingv2invoicesClientReferenceInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_invoicingv2invoices_client_reference_information_partner.py b/test/test_invoicingv2invoices_client_reference_information_partner.py
new file mode 100644
index 00000000..484eed3e
--- /dev/null
+++ b/test/test_invoicingv2invoices_client_reference_information_partner.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.invoicingv2invoices_client_reference_information_partner import Invoicingv2invoicesClientReferenceInformationPartner
+
+
+class TestInvoicingv2invoicesClientReferenceInformationPartner(unittest.TestCase):
+ """ Invoicingv2invoicesClientReferenceInformationPartner unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInvoicingv2invoicesClientReferenceInformationPartner(self):
+ """
+ Test Invoicingv2invoicesClientReferenceInformationPartner
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.invoicingv2invoices_client_reference_information_partner.Invoicingv2invoicesClientReferenceInformationPartner()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_invoicingv2invoices_processing_information.py b/test/test_invoicingv2invoices_processing_information.py
new file mode 100644
index 00000000..54ba67aa
--- /dev/null
+++ b/test/test_invoicingv2invoices_processing_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.invoicingv2invoices_processing_information import Invoicingv2invoicesProcessingInformation
+
+
+class TestInvoicingv2invoicesProcessingInformation(unittest.TestCase):
+ """ Invoicingv2invoicesProcessingInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testInvoicingv2invoicesProcessingInformation(self):
+ """
+ Test Invoicingv2invoicesProcessingInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.invoicingv2invoices_processing_information.Invoicingv2invoicesProcessingInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinks_order_information.py b/test/test_iplv2paymentlinks_order_information.py
new file mode 100644
index 00000000..37d678ac
--- /dev/null
+++ b/test/test_iplv2paymentlinks_order_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinks_order_information import Iplv2paymentlinksOrderInformation
+
+
+class TestIplv2paymentlinksOrderInformation(unittest.TestCase):
+ """ Iplv2paymentlinksOrderInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksOrderInformation(self):
+ """
+ Test Iplv2paymentlinksOrderInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinks_order_information.Iplv2paymentlinksOrderInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinks_order_information_amount_details.py b/test/test_iplv2paymentlinks_order_information_amount_details.py
new file mode 100644
index 00000000..77929adb
--- /dev/null
+++ b/test/test_iplv2paymentlinks_order_information_amount_details.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinks_order_information_amount_details import Iplv2paymentlinksOrderInformationAmountDetails
+
+
+class TestIplv2paymentlinksOrderInformationAmountDetails(unittest.TestCase):
+ """ Iplv2paymentlinksOrderInformationAmountDetails unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksOrderInformationAmountDetails(self):
+ """
+ Test Iplv2paymentlinksOrderInformationAmountDetails
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinks_order_information_amount_details.Iplv2paymentlinksOrderInformationAmountDetails()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinks_order_information_line_items.py b/test/test_iplv2paymentlinks_order_information_line_items.py
new file mode 100644
index 00000000..324454c7
--- /dev/null
+++ b/test/test_iplv2paymentlinks_order_information_line_items.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinks_order_information_line_items import Iplv2paymentlinksOrderInformationLineItems
+
+
+class TestIplv2paymentlinksOrderInformationLineItems(unittest.TestCase):
+ """ Iplv2paymentlinksOrderInformationLineItems unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksOrderInformationLineItems(self):
+ """
+ Test Iplv2paymentlinksOrderInformationLineItems
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinks_order_information_line_items.Iplv2paymentlinksOrderInformationLineItems()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinks_processing_information.py b/test/test_iplv2paymentlinks_processing_information.py
new file mode 100644
index 00000000..dc10a923
--- /dev/null
+++ b/test/test_iplv2paymentlinks_processing_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinks_processing_information import Iplv2paymentlinksProcessingInformation
+
+
+class TestIplv2paymentlinksProcessingInformation(unittest.TestCase):
+ """ Iplv2paymentlinksProcessingInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksProcessingInformation(self):
+ """
+ Test Iplv2paymentlinksProcessingInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinks_processing_information.Iplv2paymentlinksProcessingInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinks_purchase_information.py b/test/test_iplv2paymentlinks_purchase_information.py
new file mode 100644
index 00000000..4a80c404
--- /dev/null
+++ b/test/test_iplv2paymentlinks_purchase_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinks_purchase_information import Iplv2paymentlinksPurchaseInformation
+
+
+class TestIplv2paymentlinksPurchaseInformation(unittest.TestCase):
+ """ Iplv2paymentlinksPurchaseInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksPurchaseInformation(self):
+ """
+ Test Iplv2paymentlinksPurchaseInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinks_purchase_information.Iplv2paymentlinksPurchaseInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinksid_order_information.py b/test/test_iplv2paymentlinksid_order_information.py
new file mode 100644
index 00000000..d550f3b1
--- /dev/null
+++ b/test/test_iplv2paymentlinksid_order_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinksid_order_information import Iplv2paymentlinksidOrderInformation
+
+
+class TestIplv2paymentlinksidOrderInformation(unittest.TestCase):
+ """ Iplv2paymentlinksidOrderInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksidOrderInformation(self):
+ """
+ Test Iplv2paymentlinksidOrderInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinksid_order_information.Iplv2paymentlinksidOrderInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinksid_processing_information.py b/test/test_iplv2paymentlinksid_processing_information.py
new file mode 100644
index 00000000..856d94ae
--- /dev/null
+++ b/test/test_iplv2paymentlinksid_processing_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinksid_processing_information import Iplv2paymentlinksidProcessingInformation
+
+
+class TestIplv2paymentlinksidProcessingInformation(unittest.TestCase):
+ """ Iplv2paymentlinksidProcessingInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksidProcessingInformation(self):
+ """
+ Test Iplv2paymentlinksidProcessingInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinksid_processing_information.Iplv2paymentlinksidProcessingInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_iplv2paymentlinksid_purchase_information.py b/test/test_iplv2paymentlinksid_purchase_information.py
new file mode 100644
index 00000000..b74e7508
--- /dev/null
+++ b/test/test_iplv2paymentlinksid_purchase_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.iplv2paymentlinksid_purchase_information import Iplv2paymentlinksidPurchaseInformation
+
+
+class TestIplv2paymentlinksidPurchaseInformation(unittest.TestCase):
+ """ Iplv2paymentlinksidPurchaseInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testIplv2paymentlinksidPurchaseInformation(self):
+ """
+ Test Iplv2paymentlinksidPurchaseInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.iplv2paymentlinksid_purchase_information.Iplv2paymentlinksidPurchaseInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_manage_webhooks_api.py b/test/test_manage_webhooks_api.py
index 9ced0200..81127e5b 100644
--- a/test/test_manage_webhooks_api.py
+++ b/test/test_manage_webhooks_api.py
@@ -30,6 +30,30 @@ def setUp(self):
def tearDown(self):
pass
+ def test_delete_webhook_subscription(self):
+ """
+ Test case for delete_webhook_subscription
+
+ Delete a Webhook Subscription
+ """
+ pass
+
+ def test_get_webhook_subscription_by_id(self):
+ """
+ Test case for get_webhook_subscription_by_id
+
+ Get Details On a Single Webhook
+ """
+ pass
+
+ def test_get_webhook_subscriptions_by_org(self):
+ """
+ Test case for get_webhook_subscriptions_by_org
+
+ Get Details On All Created Webhooks
+ """
+ pass
+
def test_notification_subscriptions_v1_webhooks_webhook_id_post(self):
"""
Test case for notification_subscriptions_v1_webhooks_webhook_id_post
@@ -38,6 +62,22 @@ def test_notification_subscriptions_v1_webhooks_webhook_id_post(self):
"""
pass
+ def test_notification_subscriptions_v2_webhooks_webhook_id_patch(self):
+ """
+ Test case for notification_subscriptions_v2_webhooks_webhook_id_patch
+
+ Update a Webhook Subscription
+ """
+ pass
+
+ def test_notification_subscriptions_v2_webhooks_webhook_id_status_put(self):
+ """
+ Test case for notification_subscriptions_v2_webhooks_webhook_id_status_put
+
+ Update a Webhook Status
+ """
+ pass
+
def test_save_asym_egress_key(self):
"""
Test case for save_asym_egress_key
diff --git a/test/test_notificationsubscriptionsv2productsorganization_id_event_types.py b/test/test_notificationsubscriptionsv2productsorganization_id_event_types.py
new file mode 100644
index 00000000..85ca5038
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2productsorganization_id_event_types.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2productsorganization_id_event_types import Notificationsubscriptionsv2productsorganizationIdEventTypes
+
+
+class TestNotificationsubscriptionsv2productsorganizationIdEventTypes(unittest.TestCase):
+ """ Notificationsubscriptionsv2productsorganizationIdEventTypes unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2productsorganizationIdEventTypes(self):
+ """
+ Test Notificationsubscriptionsv2productsorganizationIdEventTypes
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2productsorganization_id_event_types.Notificationsubscriptionsv2productsorganizationIdEventTypes()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_products.py b/test/test_notificationsubscriptionsv2webhooks_products.py
new file mode 100644
index 00000000..7cecdba5
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_products.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_products import Notificationsubscriptionsv2webhooksProducts
+
+
+class TestNotificationsubscriptionsv2webhooksProducts(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksProducts unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksProducts(self):
+ """
+ Test Notificationsubscriptionsv2webhooksProducts
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_products.Notificationsubscriptionsv2webhooksProducts()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_products1.py b/test/test_notificationsubscriptionsv2webhooks_products1.py
new file mode 100644
index 00000000..27de0712
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_products1.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_products1 import Notificationsubscriptionsv2webhooksProducts1
+
+
+class TestNotificationsubscriptionsv2webhooksProducts1(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksProducts1 unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksProducts1(self):
+ """
+ Test Notificationsubscriptionsv2webhooksProducts1
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_products1.Notificationsubscriptionsv2webhooksProducts1()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_retry_policy.py b/test/test_notificationsubscriptionsv2webhooks_retry_policy.py
new file mode 100644
index 00000000..be193051
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_retry_policy.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_retry_policy import Notificationsubscriptionsv2webhooksRetryPolicy
+
+
+class TestNotificationsubscriptionsv2webhooksRetryPolicy(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksRetryPolicy unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksRetryPolicy(self):
+ """
+ Test Notificationsubscriptionsv2webhooksRetryPolicy
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_retry_policy.Notificationsubscriptionsv2webhooksRetryPolicy()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_security_policy.py b/test/test_notificationsubscriptionsv2webhooks_security_policy.py
new file mode 100644
index 00000000..18d6554a
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_security_policy.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_security_policy import Notificationsubscriptionsv2webhooksSecurityPolicy
+
+
+class TestNotificationsubscriptionsv2webhooksSecurityPolicy(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksSecurityPolicy unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksSecurityPolicy(self):
+ """
+ Test Notificationsubscriptionsv2webhooksSecurityPolicy
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_security_policy.Notificationsubscriptionsv2webhooksSecurityPolicy()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_security_policy1.py b/test/test_notificationsubscriptionsv2webhooks_security_policy1.py
new file mode 100644
index 00000000..e12c6496
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_security_policy1.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_security_policy1 import Notificationsubscriptionsv2webhooksSecurityPolicy1
+
+
+class TestNotificationsubscriptionsv2webhooksSecurityPolicy1(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksSecurityPolicy1 unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksSecurityPolicy1(self):
+ """
+ Test Notificationsubscriptionsv2webhooksSecurityPolicy1
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_security_policy1.Notificationsubscriptionsv2webhooksSecurityPolicy1()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_security_policy1_config.py b/test/test_notificationsubscriptionsv2webhooks_security_policy1_config.py
new file mode 100644
index 00000000..c4e8502c
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_security_policy1_config.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_security_policy1_config import Notificationsubscriptionsv2webhooksSecurityPolicy1Config
+
+
+class TestNotificationsubscriptionsv2webhooksSecurityPolicy1Config(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksSecurityPolicy1Config unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksSecurityPolicy1Config(self):
+ """
+ Test Notificationsubscriptionsv2webhooksSecurityPolicy1Config
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_security_policy1_config.Notificationsubscriptionsv2webhooksSecurityPolicy1Config()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_security_policy1_config_additional_config.py b/test/test_notificationsubscriptionsv2webhooks_security_policy1_config_additional_config.py
new file mode 100644
index 00000000..a72cbb5a
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_security_policy1_config_additional_config.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_security_policy1_config_additional_config import Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig
+
+
+class TestNotificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig(self):
+ """
+ Test Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_security_policy1_config_additional_config.Notificationsubscriptionsv2webhooksSecurityPolicy1ConfigAdditionalConfig()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_notificationsubscriptionsv2webhooks_security_policy_config.py b/test/test_notificationsubscriptionsv2webhooks_security_policy_config.py
new file mode 100644
index 00000000..a897082d
--- /dev/null
+++ b/test/test_notificationsubscriptionsv2webhooks_security_policy_config.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.notificationsubscriptionsv2webhooks_security_policy_config import Notificationsubscriptionsv2webhooksSecurityPolicyConfig
+
+
+class TestNotificationsubscriptionsv2webhooksSecurityPolicyConfig(unittest.TestCase):
+ """ Notificationsubscriptionsv2webhooksSecurityPolicyConfig unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testNotificationsubscriptionsv2webhooksSecurityPolicyConfig(self):
+ """
+ Test Notificationsubscriptionsv2webhooksSecurityPolicyConfig
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.notificationsubscriptionsv2webhooks_security_policy_config.Notificationsubscriptionsv2webhooksSecurityPolicyConfig()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_payment_links_api.py b/test/test_payment_links_api.py
new file mode 100644
index 00000000..02578885
--- /dev/null
+++ b/test/test_payment_links_api.py
@@ -0,0 +1,67 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.apis.payment_links_api import PaymentLinksApi
+
+
+class TestPaymentLinksApi(unittest.TestCase):
+ """ PaymentLinksApi unit test stubs """
+
+ def setUp(self):
+ self.api = CyberSource.apis.payment_links_api.PaymentLinksApi()
+
+ def tearDown(self):
+ pass
+
+ def test_create_payment_link(self):
+ """
+ Test case for create_payment_link
+
+ Create a Payment Link
+ """
+ pass
+
+ def test_get_all_payment_links(self):
+ """
+ Test case for get_all_payment_links
+
+ Get a List of Payment Links
+ """
+ pass
+
+ def test_get_payment_link(self):
+ """
+ Test case for get_payment_link
+
+ Get Payment Link Details
+ """
+ pass
+
+ def test_update_payment_link(self):
+ """
+ Test case for update_payment_link
+
+ Update a Payment Link
+ """
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get200_response.py b/test/test_pbl_payment_links_all_get200_response.py
new file mode 100644
index 00000000..571cb4ef
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get200_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get200_response import PblPaymentLinksAllGet200Response
+
+
+class TestPblPaymentLinksAllGet200Response(unittest.TestCase):
+ """ PblPaymentLinksAllGet200Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet200Response(self):
+ """
+ Test PblPaymentLinksAllGet200Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get200_response.PblPaymentLinksAllGet200Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get200_response_order_information.py b/test/test_pbl_payment_links_all_get200_response_order_information.py
new file mode 100644
index 00000000..33ee7969
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get200_response_order_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get200_response_order_information import PblPaymentLinksAllGet200ResponseOrderInformation
+
+
+class TestPblPaymentLinksAllGet200ResponseOrderInformation(unittest.TestCase):
+ """ PblPaymentLinksAllGet200ResponseOrderInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet200ResponseOrderInformation(self):
+ """
+ Test PblPaymentLinksAllGet200ResponseOrderInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get200_response_order_information.PblPaymentLinksAllGet200ResponseOrderInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get200_response_order_information_amount_details.py b/test/test_pbl_payment_links_all_get200_response_order_information_amount_details.py
new file mode 100644
index 00000000..8d471270
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get200_response_order_information_amount_details.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get200_response_order_information_amount_details import PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+
+
+class TestPblPaymentLinksAllGet200ResponseOrderInformationAmountDetails(unittest.TestCase):
+ """ PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet200ResponseOrderInformationAmountDetails(self):
+ """
+ Test PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get200_response_order_information_amount_details.PblPaymentLinksAllGet200ResponseOrderInformationAmountDetails()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get200_response_order_information_line_items.py b/test/test_pbl_payment_links_all_get200_response_order_information_line_items.py
new file mode 100644
index 00000000..919a4e5a
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get200_response_order_information_line_items.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get200_response_order_information_line_items import PblPaymentLinksAllGet200ResponseOrderInformationLineItems
+
+
+class TestPblPaymentLinksAllGet200ResponseOrderInformationLineItems(unittest.TestCase):
+ """ PblPaymentLinksAllGet200ResponseOrderInformationLineItems unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet200ResponseOrderInformationLineItems(self):
+ """
+ Test PblPaymentLinksAllGet200ResponseOrderInformationLineItems
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get200_response_order_information_line_items.PblPaymentLinksAllGet200ResponseOrderInformationLineItems()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get200_response_processing_information.py b/test/test_pbl_payment_links_all_get200_response_processing_information.py
new file mode 100644
index 00000000..afe96c61
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get200_response_processing_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get200_response_processing_information import PblPaymentLinksAllGet200ResponseProcessingInformation
+
+
+class TestPblPaymentLinksAllGet200ResponseProcessingInformation(unittest.TestCase):
+ """ PblPaymentLinksAllGet200ResponseProcessingInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet200ResponseProcessingInformation(self):
+ """
+ Test PblPaymentLinksAllGet200ResponseProcessingInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get200_response_processing_information.PblPaymentLinksAllGet200ResponseProcessingInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get200_response_purchase_information.py b/test/test_pbl_payment_links_all_get200_response_purchase_information.py
new file mode 100644
index 00000000..918975f2
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get200_response_purchase_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get200_response_purchase_information import PblPaymentLinksAllGet200ResponsePurchaseInformation
+
+
+class TestPblPaymentLinksAllGet200ResponsePurchaseInformation(unittest.TestCase):
+ """ PblPaymentLinksAllGet200ResponsePurchaseInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet200ResponsePurchaseInformation(self):
+ """
+ Test PblPaymentLinksAllGet200ResponsePurchaseInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get200_response_purchase_information.PblPaymentLinksAllGet200ResponsePurchaseInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get200_response_sdk_links.py b/test/test_pbl_payment_links_all_get200_response_sdk_links.py
new file mode 100644
index 00000000..1cbafcbb
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get200_response_sdk_links.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get200_response_sdk_links import PblPaymentLinksAllGet200ResponseSdkLinks
+
+
+class TestPblPaymentLinksAllGet200ResponseSdkLinks(unittest.TestCase):
+ """ PblPaymentLinksAllGet200ResponseSdkLinks unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet200ResponseSdkLinks(self):
+ """
+ Test PblPaymentLinksAllGet200ResponseSdkLinks
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get200_response_sdk_links.PblPaymentLinksAllGet200ResponseSdkLinks()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get400_response.py b/test/test_pbl_payment_links_all_get400_response.py
new file mode 100644
index 00000000..7a080614
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get400_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get400_response import PblPaymentLinksAllGet400Response
+
+
+class TestPblPaymentLinksAllGet400Response(unittest.TestCase):
+ """ PblPaymentLinksAllGet400Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet400Response(self):
+ """
+ Test PblPaymentLinksAllGet400Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get400_response.PblPaymentLinksAllGet400Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_all_get404_response.py b/test/test_pbl_payment_links_all_get404_response.py
new file mode 100644
index 00000000..ae090f5c
--- /dev/null
+++ b/test/test_pbl_payment_links_all_get404_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_all_get404_response import PblPaymentLinksAllGet404Response
+
+
+class TestPblPaymentLinksAllGet404Response(unittest.TestCase):
+ """ PblPaymentLinksAllGet404Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksAllGet404Response(self):
+ """
+ Test PblPaymentLinksAllGet404Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_all_get404_response.PblPaymentLinksAllGet404Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_get200_response.py b/test/test_pbl_payment_links_get200_response.py
new file mode 100644
index 00000000..8409561b
--- /dev/null
+++ b/test/test_pbl_payment_links_get200_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_get200_response import PblPaymentLinksGet200Response
+
+
+class TestPblPaymentLinksGet200Response(unittest.TestCase):
+ """ PblPaymentLinksGet200Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksGet200Response(self):
+ """
+ Test PblPaymentLinksGet200Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_get200_response.PblPaymentLinksGet200Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_post201_response.py b/test/test_pbl_payment_links_post201_response.py
new file mode 100644
index 00000000..0e084073
--- /dev/null
+++ b/test/test_pbl_payment_links_post201_response.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_post201_response import PblPaymentLinksPost201Response
+
+
+class TestPblPaymentLinksPost201Response(unittest.TestCase):
+ """ PblPaymentLinksPost201Response unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksPost201Response(self):
+ """
+ Test PblPaymentLinksPost201Response
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_post201_response.PblPaymentLinksPost201Response()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_post201_response_links.py b/test/test_pbl_payment_links_post201_response_links.py
new file mode 100644
index 00000000..08e175e1
--- /dev/null
+++ b/test/test_pbl_payment_links_post201_response_links.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_post201_response_links import PblPaymentLinksPost201ResponseLinks
+
+
+class TestPblPaymentLinksPost201ResponseLinks(unittest.TestCase):
+ """ PblPaymentLinksPost201ResponseLinks unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksPost201ResponseLinks(self):
+ """
+ Test PblPaymentLinksPost201ResponseLinks
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_post201_response_links.PblPaymentLinksPost201ResponseLinks()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_post201_response_order_information.py b/test/test_pbl_payment_links_post201_response_order_information.py
new file mode 100644
index 00000000..cb82490a
--- /dev/null
+++ b/test/test_pbl_payment_links_post201_response_order_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_post201_response_order_information import PblPaymentLinksPost201ResponseOrderInformation
+
+
+class TestPblPaymentLinksPost201ResponseOrderInformation(unittest.TestCase):
+ """ PblPaymentLinksPost201ResponseOrderInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksPost201ResponseOrderInformation(self):
+ """
+ Test PblPaymentLinksPost201ResponseOrderInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_post201_response_order_information.PblPaymentLinksPost201ResponseOrderInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_pbl_payment_links_post201_response_purchase_information.py b/test/test_pbl_payment_links_post201_response_purchase_information.py
new file mode 100644
index 00000000..44252390
--- /dev/null
+++ b/test/test_pbl_payment_links_post201_response_purchase_information.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.pbl_payment_links_post201_response_purchase_information import PblPaymentLinksPost201ResponsePurchaseInformation
+
+
+class TestPblPaymentLinksPost201ResponsePurchaseInformation(unittest.TestCase):
+ """ PblPaymentLinksPost201ResponsePurchaseInformation unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testPblPaymentLinksPost201ResponsePurchaseInformation(self):
+ """
+ Test PblPaymentLinksPost201ResponsePurchaseInformation
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.pbl_payment_links_post201_response_purchase_information.PblPaymentLinksPost201ResponsePurchaseInformation()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_subscriptions_follow_ons_api.py b/test/test_subscriptions_follow_ons_api.py
new file mode 100644
index 00000000..43cc0add
--- /dev/null
+++ b/test/test_subscriptions_follow_ons_api.py
@@ -0,0 +1,51 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.apis.subscriptions_follow_ons_api import SubscriptionsFollowOnsApi
+
+
+class TestSubscriptionsFollowOnsApi(unittest.TestCase):
+ """ SubscriptionsFollowOnsApi unit test stubs """
+
+ def setUp(self):
+ self.api = CyberSource.apis.subscriptions_follow_ons_api.SubscriptionsFollowOnsApi()
+
+ def tearDown(self):
+ pass
+
+ def test_create_follow_on_subscription(self):
+ """
+ Test case for create_follow_on_subscription
+
+ Create a Follow-On Subscription
+ """
+ pass
+
+ def test_get_follow_on_subscription(self):
+ """
+ Test case for get_follow_on_subscription
+
+ Get a Follow-On Subscription
+ """
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_token_api.py b/test/test_token_api.py
index 3e786a0c..f199b6b3 100644
--- a/test/test_token_api.py
+++ b/test/test_token_api.py
@@ -30,6 +30,14 @@ def setUp(self):
def tearDown(self):
pass
+ def test_get_card_art_asset(self):
+ """
+ Test case for get_card_art_asset
+
+ Retrieve Card Art
+ """
+ pass
+
def test_post_token_payment_credentials(self):
"""
Test case for post_token_payment_credentials
diff --git a/test/test_tokenized_card_api.py b/test/test_tokenized_card_api.py
new file mode 100644
index 00000000..c48cbe24
--- /dev/null
+++ b/test/test_tokenized_card_api.py
@@ -0,0 +1,59 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.apis.tokenized_card_api import TokenizedCardApi
+
+
+class TestTokenizedCardApi(unittest.TestCase):
+ """ TokenizedCardApi unit test stubs """
+
+ def setUp(self):
+ self.api = CyberSource.apis.tokenized_card_api.TokenizedCardApi()
+
+ def tearDown(self):
+ pass
+
+ def test_delete_tokenized_card(self):
+ """
+ Test case for delete_tokenized_card
+
+ Delete a Tokenized Card
+ """
+ pass
+
+ def test_get_tokenized_card(self):
+ """
+ Test case for get_tokenized_card
+
+ Retrieve a Tokenized Card
+ """
+ pass
+
+ def test_post_tokenized_card(self):
+ """
+ Test case for post_tokenized_card
+
+ Create a Tokenized Card
+ """
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_tokenizedcard_request.py b/test/test_tokenizedcard_request.py
new file mode 100644
index 00000000..9b954b2b
--- /dev/null
+++ b/test/test_tokenizedcard_request.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.tokenizedcard_request import TokenizedcardRequest
+
+
+class TestTokenizedcardRequest(unittest.TestCase):
+ """ TokenizedcardRequest unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testTokenizedcardRequest(self):
+ """
+ Test TokenizedcardRequest
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.tokenizedcard_request.TokenizedcardRequest()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_update_payment_link_request.py b/test/test_update_payment_link_request.py
new file mode 100644
index 00000000..1ea85975
--- /dev/null
+++ b/test/test_update_payment_link_request.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.update_payment_link_request import UpdatePaymentLinkRequest
+
+
+class TestUpdatePaymentLinkRequest(unittest.TestCase):
+ """ UpdatePaymentLinkRequest unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testUpdatePaymentLinkRequest(self):
+ """
+ Test UpdatePaymentLinkRequest
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.update_payment_link_request.UpdatePaymentLinkRequest()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_update_status.py b/test/test_update_status.py
new file mode 100644
index 00000000..58e941fc
--- /dev/null
+++ b/test/test_update_status.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.update_status import UpdateStatus
+
+
+class TestUpdateStatus(unittest.TestCase):
+ """ UpdateStatus unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testUpdateStatus(self):
+ """
+ Test UpdateStatus
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.update_status.UpdateStatus()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_update_webhook.py b/test/test_update_webhook.py
new file mode 100644
index 00000000..351b6f78
--- /dev/null
+++ b/test/test_update_webhook.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.update_webhook import UpdateWebhook
+
+
+class TestUpdateWebhook(unittest.TestCase):
+ """ UpdateWebhook unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testUpdateWebhook(self):
+ """
+ Test UpdateWebhook
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.update_webhook.UpdateWebhook()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_upv1capturecontexts_complete_mandate.py b/test/test_upv1capturecontexts_complete_mandate.py
new file mode 100644
index 00000000..121e545e
--- /dev/null
+++ b/test/test_upv1capturecontexts_complete_mandate.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+
+"""
+ 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
+
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
+"""
+
+from __future__ import absolute_import
+
+import os
+import sys
+import unittest
+
+import CyberSource
+from CyberSource.rest import ApiException
+from CyberSource.models.upv1capturecontexts_complete_mandate import Upv1capturecontextsCompleteMandate
+
+
+class TestUpv1capturecontextsCompleteMandate(unittest.TestCase):
+ """ Upv1capturecontextsCompleteMandate unit test stubs """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testUpv1capturecontextsCompleteMandate(self):
+ """
+ Test Upv1capturecontextsCompleteMandate
+ """
+ # FIXME: construct object with mandatory attributes with example values
+ #model = CyberSource.models.upv1capturecontexts_complete_mandate.Upv1capturecontextsCompleteMandate()
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()